public void ActiveAttack(eBATTLE_ALLY Ally, short nStartPosIndex, int TargetIndex, NkBattleChar pkTarget) { NkBattleChar currentSelectChar = Battle.BATTLE.GetCurrentSelectChar(); if (currentSelectChar != null) { if (this.preTargetIndex == TargetIndex) { return; } this.preTargetIndex = TargetIndex; short num = 0; if (pkTarget != null && currentSelectChar.CanAttack(pkTarget, (short)TargetIndex, Vector3.zero, ref num) == -1) { return; } NkSoldierInfo soldierInfo = currentSelectChar.GetSoldierInfo(); E_ATTACK_GRID_TYPE aTTACKGRID = (E_ATTACK_GRID_TYPE)soldierInfo.GetAttackInfo().ATTACKGRID; Vector2 size = this.GetSize(Ally, nStartPosIndex); int xMax = (int)size.x; int yMax = (int)size.y; int[] index = BASE_BATTLE_GridData_Manager.GetInstance().GetIndex(aTTACKGRID, TargetIndex, xMax, yMax); if (index != null) { List <NmBattleGrid> battleGridList = this.GetBattleGridList(Ally, nStartPosIndex); foreach (NmBattleGrid current in battleGridList) { if (current.BUID != -1) { current.SetMode(E_RENDER_MODE.NORMAL); } else { current.SetMode(E_RENDER_MODE.DISABLE); } } int[] array = index; for (int i = 0; i < array.Length; i++) { int index2 = array[i]; if (NrGridData.IndexAccessAble(index2, xMax, yMax)) { battleGridList[index2].SetMode(E_RENDER_MODE.ATTACK); } } } } }
public void ActiveAttackGridCanTarget() { NkBattleChar currentSelectChar = Battle.BATTLE.GetCurrentSelectChar(); if (currentSelectChar == null) { return; } eBATTLE_ALLY eBATTLE_ALLY = (currentSelectChar.Ally != eBATTLE_ALLY.eBATTLE_ALLY_0) ? eBATTLE_ALLY.eBATTLE_ALLY_0 : eBATTLE_ALLY.eBATTLE_ALLY_1; NkBattleChar[] charArray = NrTSingleton <NkBattleCharManager> .Instance.GetCharArray(); short num = 0; NkBattleChar[] array = charArray; for (int i = 0; i < array.Length; i++) { NkBattleChar nkBattleChar = array[i]; if (nkBattleChar != null) { int iD = nkBattleChar.GetID(); if (iD >= 0 && charArray[iD] != null && charArray[iD].Ally == eBATTLE_ALLY) { Vector2 size = this.GetSize(eBATTLE_ALLY, nkBattleChar.GetStartPosIndex()); int xMax = (int)size.x; int yMax = (int)size.y; int gridPos = (int)nkBattleChar.GetGridPos(); List <NmBattleGrid> battleGridList = this.GetBattleGridList(eBATTLE_ALLY, nkBattleChar.GetStartPosIndex()); int[] gridIndexFromCharSize = nkBattleChar.GetGridIndexFromCharSize((short)gridPos); if (gridIndexFromCharSize != null && gridIndexFromCharSize.Length > 0) { int[] array2 = gridIndexFromCharSize; for (int j = 0; j < array2.Length; j++) { int num2 = array2[j]; int num3 = currentSelectChar.CanAttack(charArray[iD], (short)num2, Vector3.zero, ref num); if ((num3 == 1 || num3 == -2) && NrGridData.IndexAccessAble(num2, xMax, yMax)) { battleGridList[num2].SetMode(E_RENDER_MODE.ATTACK); } } } } } } }