Exemplo n.º 1
0
 public BattleSystem()
 {
     battleData             = new BattleData();
     lockStep               = new LockStep();
     sceneManager           = new SceneManager(battleData);
     battleController       = null;
     pvpBattleController    = new PVPBattleController(battleData, this);
     singleBattleController = new SingleBattleController(battleData, this);
 }
Exemplo n.º 2
0
    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);
    }
Exemplo n.º 3
0
 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());
 }
Exemplo n.º 4
0
 public void SetTacticalController(IBattleController tactCntrl)
 {
     tacticalController = tactCntrl;
 }