IsZoneMediumRoom() public static method

public static IsZoneMediumRoom ( ZoneType zoneType ) : bool
zoneType ZoneType
return bool
コード例 #1
0
 private static void GenerateLaseFenceForBigOutpost(ZoneProperties[,] zoneMap, int horizontalZonesNumber, int verticalZonesNumber, ref OG_OutpostData outpostData)
 {
     for (int zoneOrd = 0; zoneOrd < verticalZonesNumber; zoneOrd++)
     {
         for (int zoneAbs = 0; zoneAbs < horizontalZonesNumber; zoneAbs++)
         {
             ZoneProperties zone              = zoneMap[zoneOrd, zoneAbs];
             IntVec3        zoneOrigin        = Zone.GetZoneOrigin(outpostData.areaSouthWestOrigin, zoneAbs, zoneOrd);
             IntVec3        zoneRotatedOrigin = Zone.GetZoneRotatedOrigin(outpostData.areaSouthWestOrigin, zoneAbs, zoneOrd, zone.rotation);
             if (zone.zoneType == ZoneType.MainEntrance)
             {
                 SpawnLaserFenceTwoPylons(zoneRotatedOrigin + new IntVec3(0, 0, 5).RotatedBy(zone.rotation), new Rot4(Rot4.North.AsInt + zone.rotation.AsInt), 4, ref outpostData);
                 SpawnLaserFenceTwoPylons(zoneRotatedOrigin + new IntVec3(10, 0, 5).RotatedBy(zone.rotation), new Rot4(Rot4.North.AsInt + zone.rotation.AsInt), 4, ref outpostData);
             }
             else if (zone.zoneType == ZoneType.SecondaryEntrance)
             {
                 SpawnLaserFenceThreePylons(zoneRotatedOrigin, new Rot4(Rot4.North.AsInt + zone.rotation.AsInt), 4, ref outpostData);
                 SpawnLaserFenceThreePylons(zoneRotatedOrigin + new IntVec3(10, 0, 0).RotatedBy(zone.rotation), new Rot4(Rot4.North.AsInt + zone.rotation.AsInt), 4, ref outpostData);
                 OG_Common.SpawnFireproofPowerConduitAt(zoneRotatedOrigin + new IntVec3(0, 0, -1).RotatedBy(zone.rotation), ref outpostData);
                 OG_Common.SpawnFireproofPowerConduitAt(zoneRotatedOrigin + new IntVec3(10, 0, -1).RotatedBy(zone.rotation), ref outpostData);
             }
             else
             {
                 if (zoneOrd == 0)
                 {
                     if (Zone.IsZoneMediumRoom(zone.zoneType))
                     {
                         SpawnLaserFenceTwoPylons(zoneOrigin, Rot4.East, 2, ref outpostData);
                         SpawnLaserFenceTwoPylons(zoneOrigin + new IntVec3(7, 0, 0), Rot4.East, 2, ref outpostData);
                     }
                     else
                     {
                         SpawnLaserFenceThreePylons(zoneOrigin, Rot4.East, 4, ref outpostData);
                     }
                 }
                 if (zoneOrd == verticalZonesNumber - 1)
                 {
                     if (Zone.IsZoneMediumRoom(zone.zoneType))
                     {
                         SpawnLaserFenceTwoPylons(zoneOrigin + new IntVec3(0, 0, 10), Rot4.East, 2, ref outpostData);
                         SpawnLaserFenceTwoPylons(zoneOrigin + new IntVec3(7, 0, 10), Rot4.East, 2, ref outpostData);
                     }
                     else
                     {
                         SpawnLaserFenceThreePylons(zoneOrigin + new IntVec3(0, 0, 10), Rot4.East, 4, ref outpostData);
                     }
                 }
                 if (zoneAbs == 0)
                 {
                     if (Zone.IsZoneMediumRoom(zone.zoneType))
                     {
                         SpawnLaserFenceTwoPylons(zoneOrigin, Rot4.North, 2, ref outpostData);
                         SpawnLaserFenceTwoPylons(zoneOrigin + new IntVec3(0, 0, 7), Rot4.North, 2, ref outpostData);
                     }
                     else
                     {
                         SpawnLaserFenceThreePylons(zoneOrigin, Rot4.North, 4, ref outpostData);
                     }
                 }
                 if (zoneAbs == horizontalZonesNumber - 1)
                 {
                     if (Zone.IsZoneMediumRoom(zone.zoneType))
                     {
                         SpawnLaserFenceTwoPylons(zoneOrigin + new IntVec3(10, 0, 0), Rot4.North, 2, ref outpostData);
                         SpawnLaserFenceTwoPylons(zoneOrigin + new IntVec3(10, 0, 7), Rot4.North, 2, ref outpostData);
                     }
                     else
                     {
                         SpawnLaserFenceThreePylons(zoneOrigin + new IntVec3(10, 0, 0), Rot4.North, 4, ref outpostData);
                     }
                 }
             }
         }
     }
 }