Example #1
0
 /// <summary>
 /// First frame
 /// </summary>
 void Start()
 {
     btnAuthLogin.SetOnClick(() => EOSP2P.LoginAuth().Forget());
     btnDeleteAuth.SetOnClick(() => SaveDataUtils.DeleteKey(Defines.KEY_REFRESH_TOKEN));
     btnDevLogin.SetOnClick(() => EOSP2P.LoginDev(inptDevPort.text.ToInt(), inptDevName.text).Forget());
     btnGithub.SetOnClick(() => Application.OpenURL("https://github.com/okamototomoyuki/unity_eos_fps"));
 }
Example #2
0
        /// <summary>
        /// Every frame
        /// </summary>
        protected override void Tick()
        {
            // Damage manipulate
            if (chr.isDamage)
            {
                hp--;
                chr.isDamage = false;
            }
            if (hp == 0)
            {
                chr.DestroyNotNull();
            }

            // Input manipulate
            var isMove = false;
            var chrPos = chr.GetPosition();
            var speed  = 5; // TODO Temp

            if (Input.GetKey(KeyCode.W))
            {
                isMove  = true;
                chrPos += chr.transform.forward * Time.deltaTime * speed;
            }
            if (Input.GetKey(KeyCode.S))
            {
                isMove  = true;
                chrPos += chr.transform.forward * -1 * Time.deltaTime * speed;
            }
            if (Input.GetKey(KeyCode.D))
            {
                isMove  = true;
                chrPos += chr.transform.right * Time.deltaTime * speed;
            }
            if (Input.GetKey(KeyCode.A))
            {
                isMove  = true;
                chrPos += chr.transform.right * -1 * Time.deltaTime * speed;
            }
            if (isMove)
            {
                chr.SetPosition(chrPos);
            }

            var dx = Input.GetAxis("Mouse X") / 2f / Screen.width * 4000;
            var dy = Input.GetAxis("Mouse Y") / 2f / Screen.height * 4000;

            if (UI.isLockMouse == false)
            {
                dx = 0f;
                dy = 0f;
            }


            var bodyRot = chr.transform.localRotation.eulerAngles.y + dx;
            var camRot  = chr.camera.transform.localRotation.eulerAngles.x - dy;

            if (dy > 0 && (camRot < -90f && camRot > -180f || camRot < 270f && camRot > 180f))
            {
                camRot = 271f;
            }
            else if (dy < 0 && camRot > 90f && camRot < 180f)
            {
                camRot = 89f;
            }
            chr.Manipulate(chrPos, bodyRot, camRot, Input.GetMouseButtonDown(0));

            // Send Packet
            var packet = new PacketData {
                position = chrPos, rotX = bodyRot, rotY = camRot, isFire = Input.GetMouseButtonDown(0) ? (byte)1 : (byte)0
            };

            EOSP2P.Send(MarshalTools.Serialize(packet));

            if (chr.state == MoveState.LANDING)
            {
                if (Input.GetKey(KeyCode.Space))
                {
                    chr.Jump();
                }
            }
        }