public void Defence(string battleFieldId, string robotId, ActionStrength defenceStrength)
        {
            BattleField battleField = BattleFields.GetBattleField(battleFieldId);

            if (battleField.BattleState == BattleState.Running)
            {
                Robot robot = battleField.GetRobot(robotId);

                _robotAction = new RobotActions(robot, defenceStrength);
                new DefenceAction(_robotAction).Execute();
            }
        }
        public string StartDemoBattle(string robotId)
        {
            string battleFieldId = BattleFields.CreateBattleField(robotId, "DemoBattle", RoomType.Private);

            BattleFields.JoinBattleField(battleFieldId, robotId, PlayType.Manual);
            BattleFields.JoinBattleField(battleFieldId, "DEMO", PlayType.Auto);

            BattleField battle = BattleFields.GetBattleField(battleFieldId);

            battle.StartBattle();

            return(battleFieldId);
        }
        public int Rest(string battleFieldId, string robotId, ActionStrength restStrength)
        {
            var healPoints = 0;

            BattleField battleField = BattleFields.GetBattleField(battleFieldId);

            if (battleField.BattleState == BattleState.Running)
            {
                Robot robot = battleField.GetRobot(robotId);

                _robotAction = new RobotActions(robot, restStrength);
                healPoints   = new RestAction(_robotAction).Execute();
            }

            return(healPoints);
        }
        public int Attack(string battleFieldId, string robotId, ActionStrength attackStrength)
        {
            int         damage;
            BattleField battleField = BattleFields.GetBattleField(battleFieldId);

            if (battleField.BattleState == BattleState.Running)
            {
                Robot robot = battleField.GetRobot(robotId);

                _robotAction = new RobotActions(robot, attackStrength);
                damage       = new AttackAction(_robotAction).Execute();
            }
            else
            {
                damage = -99; //battle not running
            }

            return(damage);
        }
Пример #5
0
 public void Start()
 {
     BattleFields.LoadBattleField();
     _server.OpenAsync();
 }
 public RobotsLifePoints RobotStatus(string battleFieldId, string robotId)
 {
     return(BattleFields.BattleStatus(battleFieldId, robotId));
 }
        public int RobotsInBattleCount(string battleFieldId)
        {
            BattleField battle = BattleFields.GetBattleField(battleFieldId);

            return(battle.Robots.Count);
        }
        public List <Robot> RobotsInBattle(string battleFieldId)
        {
            BattleField battle = BattleFields.GetBattleField(battleFieldId);

            return(battle.Robots);
        }
 public BattleField GetBattle(string battleFieldId)
 {
     return(BattleFields.GetBattleField(battleFieldId));
 }
 public IEnumerable <BattleField> GetBattles()
 {
     return(BattleFields.GetBattleFields());
 }
 public void JoinBattle(string battleId, string robotId, PlayType playType)
 {
     BattleFields.JoinBattleField(battleId, robotId, playType);
 }
 public string HostBattle(string robotId, string battleName, RoomType roomType)
 {
     return(BattleFields.CreateBattleField(robotId, battleName, roomType));
 }