void RPCRetaliate(int attackerX, int attackerZ, int targetX, int targetZ) { Unit attacker = Global.instance.currentMap.board[attackerX, attackerZ].GetMyObject <Unit>(); Unit target = Global.instance.currentMap.board[targetX, targetZ].GetMyObject <Unit>(); attacker.RetaliateTo(target); }
/// <summary> /// Used to either perform retaliation in offline modes or send an RPC in online mode. /// </summary> /// <param name="retaliatingUnit"></param> /// <param name="retaliationTarget"></param> public void SendCommandToRetaliate(Unit retaliatingUnit, Unit retaliationTarget) { //note also that AttackTarget is now the guy who retaliates, and AttackingUnit is getting hit. if (Global.instance.matchType == MatchTypes.Online) { int unitX = retaliatingUnit.currentPosition.bottomLeftCorner.position.x; int unitZ = retaliatingUnit.currentPosition.bottomLeftCorner.position.z; photonView.RPC("RPCRetaliate", RpcTarget.All, unitX, unitZ); } else { retaliatingUnit.RetaliateTo(retaliationTarget); } }