/// <summary> /// Create an UnknownBlock from low-level classic block. /// </summary> /// <param name="block"></param> /// <param name="entity"></param> public UnknownBlock(ClassicBlock block, BlockEntity entity = null) : base(BuiltInUniqueId) { _isNamespaced = false; _entity = entity; _classicblock = block; _classicIndex = block.Id; }
public Block CreateBlock(ClassicBlock block, BlockEntity entity) { if (Index == -1) { return(Factory.FromClassic(block, entity)); } else { return(FactoryMultiple.FromClassic(Index, block, entity)); } }
public int RegisterDispatcherCache(bool hasClassicBlock, ClassicBlock classic, NamespacedBlock ns, BlockEntity entity) { if (!hasClassicBlock && ns is null) { throw new ArgumentException($"{nameof(hasClassicBlock)} & {nameof(ns)} cannot be both empty."); } _entries.Add(new Entry() { HasClassicBlock = hasClassicBlock, Classic = classic, Namespaced = ns, Entity = entity }); return(_entries.Count - 1); }
Block IBlockFactoryMultiple.FromClassic(int index, ClassicBlock block, BlockEntity entity) => ListOfBlocks[index].Block;