public void Init() { randomType = RandomType.None; fixedPos = false; locked = false; basicBombType = BasicBombType.None; extraBombType = ExtraBombType.None; specialType = SpecialType.None; typeNumber = 0; }
public void Set(EntityData ent) { fixedPos = ent.fixedPos; randomType = ent.randomType; basicBombType = ent.basicBombType; extraBombType = ent.extraBombType; specialType = ent.specialType; locked = ent.locked; typeNumber = ent.typeNumber; id = ent.id; key = ent.key; }
public void Normalize() { if (randomType != RandomType.None) { typeNumber = GameManager.instance.GetEntityTypeRandomly(); if (randomType == RandomType.Box) { basicBombType = BasicBombType.Box; } else if (randomType == RandomType.Line) { int dir = UnityEngine.Random.Range(0, 2); if (dir == 0) { basicBombType = BasicBombType.Horizontal; } else { basicBombType = BasicBombType.Vertical; } } else if (randomType == RandomType.Missile) { extraBombType = ExtraBombType.Missile; } else if (randomType == RandomType.BoxLine) { basicBombType = (BasicBombType)(BasicBombType.Box + UnityEngine.Random.Range(0, 3)); } else if (randomType == RandomType.BoxLineMissile) { int t = UnityEngine.Random.Range(0, 4); if (t < 3) { basicBombType = (BasicBombType)(BasicBombType.Box + t); } else { extraBombType = ExtraBombType.Missile; } } else { basicBombType = 0; } randomType = RandomType.None; ComposeId(); } }
public void Set(UInt16 entityBits) { Init(); fixedPos = (entityBits & EntityBit.FixedBit) != 0; locked = (entityBits & EntityBit.LockedBit) != 0; randomType = (RandomType)((entityBits & EntityBit.RandomBit) >> EntityBit.RandomBitShift); basicBombType = (BasicBombType)((entityBits & EntityBit.BasicBombBit) >> EntityBit.BasicBombBitShift); extraBombType = (ExtraBombType)((entityBits & EntityBit.ExtraBombBit) >> EntityBit.ExtraBombBitShift); bool specialFlag = (entityBits & EntityBit.SpecialBit) != 0; typeNumber = (UInt16)((entityBits & EntityBit.TypeNumberBit) >> EntityBit.TypeNumberBitShift); if (specialFlag) { specialType = (SpecialType)typeNumber; typeNumber = 0; } ComposeId(); }
public UInt16 ComposeKey(BasicBombType basicBomb, ExtraBombType extraBomb, SpecialType special, UInt16 typeNum) { UInt16 newkey = 0; if (basicBomb != BasicBombType.None) { newkey |= (UInt16)(((UInt16)basicBomb << EntityBit.BasicBombBitShift) & EntityBit.BasicBombBit); } if (extraBomb != ExtraBombType.None) { newkey |= (UInt16)(((UInt16)extraBomb << EntityBit.ExtraBombBitShift) & EntityBit.ExtraBombBit); } if (special != SpecialType.None) { newkey |= (UInt16)EntityBit.SpecialBit; typeNum = (UInt16)specialType; } newkey |= (UInt16)((typeNum << EntityBit.TypeNumberBitShift) & EntityBit.TypeNumberBit); return(newkey); }