public void initialize(BattleBuildingRecord info, BattleConfiguration configuration) { _record = configuration.buildingRecords.GetByBuildingId(info.id, info.race); _battleRecord = info; setOwnerId(info.ownerId); transform.setFromPoint(info.position); units.setCount(_battleRecord.units); var unitsPerSecond = infoLevel.UnitsProduction; AddComponent <UnitRegenComponent>().setUnitsPerTick((unitsPerSecond / engine.configuration.ticksPerSecond)); switch (_record.Type) { case BuildingType.DEFENSE: AddComponent <BuildingAttackDefenseComponent>(); break; case BuildingType.MANNA: AddComponent <MannaRegenComponent>(); break; case BuildingType.PRODUCTION: break; } }
public AppMainSettings() { battleConfiguration = new BattleConfiguration(); playerSettings = new PlayerSettings(); shipSetting = new ShipSetting(); boardConfig = new BoardConfig(); }
public void GalaxyController_OnBattleStarted(BattleConfiguration configuration) { _planet = configuration.Planet; ResetBattleValues(configuration); PopulateBattleViewSquads(_playerBattleSquads.Values); PopulateBattleViewSquads(_opposingBattleSquads.Values); BattleView.UpdateNextStepButton("Next Turn", true); }
private void HandleBattles() { int i = _planetBattleStartedId + 1; while (i < GameSettings.Galaxy.Planets.Count) { Planet planet = GameSettings.Galaxy.GetPlanet(i); BattleConfiguration battleConfig = BattleConfigurationBuilder.BuildBattleConfiguration(planet); if (battleConfig != null) { Debug.Log("Battle breaks out on " + planet.Name); _planetBattleStartedId = i; OnBattleStart.Invoke(battleConfig); return; } i++; } OnAllBattlesComplete.Invoke(); }
private void ResetBattleValues(BattleConfiguration config) { BattleView.gameObject.SetActive(true); BattleView.Clear(); BattleView.SetMapSize(new Vector2(config.Grid.GridWidth, config.Grid.GridHeight)); _turnNumber = 0; _grid = config.Grid; _planet = config.Planet; _opposingFaction = config.OpposingSquads[0].Squad.ParentUnit.UnitTemplate.Faction; _playerBattleSquads.Clear(); _soldierBattleSquadMap.Clear(); _opposingBattleSquads.Clear(); _startingPlayerBattleSoldiers.Clear(); _startingEnemyCount = 0; foreach (BattleSquad squad in config.PlayerSquads) { _playerBattleSquads[squad.Id] = squad; foreach (BattleSoldier soldier in squad.Soldiers) { _soldierBattleSquadMap[soldier.Soldier.Id] = squad; } _startingPlayerBattleSoldiers.AddRange(squad.Soldiers); } foreach (BattleSquad squad in config.OpposingSquads) { _opposingBattleSquads[squad.Id] = squad; foreach (BattleSoldier soldier in squad.Soldiers) { _soldierBattleSquadMap[soldier.Soldier.Id] = squad; } _startingEnemyCount += squad.Soldiers.Count; } }
public GameConfiguration() { InitialPlayer = new InitialPlayerConfiguration(); Battle = new BattleConfiguration(); Shops = new ShopsConfiguration(); }