コード例 #1
0
ファイル: Battle.cs プロジェクト: thehaunted88/Core
        public virtual void ToggleDoors(bool secure, bool open)
        {
            Doors.ForEachReverse(
                d =>
            {
                if (d == null || d.Deleted || d.Map != Map)
                {
                    Doors.Remove(d);
                    return;
                }

                if ((!d.Open || !CanCloseDoor(d)) && (d.Open || !CanOpenDoor(d)))
                {
                    return;
                }

                d.Open   = open;
                d.Locked = secure;

                if (_DoorTimerField == null)
                {
                    return;
                }

                var t = _DoorTimerField.GetValue(d) as Timer;

                if (t != null)
                {
                    t.Stop();
                }
            });
        }