public void MapGrid(Grid grid, GridData gridData) { foreach (var blockData in gridData.Blocks) { var blockType = BlockTypes.GetBlockType(blockData.BlockTypeId); var block = blockType.Load(this, new DictionaryAccess(blockData.Data)); grid.SetBlock(blockData.Position, block); } }
// Those methods looks up what class should serve this request, and forwards it // Note: remember this was supposed to be a struct... public bool IsSolid() { return(BlockTypes.GetBlockType(_type).IsSolid(this)); }
public bool Create(BlockType type) { return(BlockTypes.GetBlockType(_type).Create(this, type)); }
public bool Destroy() { return(BlockTypes.GetBlockType(_type).Destroy(this)); }
public Vector2 TextureUV() { return(BlockTypes.GetBlockType(_type).TextureUV(this)); }
public void OnActivate(Block block, int x, int y, int z) { BlockTypes.GetBlockType(type).OnActivate(this, x, y, z); }
public Vector2 tex() { return(BlockTypes.GetBlockType(type).tex(this)); }
public bool isSolid() { return(BlockTypes.GetBlockType(type).isSolid(this)); }