Beispiel #1
0
 private void InitBitDoors()
 {
     this.ToReactivate.Clear();
     this.BitDoors.Clear();
     foreach (ArtObjectInstance artObject in Enumerable.Where <ArtObjectInstance>((IEnumerable <ArtObjectInstance>) this.LevelManager.ArtObjects.Values, (Func <ArtObjectInstance, bool>)(x => ActorTypeExtensions.IsBitDoor(x.ArtObject.ActorType))))
     {
         this.BitDoors.Add(new BitDoorState(artObject));
     }
     foreach (int key in this.GameState.SaveData.ThisLevel.InactiveArtObjects)
     {
         ArtObjectInstance door;
         if (key >= 0 && this.LevelManager.ArtObjects.TryGetValue(key, out door) && ActorTypeExtensions.IsBitDoor(door.ArtObject.ActorType))
         {
             door.Position += Enumerable.First <BitDoorState>((IEnumerable <BitDoorState>) this.BitDoors, (Func <BitDoorState, bool>)(x => x.AoInstance == door)).GetOpenOffset();
             door.ActorSettings.Inactive = true;
             this.ToReactivate.Add(key);
         }
     }
 }