Beispiel #1
0
    void OnGUI()
    {
        style.fontSize  = Mathf.Min(Mathf.FloorToInt(Screen.width * fontSize / 1000), Mathf.FloorToInt(Screen.height * fontSize / 1000));
        style.alignment = TextAnchor.UpperCenter;

        screenCenter = Screen.width * 0.5f;

        float yPos = 0.0f;

        if (elapsedTime < 5.0f && !spawnerScript.spawnerActive)
        {
            text         = "Collect as many coins as possible";
            content.text = text;
            size         = style.CalcSize(content);
            GUI.Label(new Rect(screenCenter - size.x, yPos, size.x * 2.0f, size.y * 2.0f), text, style);
            yPos        += size.y;
            text         = "Colide into the middle circle to start";
            content.text = text;
            size         = style.CalcSize(content);
            GUI.Label(new Rect(screenCenter - size.x, yPos, size.x * 2.0f, size.y * 2.0f), text, style);
            yPos += size.y;
        }

        if (spawnerScript.spawnerActive && !puzzleComplete)
        {
            text         = "Item: " + spawnerScript.numOfItemSpawned + "/" + spawnerScript.maxSpawns;
            content.text = text;
            size         = style.CalcSize(content);
            GUI.Label(new Rect(screenCenter - size.x, yPos, size.x * 2.0f, size.y * 2.0f), text, style);
            yPos        += size.y;
            text         = "You collected: " + itemCollected;
            content.text = text;
            size         = style.CalcSize(content);
            GUI.Label(new Rect(screenCenter - size.x, yPos, size.x * 2.0f, size.y * 2.0f), text, style);
            yPos += size.y;
        }



        if (!Global.Instance.player.GetComponent <NetworkIdentity>().isServer &&
            puzzleComplete == true)
        {
            foreach (DoorInfo doorInfo in doorInfoList)
            {
                if (!doorInfo.isLocked)
                {
                    roomScript.UnlockDoor(doorInfo.dir);
                }
                if (!doorInfo.haveTriggerBox)
                {
                    roomScript.OffTriggerBox(doorInfo.dir);
                }
            }
        }
    }
Beispiel #2
0
    public void OnTarget()
    {
        Global.Instance.player.SendMessage("AddScore", 5);
        puzzleComplete = true;
        isCompleted    = true;

        Global.Instance.roomGen.roomDataList[roomScript.GetRoomID()].isCompleted = true;
        if (Global.Instance.player.GetComponent <NetworkIdentity>().isServer)
        {
            MessageHandler.Instance.SendUnlockDoor_S2C(roomScript.GetRoomID(), puzzleComplete);
        }
        //else
        // MessageHandler.Instance.SendUnlockDoor_C2S(roomScript.GetRoomID(), puzzleComplete);

        foreach (DoorInfo doorInfo in doorInfoList)
        {
            if (!doorInfo.isLocked)
            {
                roomScript.UnlockDoor(doorInfo.dir);
            }
            if (!doorInfo.haveTriggerBox)
            {
                roomScript.OffTriggerBox(doorInfo.dir);
            }
        }
    }
Beispiel #3
0
    void UnlockDoor()
    {
        completedWaves = true;
        isCompleted    = true;
        Global.Instance.roomGen.roomDataList[roomScript.GetRoomID()].isCompleted = true;

        foreach (DoorInfo doorInfo in doorInfoList)
        {
            if (!doorInfo.isLocked)
            {
                roomScript.UnlockDoor(doorInfo.dir);
            }
            if (!doorInfo.haveTriggerBox)
            {
                roomScript.OffTriggerBox(doorInfo.dir);
            }
        }
    }
Beispiel #4
0
    // Update is called once per frame
    void Update()
    {
        if (player == null)
        {
            return;
        }

        elapsedTime += Time.deltaTime;
        if (isCompleted || puzzleComplete)
        {
            return;
        }
        //Debug.Log(player.transform.position);

        // put a list of player connected in global and then cehck them
        if (Vector3.Distance(player.transform.position, transform.position) < transform.localScale.x * 0.5f - 2.0f && !puzzleComplete)
        {
            LockDoor(DIRECTION.LEFT);
            LockDoor(DIRECTION.RIGHT);
            LockDoor(DIRECTION.UP);
            LockDoor(DIRECTION.DOWN);

            OnTriggerBox(DIRECTION.LEFT);
            OnTriggerBox(DIRECTION.RIGHT);
            OnTriggerBox(DIRECTION.UP);
            OnTriggerBox(DIRECTION.DOWN);

            if (!isLock)
            {
                if (Global.Instance.player.GetComponent <NetworkIdentity>().isServer)
                {
                    MessageHandler.Instance.SendLockDoor_S2C(roomScript.GetRoomID());
                }
                else
                {
                    MessageHandler.Instance.SendLockDoor_C2S(roomScript.GetRoomID());
                }
                isLock = true;
            }
        }

        if (textTimer < elapsedTime)
        {
            wrongSelection = false;
        }


        if (puzzleComplete)
        {
            foreach (DoorInfo doorinfo in doorInfoList)
            {
                if (!doorinfo.isLocked)
                {
                    roomScript.UnlockDoor(doorinfo.dir);
                }
                if (!doorinfo.haveTriggerBox)
                {
                    roomScript.OffTriggerBox(doorinfo.dir);
                }
            }
        }
    }