示例#1
0
        public void Cast(byte[] pckData, NetworkMessageInfo info)
        {
            //ServerCheck

            C2S.CastSkill pck = new C2S.CastSkill();
            pck.DeserializeFromBytes(pckData);

            if (CanCast(pck.skillName))
                return;

            return;
        }
示例#2
0
        void TryCast(SkillInfo skill)
        {
            if (player.IsDead()) return;

            Vector3 worldMousePosition = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, 0));
            Vector2 direction = (worldMousePosition - player.transform.position);
            direction.Normalize();

            C2S.CastSkill cast = new C2S.CastSkill(player.GetOwner(), skill.skillData.skillName, direction);

            if (Network.isServer)
            {
                Cast(cast.SerializeToBytes(), new NetworkMessageInfo());
            }
            else
            {
                GetComponent<NetworkView>().RPC("Cast", RPCMode.Server, cast.SerializeToBytes());
            }
        }