//Private Methods private void NormalAttack(BtlCtrlCharacter currentSlcCharacter, BtlCtrlParty[] parties, BattleController.TeamTypes teamType, Action <long, int, List <long> > onMove) { Divine.Moniker moniker; int partyIndex = teamType == BattleController.TeamTypes.Player ? 0 : 1; List <BtlCtrlCharacter> chs = parties[partyIndex].GetCharacters(); List <BtlCtrlCharacter> availableCh = new List <BtlCtrlCharacter>(); for (int i = 0; i < chs.Count; i++) { if (chs[i].isActive && !chs[i].isDead) { availableCh.Add(chs[i]); } } int rnd = UnityEngine.Random.Range(0, availableCh.Count); moniker = availableCh[rnd].moniker; NormalAttack(currentSlcCharacter, parties, moniker, onMove); }
public void Init(List <BtlCtrlCharacter> characters, BattleController.TeamTypes teamType, string partyName) { _characters = new Dictionary <int, BtlCtrlCharacter>(); _teamType = teamType; _name = partyName; for (int i = 0; i < characters.Count; i++) { BtlCtrlCharacter.Type ty = characters[i].type; if (ty == BtlCtrlCharacter.Type.Hero) { _hero = characters[i]; } else if (ty == BtlCtrlCharacter.Type.Chakra) { _chakra = characters[i]; } characters[i].SetRelatedParty(this); _characters.Add(characters[i].id, characters[i]); } }