Esempio n. 1
0
        public void SendCommandToHit(Unit source, IDamageable target, int damage = -1)
        {
            Damage _damage = new Damage(damage, true);

            if (damage == -1)
            {
                _damage = DamageCalculator.CalculateDamage(source, target);
            }
            if (Global.instance.matchType == MatchTypes.Online)
            {
                int targetX = Mathf.RoundToInt(target.GetMyPosition().x);
                int targetZ = Mathf.RoundToInt(target.GetMyPosition().z);
                photonView.RPC
                    ("RPCHitTarget",
                    RpcTarget.All,
                    source.currentPosition.bottomLeftCorner.position.x,
                    source.currentPosition.bottomLeftCorner.position.z,
                    targetX,
                    targetZ,
                    _damage.baseDamage,
                    _damage.isHit);
            }
            else
            {
                source.HitTarget(target, _damage);
            }
        }
Esempio n. 2
0
        void RPCHitTarget(int sourceX, int sourceZ, int targetX, int targetZ, int damage, bool isHit)
        {
            Unit        source  = Global.instance.currentMap.board[sourceX, sourceZ].GetMyObject <Unit>();
            IDamageable target  = Global.instance.currentMap.board[targetX, targetZ].GetMyDamagableObject();
            Damage      _damage = new Damage(damage, isHit);

            source.HitTarget(target, _damage);
        }