private void CTF_Callback() { if (m_Stone != null) { if (m_Stone.Validate()) { m_Stone.JoinStone.RandomTeam = true; m_Stone.JoinStone.Game = m_Stone.Game; m_Stone.Game.OpenJoin = true; if (m_Stone.Doors != null) { m_Blocker = new Blocker(); m_Blocker.MoveToWorld(m_Stone.Doors.Location, m_Stone.Doors.Map); List <BaseDoor> list = m_Stone.Doors.GetChain(); for (int i = 0; i < list.Count; ++i) { ((BaseDoor)list[i]).Open = true; } } else { m_Blocker = null; } m_Stone.JoinStone.Visible = true; new AutoCTFFinTimer(m_Stone, m_Blocker).Start(); SetDate(); } else { m_Stone.Activate(false); } } else { Stop(); } }
protected override void OnTick() { if (DateTime.Now < m_Start) { World.Broadcast(m_Stone.CTFMessageHue, true, m_Stone.CTFJoinMessage); } else if (m_Stone != null && m_Stone.Validate()) { if (m_Blocker != null) { m_Blocker.Delete(); } if (m_Stone.Doors != null) { List <BaseDoor> list = m_Stone.Doors.GetChain(); for (int i = 0; i < list.Count; ++i) { ((BaseDoor)list[i]).Open = false; } } m_Stone.JoinStone.Visible = false; m_Stone.Game.OpenJoin = false; World.Broadcast(m_Stone.CTFMessageHue, true, m_Stone.CTFStartMessage); m_Stone.Game.StartGame(false); Stop(); } else { Stop(); } }