Example #1
0
    public void DoHit(PhoneCursor p_userID)
    {
        //if the trash gets yoinked from you.
        if (heldBy != null)
        {
            heldBy.heldItem = null;
        }

        heldBy = p_userID;
    }
    private void Update()
    {
        // Set the rotation (used to drive the cursor)

        //If were in the intro scene, fire constantly. Can set this to some other check when we make it one scene
        //Constant Raycast for Intro Scene
        if (m_scene.name == "StartingScene")
        {
            foreach (PhoneCursor user in users)
            {
                user.ConstantFire(webSocket);
            }
        }

        while (queuedCursorMoves.Count() > 0)
        {
            StoredCursorMove move = queuedCursorMoves.Dequeue();
            foreach (PhoneCursor user in users)
            {
                if (user.userID == move.userID)
                {
                    user.SetStoredRotation(move.storedRotation);
                }
            }
        }

        while (queuedPlayerFires.Count() > 0)
        {
            StoredPlayerFire fire = queuedPlayerFires.Dequeue();
            //Debug.Log("Fire Msg | IsHeld: " + fire.isHeld + " | User ID: " + fire.userID);
            foreach (PhoneCursor user in users)
            {
                if (user.userID == fire.userID)
                {
                    if (!fire.isHeld)
                    {
                        user.Release(webSocket);
                    }
                    else
                    {
                        user.Fire(webSocket);
                    }
                }
            }
        }

        while (queuedUsers.Count() > 0)
        {
            GameObject  phoneCursor = Instantiate(phoneCursorPrefab);
            PhoneCursor phoneComp   = phoneCursor.GetComponent <PhoneCursor>();
            phoneComp.userID = queuedUsers.Dequeue();
            //Add user to list
            phoneComp.SetWebSocket(webSocket);
            users.Add(phoneComp);
        }

        while (queuedDisconnects.Count() > 0)
        {
            int disconnectedUser = queuedDisconnects.Dequeue();
            for (int q = users.Count - 1; q >= 0; q--)
            {
                PhoneCursor user = users[q];
                if (user.userID == disconnectedUser)
                {
                    users.Remove(user);
                    GameObject.Destroy(user.gameObject);
                }
            }
        }
    }