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;
     }
 }
示例#2
0
    // 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;
        }
    }
示例#4
0
    //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;
        }
    }