Пример #1
0
        public virtual void ConfirmSelectMonster(int selectedMonsterId, int actionNumber, int subActionNumber)
        {
            SelectedMonster  = FriendlyMonsters.SingleOrDefault(m => m.MonsterTypeId == selectedMonsterId) ?? EnemyMonsters.Single(m => m.MonsterTypeId == selectedMonsterId);
            _actionNumber    = actionNumber;
            _subActionNumber = subActionNumber;

            if (SelectedMonster != null && (_actionNumber == 1 || _actionNumber == 2))
            {
                foreach (BoardSpace space in BoardSpaces.Values)
                {
                    space.SendMessage("OnMonsterSelected", SelectedMonster.CurrentNode.Id);
                }
            }
            Client.SendStateAck(GetAdjustedActionNumber(), _subActionNumber);
        }
Пример #2
0
 private void SelectMonster(int nodeId)
 {
     SelectedMonster = FriendlyMonsters.SingleOrDefault(m => m.CurrentNode.Id == nodeId);
     if (SelectedMonster != null)
     {
         Client.Send(CustomMessageTypes.SelectMonsterRequest, new SelectMonsterRequestMessage
         {
             ActionNumber          = GetAdjustedActionNumber(),
             SubActionNumber       = _subActionNumber,
             Message               = SelectedMonster.Name,
             MessageTypeId         = CustomMessageTypes.SelectMonsterRequest,
             SelectedMonsterTypeId = SelectedMonster.MonsterTypeId
         });
     }
 }
Пример #3
0
        public override void ConfirmAttackKillResult(AttackResult attackResult, int attackingMonsterTypeId, int defendingMonsterTypeId, int actionNumber, int subActionNumber)
        {
            bool isFriendlyMonster = _actionNumber == 1 || _actionNumber == 2;

            Monster attacker = FriendlyMonsters.SingleOrDefault(m => m.MonsterTypeId == attackingMonsterTypeId) ??
                               EnemyMonsters.SingleOrDefault(m => m.MonsterTypeId == attackingMonsterTypeId);

            Monster defender = FriendlyMonsters.SingleOrDefault(m => m.MonsterTypeId == defendingMonsterTypeId) ??
                               EnemyMonsters.SingleOrDefault(m => m.MonsterTypeId == defendingMonsterTypeId);

            Vector3 battlePosition = new Vector3(BattleSmoke.transform.localPosition.x, BattleSmoke.transform.localPosition.y, BattleSmoke.transform.localPosition.z);

            if (attackResult == AttackResult.Kill)
            {
                AttackResultTextPrefab.GetComponent <TextMesh>().text = "KiLL";
                AttackResultTextPrefab.gameObject.SetActive(true);
                AttackResultTextPrefab.transform.localPosition = battlePosition;

                AttackResultTextPrefab.LerpDestination = AttackResultTextPrefab.transform.localPosition + Vector3.up;

                ProcessKill(defender, !isFriendlyMonster);
            }
            else if (attackResult == AttackResult.CounterKill)
            {
                AttackResultTextPrefab.GetComponent <TextMesh>().text = "Counter KiLL";
                AttackResultTextPrefab.gameObject.SetActive(true);
                AttackResultTextPrefab.transform.localPosition = battlePosition;

                AttackResultTextPrefab.LerpDestination = AttackResultTextPrefab.transform.localPosition + Vector3.up;

                ProcessKill(attacker, isFriendlyMonster);
                SelectedMonster = null;
            }

            _actionNumber    = actionNumber;
            _subActionNumber = subActionNumber;
        }
Пример #4
0
 public override void ConfirmSelectMonster(int selectedMonsterId, int actionNumber, int subActionNumber)
 {
     SelectedMonster  = FriendlyMonsters.SingleOrDefault(m => m.MonsterTypeId == selectedMonsterId) ?? EnemyMonsters.SingleOrDefault(m => m.MonsterTypeId == selectedMonsterId);
     _actionNumber    = actionNumber;
     _subActionNumber = subActionNumber;
 }