예제 #1
0
 private void DoReadPlayerTechBuildingCreate()
 {
     // Перебор всех строений
     foreach (BuildingType LBuildingType in Enum.GetValues(typeof(BuildingType)))
     {
         if (LBuildingType == BuildingType.Empty)
         {
             continue;
         }
         // Перебор всех технологий
         foreach (BuildingTech LTech in Enum.GetValues(typeof(BuildingTech)))
         {
             if (LTech == BuildingTech.Empty)
             {
                 continue;
             }
             TechInfo LTechInfo = new TechInfo();
             LTechInfo.Supported = FReader.ReadBoolean();
             if (LTechInfo.Supported)
             {
                 // Сбор сведений
                 LTechInfo.Name   = LTech.ToString();
                 LTechInfo.Level  = FReader.ReadInt32();
                 LTechInfo.Count  = FReader.ReadInt32();
                 LTechInfo.Levels = new int[6];/*TODO count*/
                 // Перебор уровней технологий
                 for (int LIndex = 0; LIndex <= 5; LIndex++)
                 {
                     LTechInfo.Levels[LIndex] = FReader.ReadInt32();
                 }
                 // Установим текущее значение техи
                 LTechInfo.Value = LTechInfo.Levels[LTechInfo.Level];
             }
             Engine.TechBuilding(LBuildingType, LTech, LTechInfo);
         }
     }
 }
예제 #2
0
 private void DoReadPlayerTechShipCreate()
 {
     // Перебор всех корабликов
     foreach (ShipType LShip in Enum.GetValues(typeof(ShipType)))
     {
         if (LShip == ShipType.Empty)
         {
             continue;
         }
         // Перебор всех технологий
         foreach (ShipTech LTech in Enum.GetValues(typeof(ShipTech)))
         {
             if (LTech == ShipTech.Empty)
             {
                 continue;
             }
             TechInfo LTechInfo = new TechInfo();
             LTechInfo.Supported = FReader.ReadBoolean();
             if (LTechInfo.Supported)
             {
                 // Сбор сведений
                 LTechInfo.Name   = LTech.ToString();
                 LTechInfo.Level  = FReader.ReadInt32();
                 LTechInfo.Count  = FReader.ReadInt32();
                 LTechInfo.Levels = new int[LTechInfo.Count + 1];
                 // Перебор уровней технлогий
                 for (int LIndex = 0; LIndex <= LTechInfo.Count; LIndex++)
                 {
                     LTechInfo.Levels[LIndex] = FReader.ReadInt32();
                 }
                 // Установим текущее значение техи
                 LTechInfo.Value = LTechInfo.Levels[LTechInfo.Level];
             }
             Engine.TechShip(LShip, LTech, LTechInfo);
         }
     }
 }