Exemple #1
0
        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);
        }
Exemple #2
0
        /// <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);
            }
        }