Example #1
0
        void collectObjectsForAirvent(String blockName, AirlockObjects airlock)
        {
            string airVentName = blockName.Substring(0, 8);
            List<IMyTerminalBlock> tmpObjects = new List<IMyTerminalBlock>();
            Echo(airVentName);
            for (int j = 0; j < airventObjects.Count; j++)
            {

            IMyTerminalBlock tmp = GridTerminalSystem.GetBlockWithName(airVentName + airventObjects[j]) as IMyTerminalBlock;
            if (tmp != null)
            {
                Echo(airVentName + airventObjects[j]);
            }
            tmpObjects.Add(tmp);
            }

            airlock.outsideDoorBlock = (IMyDoor)tmpObjects[0];
            airlock.insideDoorBlock = (IMyDoor)tmpObjects[1];
            airlock.outsideLight = (IMyInteriorLight)tmpObjects[2];
            airlock.insideLight = (IMyInteriorLight)tmpObjects[3];
            airlock.middleLight = (IMyInteriorLight)tmpObjects[4];
            airlock.airvent = (IMyAirVent)tmpObjects[5];
        }
Example #2
0
        /* collect all inside doorblocks that start with airvent, these should be unique*/
        void initAirlocks()
        {
            List<IMyTerminalBlock> allBlocks = new List<IMyTerminalBlock>();
            GridTerminalSystem.GetBlocks(allBlocks);

            List<IMyTerminalBlock> doorBlocks = new List<IMyTerminalBlock>();
            GridTerminalSystem.GetBlocksOfType<IMyDoor>(doorBlocks);

            airlockCount = 0;
            for (int i = 0; i < doorBlocks.Count; i++)
            {

            string tmpBlockName = doorBlocks[i].CustomName;
            if (tmpBlockName.StartsWith("Airlock") && tmpBlockName.Substring(8) == "insideDoor")
            {
                AirlockObjects airlockObj = new AirlockObjects();

                collectObjectsForAirvent(tmpBlockName, airlockObj);

                Airlock airlock = new Airlock();
                airlock.AirlockInitObject(tmpBlockName, airlockObj);
                airlock.name = tmpBlockName;

                allAirlocks[airlockCount++] = airlock;

            }
            }
        }
Example #3
0
 public void AirlockInitObject(string _airlockName, AirlockObjects _airlock)
 {
     this.name = _airlockName;
     this.airlock = _airlock;
 }