void OnCollisionEnter(Collision collision) { if ("Hero".Equals(collision.collider.tag)) { HeroController hero = collision.collider.GetComponent <HeroController>(); if (_playerID == hero._heroID) { Debug.Log("子弹打到自己了。。。"); } } if ("Player".Equals(collision.collider.tag)) { PlayerController player = collision.collider.GetComponent <PlayerController>(); if (_playerID != player._playerID) { Pb.Position position = new Pb.Position(); position.X = collision.contacts[0].point.x; position.Y = collision.contacts[0].point.y; position.Z = collision.contacts[0].point.z; Pb.SkillContact crash = new Pb.SkillContact(); crash.BulletId = _bulletID; crash.SkillId = _skillID; crash.SrcPid = _playerID; crash.TargetPid = player._playerID; crash.ContactPos = position; byte[] message = crash.ToByteArray(); NetworkHandler.Instance.SendMessage(Protocol.GAME_MSG_SKILL_CONTACT, message); } } Destroy(this.gameObject); }
private void SendPosition() { Pb.Position pos = new Pb.Position(); pos.X = this.transform.position.x; pos.Y = this.transform.position.y; pos.Z = this.transform.position.z; pos.V = this.transform.localEulerAngles.y; //当前玩家的面朝方向应该获取欧拉角度的y轴旋转角度 pos.BloodValue = this.HP; NetworkController.Instance.SendMessage(3, pos); }
public void post() { Pb.Position position = new Pb.Position(); position.X = this.transform.position.x; position.Y = this.transform.position.y; position.Z = this.transform.position.z; position.V = this.transform.localEulerAngles.y; position.BloodValue = (int)(_heroBlood.value * 1000.0f); byte[] message = position.ToByteArray(); NetworkHandler.Instance.SendMessage(Protocol.GAME_MSG_NEW_POSTION, message); }
private void OnCollisionEnter(Collision collision) { //Debug.Log(collision.rigidbody.gameObject.tag); if (collision.collider.tag == "Player") { var pc = collision.collider.GetComponent <PlayerController>(); if (PlayerId == pc.Pid) { return; } } else if (collision.collider.tag == "OtherPlayer") { var ai = collision.collider.GetComponent <AIController>(); if (ai != null) { if (ai.Pid == this.PlayerId) { return; } Pb.SkillContact contact = new Pb.SkillContact(); contact.BulletId = this.BulletId; contact.SkillId = this.SkillId; contact.SrcPid = this.PlayerId; contact.TargetPid = ai.Pid; Pb.Position contacPos = new Pb.Position(); contacPos.X = collision.contacts[0].point.x; contacPos.Y = collision.contacts[0].point.y; contacPos.Z = collision.contacts[0].point.z; contact.ContactPos = contacPos; NetworkController.Instance.SendMessage(NetworkController.Protocol.GAME_MSG_SKILL_CONTACT, contact); } else { Debug.Log("Can not get other player script"); } } Destroy(this.gameObject); }