private void ChangeRoomState(string roomName,
                                 List <IMyAirVent> vents, List <IMyDoor> doors,
                                 int current, int target,
                                 IEnumerable <IMyDoor> targetDoors = null)
    {
        if (target != current && target != AIRLOCK_STATE_UNKNOWN)
        {
            OpenCloseDoors(doors, false);
            DepressurizeVents(vents, target == AIRLOCK_STATE_VACUUM);
        }

        // Open doors regardless
        var entry = new OpenQueueEntry(target,
                                       targetDoors != null ?
                                       new HashSet <IMyDoor>(targetDoors) :
                                       new HashSet <IMyDoor>());

        openQueue[roomName] = entry;
    }
Esempio n. 2
0
    private void ChangeRoomState(string roomName,
                                 List<IMyAirVent> vents, List<IMyDoor> doors,
                                 int current, int target,
                                 IEnumerable<IMyDoor> targetDoors = null)
    {
        if (target != current && target != AIRLOCK_STATE_UNKNOWN)
        {
            OpenCloseDoors(doors, false);
            DepressurizeVents(vents, target == AIRLOCK_STATE_VACUUM);

        }

        // Open doors regardless
        var entry = new OpenQueueEntry(target,
                                       targetDoors != null ?
                                       new HashSet<IMyDoor>(targetDoors) :
                                       new HashSet<IMyDoor>());
        openQueue[roomName] = entry;
    }