// Update is called once per frame void Update() { //if(cursorSelection.GetSelectedPlayerCharName() == gameObject.name) //{ // DebugAttMarPosList(); //} //Debug.Log("calculateAttackRange: " + calculateAttackRange); if (gameController.GetDisplayTurnTextState() == false && gameController.GetPlayerTurnState() == true) { if (cursorSelection.GetSelectedPlayerCharName() == gameObject.name) { //Debug.Log(attMarkPosList.Count); if (calculateAttackRange == true) { charStatus = GameObject.Find(cursorSelection.GetSelectedPlayerCharName()).GetComponent<CharacterStatus>(); charMove = GameObject.Find(cursorSelection.GetSelectedPlayerCharName()).GetComponent<CharacterMove>(); int attackRange = charStatus.GetAttackRange(); for (int i = 1; i <= attackRange; i++) { if (charMove.GetCurRow() - i >= 0) { Instantiate(Resources.Load("AttackMarker"), grid.row[charMove.GetCurRow() - i].column[charMove.GetCurCol()].transform.position, Quaternion.identity); AttackMarkerPosition attMarPos = new AttackMarkerPosition(); attMarPos.row = charMove.GetCurRow() - i; attMarPos.col = charMove.GetCurCol(); attMarkPosList.Add(attMarPos); } if (charMove.GetCurRow() + i < grid.row.Length) { Instantiate(Resources.Load("AttackMarker"), grid.row[charMove.GetCurRow() + i].column[charMove.GetCurCol()].transform.position, Quaternion.identity); AttackMarkerPosition attMarPos = new AttackMarkerPosition(); attMarPos.row = charMove.GetCurRow() + i; attMarPos.col = charMove.GetCurCol(); attMarkPosList.Add(attMarPos); } if (charMove.GetCurCol() - i >= 0) { Instantiate(Resources.Load("AttackMarker"), grid.row[charMove.GetCurRow()].column[charMove.GetCurCol() - i].transform.position, Quaternion.identity); AttackMarkerPosition attMarPos = new AttackMarkerPosition(); attMarPos.row = charMove.GetCurRow(); attMarPos.col = charMove.GetCurCol() - i; attMarkPosList.Add(attMarPos); } if (charMove.GetCurCol() + i < grid.row[charMove.GetCurRow()].column.Length) { Instantiate(Resources.Load("AttackMarker"), grid.row[charMove.GetCurRow()].column[charMove.GetCurCol() + i].transform.position, Quaternion.identity); AttackMarkerPosition attMarPos = new AttackMarkerPosition(); attMarPos.row = charMove.GetCurRow(); attMarPos.col = charMove.GetCurCol() + i; attMarkPosList.Add(attMarPos); } } int counter = 1; for (int j = 1; j <= attackRange; j++) { while (counter <= attackRange - j) { // Upper left if (charMove.GetCurRow() - counter >= 0 && charMove.GetCurCol() - j > 0) { Instantiate(Resources.Load("AttackMarker"), grid.row[charMove.GetCurRow() - counter].column[charMove.GetCurCol() - j].transform.position, Quaternion.identity); AttackMarkerPosition attMarPos = new AttackMarkerPosition(); attMarPos.row = charMove.GetCurRow() - counter; attMarPos.col = charMove.GetCurCol() - j; attMarkPosList.Add(attMarPos); } // Lower Left if (charMove.GetCurRow() + counter < grid.row.Length && charMove.GetCurCol() - j > 0) { Instantiate(Resources.Load("AttackMarker"), grid.row[charMove.GetCurRow() + counter].column[charMove.GetCurCol() - j].transform.position, Quaternion.identity); AttackMarkerPosition attMarPos = new AttackMarkerPosition(); attMarPos.row = charMove.GetCurRow() + counter; attMarPos.col = charMove.GetCurCol() - j; attMarkPosList.Add(attMarPos); } // Upper Right if (charMove.GetCurRow() - counter >= 0 && charMove.GetCurCol() + j < grid.row[charMove.GetCurRow()].column.Length) { Instantiate(Resources.Load("AttackMarker"), grid.row[charMove.GetCurRow() - counter].column[charMove.GetCurCol() + j].transform.position, Quaternion.identity); AttackMarkerPosition attMarPos = new AttackMarkerPosition(); attMarPos.row = charMove.GetCurRow() - counter; attMarPos.col = charMove.GetCurCol() + j; attMarkPosList.Add(attMarPos); } // Lower Right if (charMove.GetCurRow() + counter < grid.row.Length && charMove.GetCurCol() + j < grid.row[charMove.GetCurRow()].column.Length) { Instantiate(Resources.Load("AttackMarker"), grid.row[charMove.GetCurRow() + counter].column[charMove.GetCurCol() + j].transform.position, Quaternion.identity); AttackMarkerPosition attMarPos = new AttackMarkerPosition(); attMarPos.row = charMove.GetCurRow() + counter; attMarPos.col = charMove.GetCurCol() + j; attMarkPosList.Add(attMarPos); } counter++; } } calculateAttackRange = false; } } } }