public FlameOfOrder(Point3D location, Map map) : base(0x19AB) { Movable = false; Light = LightType.Circle225; MoveToWorld(location, map); m_Barriers = new List <EnergyBarrier>(m_BarrierLocations.Length); m_Blockers = new List <Blocker>(m_BarrierLocations.Length); m_LOSBlockers = new List <LOSBlocker>(m_BarrierLocations.Length); m_MsgTriggers = new List <SBMessageTrigger>(m_MsgTriggerLocations.Length); foreach (Point3D loc in m_BarrierLocations) { m_Barriers.Add(new EnergyBarrier(loc, map)); Blocker blocker = new Blocker(); blocker.MoveToWorld(loc, map); m_Blockers.Add(blocker); LOSBlocker losblocker = new LOSBlocker(); losblocker.MoveToWorld(loc, map); m_LOSBlockers.Add(losblocker); } foreach (Point3D loc in m_MsgTriggerLocations) { SBMessageTrigger trigger = new SBMessageTrigger(this); trigger.MoveToWorld(loc, map); m_MsgTriggers.Add(trigger); } }
public override void OnAfterDelete() { base.OnAfterDelete(); for (var index = 0; index < m_Blockers.Count; index++) { Blocker blocker = m_Blockers[index]; blocker.Delete(); } for (var index = 0; index < m_LOSBlockers.Count; index++) { LOSBlocker losblocker = m_LOSBlockers[index]; losblocker.Delete(); } for (var index = 0; index < m_MsgTriggers.Count; index++) { SBMessageTrigger trigger = m_MsgTriggers[index]; trigger.Delete(); } for (var index = 0; index < m_Barriers.Count; index++) { EnergyBarrier barrier = m_Barriers[index]; barrier.Delete(); } }