public LeverPuzzleController() : base(0x1822) { this.Movable = false; this.Hue = 0x4c; installed = true; int i = 0; this.m_Levers = new List <Item>(); /* codes are 0x1 shifted left x # of bits, easily handled here */ for (; i < 4; i++) { this.m_Levers.Add(AddLeverPuzzlePart(TA[i], new LeverPuzzleLever((ushort)(1 << i), this))); } this.m_Tiles = new List <LeverPuzzleRegion>(); for (; i < 9; i++) { this.m_Tiles.Add(new LeverPuzzleRegion(this, TA[i])); } this.m_Teles = new List <Item>(); for (; i < 15; i++) { this.m_Teles.Add(AddLeverPuzzlePart(TA[i], new LampRoomTeleporter(TA[++i]))); } this.m_Statues = new List <Item>(); for (; i < 19; i++) { this.m_Statues.Add(AddLeverPuzzlePart(TA[i], new LeverPuzzleStatue(TA[++i], this))); } if (!installed) { this.Delete(); } else { this.Enabled = true; } this.m_Box = (LampRoomBox)AddLeverPuzzlePart(TA[i], new LampRoomBox(this)); this.m_LampRoom = new LampRoomRegion(this); this.GenKey(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); _ = reader.ReadInt(); m_Levers = reader.ReadStrongItemList(); m_Statues = reader.ReadStrongItemList(); m_Teles = reader.ReadStrongItemList(); m_Box = reader.ReadItem() as LampRoomBox; m_Tiles = new List <LeverPuzzleRegion>(); for (int i = 4; i < 9; i++) { m_Tiles.Add(new LeverPuzzleRegion(this, TA[i])); } m_LampRoom = new LampRoomRegion(this); Enabled = true; TheirKey = 0; MyKey = 0; GenKey(); }
public LeverPuzzleController() : base( 0x1822 ) { Movable=false; Hue=0x4c; installed=true; int i=0; m_Levers = new List<Item>(); /* codes are 0x1 shifted left x # of bits, easily handled here */ for (; i<4; i++) m_Levers.Add( AddLeverPuzzlePart( TA[i], new LeverPuzzleLever( (ushort)(1<<i), this ))); m_Tiles = new List<LeverPuzzleRegion>(); for (; i<9; i++) m_Tiles.Add( new LeverPuzzleRegion( this, TA[i] )); m_Teles = new List<Item>(); for (; i<15; i++) m_Teles.Add(AddLeverPuzzlePart(TA[i], new LampRoomTeleporter(TA[++i]))); m_Statues = new List<Item>(); for (; i<19; i++) m_Statues.Add( AddLeverPuzzlePart( TA[i], new LeverPuzzleStatue( TA[++i], this ))); if(!installed) Delete(); else Enabled=true; m_Box = (LampRoomBox)AddLeverPuzzlePart( TA[i], new LampRoomBox( this )); m_LampRoom = new LampRoomRegion( this ); GenKey(); }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); m_Levers = reader.ReadStrongItemList(); m_Statues = reader.ReadStrongItemList(); m_Teles = reader.ReadStrongItemList(); m_Box = reader.ReadItem() as LampRoomBox; m_Tiles = new List<LeverPuzzleRegion>(); for (int i = 4; i<9; i++) m_Tiles.Add( new LeverPuzzleRegion( this, TA[i] )); m_LampRoom = new LampRoomRegion( this ); m_Enabled = true; m_TheirKey = 0; m_MyKey = 0; GenKey(); }