public BattleSystem() { battleData = new BattleData(); lockStep = new LockStep(); sceneManager = new SceneManager(battleData); battleController = null; pvpBattleController = new PVPBattleController(battleData, this); singleBattleController = new SingleBattleController(battleData, this); }
public void SetPlayMode(bool pvp, bool single) { if (pvp) { battleController = pvpBattleController; } else if (single) { battleController = singleBattleController; } else { battleController = null; LoggerSystem.Instance.Error("PlayMode error!"); } LoggerSystem.Instance.Info("设置战斗模式为:pvp:{0}, single:{1}", pvp, single); }
public Battle(IBattleController battleController, IFactionController[] factionControllers, Planet planet = null) { controller = battleController; Planet = planet ?? new Planet(); Units = new List <Titan>(); Factions = new Faction[factionControllers.Length]; for (int i = 0; i < factionControllers.Length; i++) { factionControllers[i].Init(this); Factions[i] = new Faction(i, factionControllers[i]); } foreach (var faction in Factions) { faction.SetEnemy(Factions); } foreach (var faction in Factions) { AddTitan(faction, Quaternion.Euler(faction.ID * 90, 0, 0) * new Vector3(0, 0, Planet.Radius)); // Planet.GetRandomPosition()); } // AddTitan(0, new Vector3(0, 0, Planet.Radius)); // AddTitan(0, Quaternion.Euler(10, 0, 0) * new Vector3(0, 0, Planet.Radius)); // AddTitan(1, Quaternion.Euler(0, 10, 0) * new Vector3(0, 0, Planet.Radius));// Planet.GetRandomPosition()); }
public void SetTacticalController(IBattleController tactCntrl) { tacticalController = tactCntrl; }