Ejemplo n.º 1
0
    public void KeyboardMove()
    {
        if (!NrTSingleton <NkClientLogic> .Instance.IsMovable())
        {
            return;
        }
        if (!this.m_pkChar.IsMovingAnimation())
        {
            return;
        }
        NrCharUser nrCharUser = this.m_pkChar as NrCharUser;

        if (nrCharUser == null || !nrCharUser.IsReady3DModel())
        {
            return;
        }
        Nr3DCharActor nr3DCharActor = nrCharUser.Get3DChar() as Nr3DCharActor;

        if (nr3DCharActor == null)
        {
            return;
        }
        Transform transform = Camera.main.transform;
        Vector3   a         = transform.TransformDirection(Vector3.forward);

        a.y = 0f;
        a   = a.normalized;
        Vector3 a2       = new Vector3(a.z, 0f, -a.x);
        float   axisRaw  = NkInputManager.GetAxisRaw("Vertical");
        float   axisRaw2 = NkInputManager.GetAxisRaw("Horizontal");
        Vector3 vector   = axisRaw2 * a2 + axisRaw * a;
        Vector3 vector2  = Vector3.zero;

        if (vector != Vector3.zero)
        {
            float num = 0.3f;
            vector2 = Vector3.RotateTowards(vector2, vector, num * 0.0174532924f * Time.deltaTime, 1f);
            if (this.IsMovableArea(this.m_vCharPos.x + vector2.x, this.m_vCharPos.z + vector2.z) != NrCharDefine.eMoveTargetReason.MTR_SUCCESS && !this.FindMovableAreaByKey(ref vector2))
            {
                return;
            }
            vector2 = vector2.normalized;
        }
        if (vector2 == Vector3.zero)
        {
            return;
        }
        this.ProcessIncreaseMove();
        nr3DCharActor.KeyboardMove(vector2, true);
        this.SetCharPos(nr3DCharActor.GetRootGameObject());
        this.SendCharMovePacketForKeyBoardMove(false);
        this.m_bArrived      = false;
        this.m_bKeyboardMove = true;
        this.m_bMouseMove    = false;
    }
Ejemplo n.º 2
0
    public void CameraUpdate(ref NrBattleMap BattleMap)
    {
        if (this.m_TargetGo == null)
        {
            return;
        }
        NrTSingleton <NkBattleCharManager> .Instance.SyncBillboardRotate();

        if (this.m_bSetCameraTrigger)
        {
            if (Time.time - this.m_fTriggerStartTime < this.m_fActionTime)
            {
                Vector3 pos = Vector3.zero;
                pos = Vector3.Lerp(this.m_veTriggerStartPos, this.m_veTriggerEndPos, (Time.time - this.m_fTriggerStartTime) / this.m_fActionTime);
                if (this.m_bCalcheight)
                {
                    this.currentDistance = this.m_TargetGo.transform.position.y;
                    this.desiredDistance = BattleMap.GetBattleMapHeight(pos);
                    pos.y = Mathf.Lerp(this.currentDistance, this.desiredDistance, Time.deltaTime * 4f);
                }
                this.SetcameraPos(pos);
            }
            else if (Time.time - this.m_fTriggerStartTime > this.m_fDurningTime)
            {
                this.m_bSetCameraTrigger = false;
                this.SetcameraPos(this.m_veTriggerStartPos);
            }
            return;
        }
        bool flag = false;

        if (NkInputManager.GetKey(KeyCode.UpArrow) || NkInputManager.GetKey(KeyCode.W))
        {
            flag = true;
        }
        if (NkInputManager.GetKey(KeyCode.DownArrow) || NkInputManager.GetKey(KeyCode.S))
        {
            flag = true;
        }
        if (NkInputManager.GetKey(KeyCode.LeftArrow) || NkInputManager.GetKey(KeyCode.A))
        {
            flag = true;
        }
        if (NkInputManager.GetKey(KeyCode.RightArrow) || NkInputManager.GetKey(KeyCode.D))
        {
            flag = true;
        }
        if (NkInputManager.GetKeyUp(KeyCode.RightBracket))
        {
            this.m_fScrollViewSensitive += 0.001f;
            if (this.m_fScrollViewSensitive < 0f)
            {
                this.m_fScrollViewSensitive = 0.01f;
            }
            Debug.Log("Set ScrollView Sensitive " + this.m_fScrollViewSensitive);
        }
        if (NkInputManager.GetKeyUp(KeyCode.LeftBracket))
        {
            this.m_fScrollViewSensitive -= 0.001f;
            if (this.m_fScrollViewSensitive > 0.07f)
            {
                this.m_fScrollViewSensitive = 0.07f;
            }
            Debug.Log("Set ScrollView Sensitive " + this.m_fScrollViewSensitive);
        }
        if (!flag && !this.m_bCalcheight)
        {
            return;
        }
        if (this.m_bScrollView)
        {
            return;
        }
        if (Camera.main == null)
        {
            return;
        }
        Transform transform = Camera.main.transform;
        Vector3   a         = transform.TransformDirection(Vector3.forward);

        a.y = 0f;
        a   = a.normalized;
        Vector3 normalized = new Vector3(a.z, 0f, -a.x);

        normalized = normalized.normalized;
        float d  = 0f;
        float d2 = 0f;

        if (flag)
        {
            d  = NkInputManager.GetAxisRaw("Vertical");
            d2 = NkInputManager.GetAxisRaw("Horizontal");
        }
        Vector3 vector  = d2 * normalized + d * a;
        Vector3 vector2 = Vector3.zero;

        if (vector != Vector3.zero)
        {
            float num = 0.3f;
            vector2 = Vector3.RotateTowards(vector2, vector, num * 0.0174532924f * Time.deltaTime, 1f).normalized;
        }
        if (vector2 == Vector3.zero && !this.m_bCalcheight)
        {
            return;
        }
        Vector3 vector3 = Vector3.zero;

        vector3 = this.m_TargetGo.transform.position + vector2 * Time.deltaTime * this.zoomDampening;
        if (this.m_TargetGo.transform.position.x < this.m_fMoveLimitX && vector2.x != 0f)
        {
            vector3.x = this.m_fMoveLimitX;
        }
        if (this.m_TargetGo.transform.position.x > this.m_fMapXSize && vector2.x != 0f)
        {
            vector3.x = this.m_fMapXSize;
        }
        if (this.m_TargetGo.transform.position.z < this.m_fMoveLimitZ && vector2.z != 0f)
        {
            vector3.z = this.m_fMoveLimitZ;
        }
        if (this.m_TargetGo.transform.position.z > this.m_fMapZSize && vector2.z != 0f)
        {
            vector3.z = this.m_fMapZSize;
        }
        if (this.m_bCalcheight)
        {
            this.currentDistance = this.m_TargetGo.transform.position.y;
            this.desiredDistance = BattleMap.GetBattleMapHeight(vector3);
            vector3.y            = Mathf.Lerp(this.currentDistance, this.desiredDistance, Time.deltaTime * 4f);
        }
        this.m_TargetGo.transform.position = vector3;
    }
 public void Update()
 {
     if (!EventTriggerMiniCamera._bUseControll)
     {
         return;
     }
     if (NkInputManager.GetKeyUp(KeyCode.KeypadEnter))
     {
         EventTriggerMiniCamera.m_bControllPosition = !EventTriggerMiniCamera.m_bControllPosition;
     }
     if (NkInputManager.GetKey(KeyCode.Keypad8))
     {
         if (EventTriggerMiniCamera.m_bControllPosition)
         {
             base.gameObject.transform.localPosition += base.gameObject.transform.up.normalized * EventTriggerMiniCamera.m_Reaction;
         }
         else
         {
             base.gameObject.transform.localEulerAngles += new Vector3(-EventTriggerMiniCamera.m_Reaction, 0f, 0f);
         }
     }
     if (NkInputManager.GetKey(KeyCode.Keypad2))
     {
         if (EventTriggerMiniCamera.m_bControllPosition)
         {
             base.gameObject.transform.localPosition -= base.gameObject.transform.up.normalized * EventTriggerMiniCamera.m_Reaction;
         }
         else
         {
             base.gameObject.transform.localEulerAngles += new Vector3(EventTriggerMiniCamera.m_Reaction, 0f, 0f);
         }
     }
     if (NkInputManager.GetKey(KeyCode.Keypad4))
     {
         if (EventTriggerMiniCamera.m_bControllPosition)
         {
             base.gameObject.transform.localPosition -= base.gameObject.transform.right.normalized * EventTriggerMiniCamera.m_Reaction;
         }
         else
         {
             base.gameObject.transform.localEulerAngles += new Vector3(0f, -EventTriggerMiniCamera.m_Reaction, 0f);
         }
     }
     if (NkInputManager.GetKey(KeyCode.Keypad6))
     {
         if (EventTriggerMiniCamera.m_bControllPosition)
         {
             base.gameObject.transform.localPosition += base.gameObject.transform.right.normalized * EventTriggerMiniCamera.m_Reaction;
         }
         else
         {
             base.gameObject.transform.localEulerAngles += new Vector3(0f, EventTriggerMiniCamera.m_Reaction, 0f);
         }
     }
     if (NkInputManager.GetKey(KeyCode.KeypadPeriod))
     {
         if (EventTriggerMiniCamera.m_bControllPosition)
         {
             base.gameObject.transform.localPosition += base.gameObject.transform.forward.normalized * EventTriggerMiniCamera.m_Reaction;
         }
         else
         {
             base.gameObject.transform.localEulerAngles += new Vector3(0f, 0f, EventTriggerMiniCamera.m_Reaction);
         }
     }
     if (NkInputManager.GetKey(KeyCode.Keypad0))
     {
         if (EventTriggerMiniCamera.m_bControllPosition)
         {
             base.gameObject.transform.localPosition -= base.gameObject.transform.forward.normalized * EventTriggerMiniCamera.m_Reaction;
         }
         else
         {
             base.gameObject.transform.localEulerAngles += new Vector3(0f, 0f, -EventTriggerMiniCamera.m_Reaction);
         }
     }
     if (NkInputManager.GetKey(KeyCode.KeypadPlus))
     {
         EventTriggerMiniCamera.m_Reaction += 0.25f;
     }
     if (NkInputManager.GetKey(KeyCode.KeypadMinus))
     {
         EventTriggerMiniCamera.m_Reaction -= 0.25f;
     }
     if (NkInputManager.GetMouseButton(0))
     {
         base.gameObject.transform.localEulerAngles += new Vector3(-NkInputManager.GetAxisRaw("Mouse Y"), NkInputManager.GetAxisRaw("Mouse X"), 0f);
     }
     if (NkInputManager.GetMouseButton(1))
     {
         base.gameObject.transform.localEulerAngles += new Vector3(0f, 0f, NkInputManager.GetAxisRaw("Mouse X"));
     }
     if (NkInputManager.GetAxis("Mouse ScrollWheel") != 0f)
     {
         base.gameObject.transform.localPosition -= base.gameObject.transform.forward.normalized * NkInputManager.GetAxis("Mouse ScrollWheel");
     }
 }