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); } } } }
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); } } }
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); } } }
// 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); } } } }