Class Chunk
Repräsentiert einen Karten-Abschnitt innerhalb des Planeten.
Vererbung
Implementiert
Namespace: OctoAwesome
Assembly: OctoAwesome.dll
Syntax
public sealed class Chunk : object, IChunk
Konstructoren
Chunk(Index3, Int32)
Erzeugt eine neue Instanz der Klasse Chunk
Deklaration
public Chunk(Index3 pos, int planet)
Parameter
Typ | Name | Beschreibung |
---|---|---|
Index3 | pos | Position des Chunks |
System.Int32 | planet | Index des Planeten |
Felder
CHUNKSIZE
Grösse eines Chunk als Index3
Deklaration
public static readonly Index3 CHUNKSIZE
Wert des Feldes
Typ | Beschreibung |
---|---|
Index3 |
CHUNKSIZE_X
Größe eines Chunks in Blocks in X-Richtung.
Deklaration
public const int CHUNKSIZE_X = null
Wert des Feldes
Typ | Beschreibung |
---|---|
System.Int32 |
CHUNKSIZE_Y
Größe eines Chunks in Blocks in Y-Richtung.
Deklaration
public const int CHUNKSIZE_Y = null
Wert des Feldes
Typ | Beschreibung |
---|---|
System.Int32 |
CHUNKSIZE_Z
Größe eines Chunks in Blocks in Z-Richtung.
Deklaration
public const int CHUNKSIZE_Z = null
Wert des Feldes
Typ | Beschreibung |
---|---|
System.Int32 |
LimitX
Zweierpotenz der Chunkgrösse. Ausserdem gibt es die Anzahl Bits an, die die X-Koordinate im Array Blocks verwendet.
Deklaration
public const int LimitX = null
Wert des Feldes
Typ | Beschreibung |
---|---|
System.Int32 |
LimitY
Zweierpotenz der Chunkgrösse. Ausserdem gibt es die Anzahl Bits an, die die Y-Koordinate im Array Blocks verwendet.
Deklaration
public const int LimitY = null
Wert des Feldes
Typ | Beschreibung |
---|---|
System.Int32 |
LimitZ
Zweierpotenz der Chunkgrösse. Ausserdem gibt es die Anzahl Bits an, die die Z-Koordinate im Array Blocks verwendet.
Deklaration
public const int LimitZ = null
Wert des Feldes
Typ | Beschreibung |
---|---|
System.Int32 |
Eigenschaften
Blocks
Array, das alle Blöcke eines Chunks enthält. Jeder eintrag entspricht einer Block-ID. Der Index ist derselbe wie bei MetaData und Resources.
Deklaration
public ushort[] Blocks { get; }
Wert der Eigenschaft
Typ | Beschreibung |
---|---|
System.UInt16[] |
ChangeCounter
Ein Counter, der jede Veränderung durch SetBlock gemacht wird. Kann dazu verwendet werden herauszufinden, ob es Änderungen gab.
Deklaration
public int ChangeCounter { get; set; }
Wert der Eigenschaft
Typ | Beschreibung |
---|---|
System.Int32 |
Index
Chunk Index innerhalb des Planeten.
Deklaration
public Index3 Index { get; }
Wert der Eigenschaft
Typ | Beschreibung |
---|---|
Index3 |
MetaData
Array, das die Metadaten zu den Blöcken eines Chunks enthält. Der Index ist derselbe wie bei Blocks und Resources.
Deklaration
public int[] MetaData { get; }
Wert der Eigenschaft
Typ | Beschreibung |
---|---|
System.Int32[] |
Planet
Referenz auf den Planeten.
Deklaration
public int Planet { get; }
Wert der Eigenschaft
Typ | Beschreibung |
---|---|
System.Int32 |
Resources
Verzweigtes Array, das die Ressourcen zu den Blöcken eines Chunks enthält. Der Index der ersten Dimension ist derselbe wie bei Blocks und Resources.
Deklaration
public ushort[][] Resources { get; }
Wert der Eigenschaft
Typ | Beschreibung |
---|---|
System.UInt16[][] |
Methoden
GetBlock(Index3)
Liefet den Block an der angegebenen Koordinate zurück.
Deklaration
public ushort GetBlock(Index3 index)
Parameter
Typ | Name | Beschreibung |
---|---|---|
Index3 | index | Koordinate des Blocks innerhalb des Chunkgs |
R�ckgabewert
Typ | Beschreibung |
---|---|
System.UInt16 | Die Block-ID an der angegebenen Koordinate |
GetBlock(Int32, Int32, Int32)
Liefet den Block an der angegebenen Koordinate zurück.
Deklaration
public ushort GetBlock(int x, int y, int z)
Parameter
Typ | Name | Beschreibung |
---|---|---|
System.Int32 | x | X-Anteil der Koordinate des Blocks |
System.Int32 | y | Y-Anteil der Koordinate des Blocks |
System.Int32 | z | Z-Anteil der Koordinate des Blocks |
R�ckgabewert
Typ | Beschreibung |
---|---|
System.UInt16 | Block-ID der angegebenen Koordinate |
GetBlockMeta(Int32, Int32, Int32)
Gibt die Metadaten des Blocks an der angegebenen Koordinate zurück.
Deklaration
public int GetBlockMeta(int x, int y, int z)
Parameter
Typ | Name | Beschreibung |
---|---|---|
System.Int32 | x | X-Anteil der Koordinate des Blocks innerhalb des Chunks |
System.Int32 | y | Y-Anteil der Koordinate des Blocks innerhalb des Chunks |
System.Int32 | z | Z-Anteil der Koordinate des Blocks innerhalb des Chunks |
R�ckgabewert
Typ | Beschreibung |
---|---|
System.Int32 | Die Metadaten des angegebenen Blocks |
GetBlockResources(Int32, Int32, Int32)
Liefert alle Ressourcen im Block an der angegebenen Koordinate zurück.
Deklaration
public ushort[] GetBlockResources(int x, int y, int z)
Parameter
Typ | Name | Beschreibung |
---|---|---|
System.Int32 | x | X-Anteil der Koordinate des Blocks innerhalb des Chunks |
System.Int32 | y | Y-Anteil der Koordinate des Blocks innerhalb des Chunks |
System.Int32 | z | Z-Anteil der Koordinate des Blocks innerhalb des Chunks |
R�ckgabewert
Typ | Beschreibung |
---|---|
System.UInt16[] | Ein Array aller Ressourcen des Blocks |
SetBlock(Index3, UInt16, Int32)
Überschreibt den Block an der angegebenen Koordinate.
Deklaration
public void SetBlock(Index3 index, ushort block, int meta = 0)
Parameter
Typ | Name | Beschreibung |
---|---|---|
Index3 | index | Koordinate des Blocks innerhalb des Chunks |
System.UInt16 | block | Die neue Block-ID. |
System.Int32 | meta | (Optional) Metainformationen für den Block |
SetBlock(Int32, Int32, Int32, UInt16, Int32)
Überschreibt den Block an der angegebenen Koordinate.
Deklaration
public void SetBlock(int x, int y, int z, ushort block, int meta = 0)
Parameter
Typ | Name | Beschreibung |
---|---|---|
System.Int32 | x | X-Anteil der Koordinate des Blocks innerhalb des Chunks |
System.Int32 | y | Y-Anteil der Koordinate des Blocks innerhalb des Chunks |
System.Int32 | z | Z-Anteil der Koordinate des Blocks innerhalb des Chunks |
System.UInt16 | block | Die neue Block-ID |
System.Int32 | meta | (Optional) Die Metadaten des Blocks |
SetBlockMeta(Int32, Int32, Int32, Int32)
Ändert die Metadaten des Blockes an der angegebenen Koordinate.
Deklaration
public void SetBlockMeta(int x, int y, int z, int meta)
Parameter
Typ | Name | Beschreibung |
---|---|---|
System.Int32 | x | X-Anteil der Koordinate des Blocks innerhalb des Chunks |
System.Int32 | y | Y-Anteil der Koordinate des Blocks innerhalb des Chunks |
System.Int32 | z | Z-Anteil der Koordinate des Blocks innerhalb des Chunks |
System.Int32 | meta | Die neuen Metadaten |
SetBlockResources(Int32, Int32, Int32, UInt16[])
Ändert die Ressourcen des Blocks an der angegebenen Koordinate
Deklaration
public void SetBlockResources(int x, int y, int z, ushort[] resources)
Parameter
Typ | Name | Beschreibung |
---|---|---|
System.Int32 | x | X-Anteil der Koordinate des Blocks innerhalb des Chunks |
System.Int32 | y | Y-Anteil der Koordinate des Blocks innerhalb des Chunks |
System.Int32 | z | Z-Anteil der Koordinate des Blocks innerhalb des Chunks |
System.UInt16[] | resources | Ein |
Ereignisse
Changed
Deklaration
public event Action<IChunk, int> Changed
Ereignistyp
Typ | Beschreibung |
---|---|
Action<IChunk, System.Int32> |