public void forcedOff() { if (isRiding) { rigidBody.isKinematic = false; this.transform.parent = null; collider.enabled = true; //transform.position = Vector3.zero; transform.position = new Vector3(transform.position.x + 2 * movement.playerDirection, transform.position.y + 2, transform.position.z); rigidBody.AddForce(Vector3.up * 10); isRiding = false; movement.GetComponent <NetworkObjectScript>().Transmit = true; } }
// Use this for initialization void Start() { player = FindObjectOfType <characterMovement> (); spread = player.activeWeapon.spread / 100; projectileSpeed = player.activeWeapon.projectileSpeed; lifetime = player.activeWeapon.projectileLifetime; Destroy(gameObject, lifetime); Vector3 aimPos = transform.position; Vector3 playerPos = player.transform.position; aimPos.x -= playerPos.x; aimPos.y -= playerPos.y; float angle = Mathf.Atan2(aimPos.y, aimPos.x); //Debug.Log (angle); angle += Random.Range(-spread, spread); //Debug.Log (angle); float xVelocity = projectileSpeed * Mathf.Cos(angle); float yVelocity = projectileSpeed * Mathf.Sin(angle); playerVector = player.GetComponent <Rigidbody2D> ().velocity; GetComponent <Rigidbody2D> ().velocity = new Vector2(xVelocity + (playerVector.x * 0.75f), yVelocity + (playerVector.y * 0.75f)); velocity = GetComponent <Rigidbody2D>().velocity; }
// Update is called once per frame void Update() { movement = GetComponent <characterMovement>(); if (movement.isMoving && isRiding == true) { rigidBody.isKinematic = false; this.transform.parent = null; collider.enabled = true; transform.position = new Vector3(transform.position.x, transform.position.y + 2, transform.position.z); rigidBody.AddForce(Vector3.up * 10); //rigidBody.AddForce(Vector3.up * 600); isRiding = false; Debug.Log("epic"); } if (isRiding == false) { movement.GetComponent <NetworkObjectScript>().Transmit = true; } }
//Data is sent here and stored as a NetOP so it can be distinguished as the correct action private void onData(int ConnectionId, int channelId, int recHostId, nMsg msg) { switch (msg.OP) //Server Recieves much data than the client { case NetOP.None: Debug.Log("Incorrect initialisation"); break; case NetOP.Position: Debug.Log("New Position"); Player1Proper.transform.position = ((n_Position)msg).Position; Player1Proper.GetComponent <standOnBoomerang>().forcedOff(); break; case NetOP.SyncSceneObjects: //recieve objects and sync unity objects of the correct ID ObjectManager.SyncObjects(((UpdatedObjectContainer)msg).SceneObjects); break; case NetOP.Action: nAction ActionToggle = (nAction)msg; crystalize.crystalize(); break; } }