protected virtual void SendAcceleration(Vector3 acceleration) { // send acceleration data AccelerationMessage msg = new AccelerationMessage(); msg.Acceleration = acceleration; this.Client.Send(InputMsgType.Acceleration, msg); }
private void Move() { //if (Input.GetKeyDown(KeyCode.Space)) //{ // ShootItemMessage message = new ShootItemMessage(); // message.ItemPrefab = null; // message.PlayerID = 0; //} // message increase decrease acceleration if (Input.GetKey(KeyCode.W) || Input.GetKey(KeyCode.S)) { AccelerationMessage message = new AccelerationMessage(); message.PlayerID = 0; // ist das richtig?! message.Acceleration = m_acceleration; message.Speed = m_speed; if (Input.GetKey(KeyCode.W)) { message.PressedKey = KeyCode.W; //m_acceleration += 0.5f * Time.deltaTime; } if (Input.GetKey(KeyCode.S)) { message.PressedKey = KeyCode.S; //m_acceleration -= 0.5f * Time.deltaTime; } if (IsServer) { NetworkManager.Instance.SendMessageToClients(message); } else { NetworkManager.Instance.SendMessageToServer(message); } } if (Input.GetKey(KeyCode.Space)) { // message handbreak HandbreakMessage message = new HandbreakMessage(); message.PlayerID = 0; // ist das richtig?! //message.Speed = m_speed; message.Acceleration = m_acceleration; if (IsServer) { NetworkManager.Instance.SendMessageToClients(message); } else { NetworkManager.Instance.SendMessageToServer(message); } } // no key pressed --> acceleration decreases else { AccelerationMessage message = new AccelerationMessage(); message.PlayerID = 0; // ist das richtig?! message.Acceleration = m_acceleration; message.Speed = m_speed; message.PressedKey = KeyCode.None; //if (m_acceleration > 0) // m_acceleration -= 0.5f * Time.deltaTime; //else if (m_acceleration < 0) // m_acceleration += 0.5f * Time.deltaTime; //else //{ // m_acceleration = 0.0f; //} //if (m_speed > 0) //{ // m_speed -= 0.1f * Time.deltaTime; //} //else if (m_speed < 0) //{ // m_speed += 0.1f * Time.deltaTime; //} //SetIsDirty(); ??? if (IsServer) { NetworkManager.Instance.SendMessageToClients(message); } else { NetworkManager.Instance.SendMessageToServer(message); } } // noch neu ordnen!!! & sortieren / rauswerfen //m_acceleration = Mathf.Clamp(m_acceleration, -5.0f, 5.0f); //m_speed += m_acceleration; // m_speed = Mathf.Clamp(m_speed, -m_maxSpeed * 0.5f, m_maxSpeed); Vector3 direction = transform.forward;// * m_acceleration; //direction = direction.normalized * m_speed; //Quaternion _rot = transform.rotation * m_rotation.normalized; Quaternion _rot = transform.localRotation * m_rotation.normalized; //transform.position.forward * m_acceleration; direction = direction.normalized * m_acceleration; direction.y = m_rigidbody.velocity.y; m_rigidbody.velocity = direction; transform.position += direction; //transform.localRotation *= _rot; //direction *= Time.deltaTime * m_speed; //direction = transform.TransformDirection(direction); //m_rigidbody.MoveRotation(m_rotation); }
protected virtual void OnReceiveAcceleration(NetworkMessage netMsg) { AccelerationMessage msg = netMsg.ReadMessage <AccelerationMessage> (); this.acceleration = msg.Acceleration; }