public void Cast(byte[] pckData, NetworkMessageInfo info) { //ServerCheck C2S.CastSkill pck = new C2S.CastSkill(); pck.DeserializeFromBytes(pckData); if (CanCast(pck.skillName)) return; return; }
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()); } }