コード例 #1
0
ファイル: BoW.cs プロジェクト: zerodowned/UO-Forever
        public override void ToggleDoors(bool secure)
        {
            Doors.RemoveAll(door => door == null || door.Deleted || door.Map != Map);

            Doors.Where(d => (d.Open && CanCloseDoor(d)) || (!d.Open && CanOpenDoor(d))).ForEach(
                door =>
            {
                door.Open   = false;
                door.Locked = secure;
            });
        }
コード例 #2
0
        private void CleanDoorList()
        {
            var toDelete = new List <DungeonTile>();

            foreach (var door in Doors)
            {
                if (door.Texture == Textures.ROOM_EDGE)
                {
                    toDelete.Add(door);
                }
            }
            Doors.RemoveAll(i => toDelete.Contains(i));
        }
コード例 #3
0
ファイル: Battle.cs プロジェクト: AllanNisbet/runuo
        public virtual void CloseDoors(bool secure)
        {
            Doors.RemoveAll(door => door == null || door.Deleted || door.Map != Map);

            Doors.Where(d => d.Open && CanCloseDoor(d)).ForEach(
                door =>
            {
                door.Open   = false;
                door.Locked = secure;

                if (_DoorTimerField == null)
                {
                    return;
                }

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

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