public override void DoHandle(int messageType, PlayerDamageInfoMessage messageBody)
        {
            Logger.DebugFormat("Handle message {0} {1} {2} {3}", messageBody.EntityId, messageBody.Damage, messageBody.PosX, messageBody.PosZ);
            var selfPlayer = _playerContext.flagSelfEntity;

            if (null == selfPlayer)
            {
                Logger.Error("self player is null");
                return;
            }
            if (!selfPlayer.hasCameraObj)
            {
                Logger.Error("player has no camera obj");
                return;
            }
            if (!selfPlayer.hasPosition)
            {
                Logger.Error("player has no position");
                return;
            }
            var forword   = selfPlayer.cameraObj.MainCamera.transform.forward;
            var forwordxz = new Vector2(forword.x, forword.z);
            var myPos     = selfPlayer.position.Value;
//            var damageSrcPos = new Vector3(messageBody.PosX, 0, messageBody.PosZ);
            var damageSrcPos = new FixedVector3(messageBody.PosX, 0, messageBody.PosZ);
            var dir          = damageSrcPos.ShiftedVector3() - myPos;
            var dirxz        = new Vector2(dir.x, dir.z);
            var cross        = dirxz.x * forwordxz.y - dirxz.y * forwordxz.x;
            var angle        = Vector2.Angle(dirxz, forwordxz) * -Mathf.Sign(cross);

            Logger.InfoFormat("myPos {0} srcPos {1} camForward {2} Angle is {3}", myPos, damageSrcPos, forword, angle);
            _uiContext.uI.HurtedDataList[messageBody.EntityId] = new CrossHairHurtedData(messageBody.Damage, angle, new Vector2(damageSrcPos.ShiftedVector3().x, damageSrcPos.ShiftedVector3().z));
        }
Ejemplo n.º 2
0
        public Vector3 GetPos(int seq)
        {
            if (ClientSeq < ServerSeq)
            {
                ClientSeq = ServerSeq;
                return(AdjustPos.ShiftedVector3());
            }

            return(Vector3.zero);
        }
Ejemplo n.º 3
0
 public Vector3 ShiftedVector3()
 {
     return(Vector.ShiftedVector3());
 }