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); } } }
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); } } }