Class NativeArrayDataLayer<TItem>
Base class for all data layers that are based on NativeArray{T}.
Inherited Members
Namespace: Fwt.Core.DataLayers
Assembly: fwt.core.dll
Syntax
public abstract class NativeArrayDataLayer<TItem> : DataLayer, IDisposable, ICommitChanges, IListDataLayer<TItem> where TItem : unmanaged
Type Parameters
| Name | Description |
|---|---|
| TItem | type of data stored in the layer |
Fields
DefaultValue
When the data layer is resized, new cells will be filled with this value.
Declaration
public TItem DefaultValue
Field Value
| Type | Description |
|---|---|
| TItem |
_data
Declaration
protected NativeArray<TItem> _data
Field Value
| Type | Description |
|---|---|
| NativeArray<TItem> |
Properties
Data
Container for data in the layer.
Declaration
public NativeArray<TItem> Data { get; }
Property Value
| Type | Description |
|---|---|
| NativeArray<TItem> |
Length
Number of items in the layer.
Declaration
public override int Length { get; }
Property Value
| Type | Description |
|---|---|
| int |
Overrides
Methods
Deserialize(BinaryReader)
Deserializes data from the specified binary reader into the current instance.
Declaration
public virtual bool Deserialize(BinaryReader reader)
Parameters
| Type | Name | Description |
|---|---|---|
| BinaryReader | reader | The binary reader from which to read the serialized data. Cannot be null. |
Returns
| Type | Description |
|---|---|
| bool | true if the data was successfully deserialized; otherwise, false. |
Dispose()
Disposes the data layer, calls DisposeDataItems() DisposeAllItems()
Declaration
public override void Dispose()
Overrides
DisposeAllItems()
Disposes all items in the layer by calling DisposeDataItem for each DisposeDataItem(TItem)
Declaration
public override void DisposeAllItems()
Overrides
DisposeDataItem(TItem)
Disposes the item if it is IDisposable.
Declaration
protected virtual void DisposeDataItem(TItem item)
Parameters
| Type | Name | Description |
|---|---|---|
| TItem | item |
DisposeExcessItems(int)
Disposes items at cells with indexes greater than layerSize.
Declaration
public virtual void DisposeExcessItems(int layerSize)
Parameters
| Type | Name | Description |
|---|---|---|
| int | layerSize |
GetData(int)
Returns the data at the specified index.
Declaration
public virtual TItem GetData(int index)
Parameters
| Type | Name | Description |
|---|---|---|
| int | index | cell index to get data from |
Returns
| Type | Description |
|---|---|
| TItem |
Init(int, Allocator)
Initializes/Reinitializes the data layer with the specified size.
Declaration
public virtual void Init(int layerSize, Allocator allocator = Allocator.Persistent)
Parameters
| Type | Name | Description |
|---|---|---|
| int | layerSize | amount of cells in the layer |
| Allocator | allocator | allocator to create internal collections with |
Serialize(BinaryWriter)
Serializes the internal data to the specified binary writer.
Declaration
public virtual bool Serialize(BinaryWriter writer)
Parameters
| Type | Name | Description |
|---|---|---|
| BinaryWriter | writer | The binary writer to which the data will be serialized. Cannot be null. |
Returns
| Type | Description |
|---|---|
| bool | true if the data was successfully serialized; otherwise, false. |
Remarks
Serialization will not occur if the writer is null or if the internal data is not initialized.
SetData(int, TItem)
Sets the data at the specified index.
Declaration
public virtual bool SetData(int index, TItem data)
Parameters
| Type | Name | Description |
|---|---|---|
| int | index | cell index to put data into |
| TItem | data | data to put into the cell at provided index |
Returns
| Type | Description |
|---|---|
| bool | true if data was set |
TryGetData(int, out TItem)
Tries to get the data at the specified index.
Declaration
public virtual bool TryGetData(int index, out TItem data)
Parameters
| Type | Name | Description |
|---|---|---|
| int | index | cell index to get data from |
| TItem | data | data found in a cell at provided index. Of nothing found - default |
Returns
| Type | Description |
|---|---|
| bool | true if data was found, otherwise - false |
TrySetData(int, TItem)
Tries to set the data at the specified index.
Declaration
public virtual bool TrySetData(int index, TItem data)
Parameters
| Type | Name | Description |
|---|---|---|
| int | index | cell index to put data into |
| TItem | data | data to put into the cell at provided index |
Returns
| Type | Description |
|---|---|
| bool | true if data was set |