// Start is called before the first frame update void Start() { colyseusManager = GameObject.FindObjectOfType<ColyseusManager>(); gameManager = GameObject.FindObjectOfType<GameManager>(); audioManager = GameObject.FindObjectOfType<AudioManager>(); if (roomName != null) { roomName.text = "Room ID: "; } if (playerCount != null) { playerCount.text = "Players: ?"; } if (totalHeat != null) { totalHeat.value = gameManager.GetOverallHeatLevel(); } colyseusManager.LeftRoom += code => { playerCount.text = "Players: 0"; roomName.text = "Room ID: [empty]"; if (reconnectButton != null) { reconnectButton.gameObject.SetActive(true); } }; }
public void Start() { colyseusManager = GameObject.FindObjectOfType <ColyseusManager>(); gameManager = GameObject.FindObjectOfType <GameManager>(); audioManager = GameObject.FindObjectOfType <AudioManager>(); animator = this.GetComponentInChildren <Animator>(); rb = GetComponentInChildren <Rigidbody>(); if (animator == null) { Debug.Log("Animator not found"); } else { animator.SetFloat("speed", 0.0f); } colyseusManager.PlayerUpdated += OnPlayerUpdated; colyseusManager.MessageReceived += (sender, o) => { if (o is IndexedDictionary <string, object> ) { var data = (IndexedDictionary <string, object>)o; var playerId = ""; if (data.ContainsKey("playerId")) { playerId = data["playerId"].ToString(); } if (player.id == playerId) { if (data.ContainsKey("eventType") && data["eventType"].ToString() == "deposit") { gameManager.Deposit(data["color"].ToString(), 1); audioManager.PlaySoundEffect(SoundEffectType.Deposit); } } } Debug.Log("Received message"); }; }
// Start is called before the first frame update async Task Start() { colyseusManager = GameObject.FindObjectOfType <ColyseusManager>(); audioManager = GameObject.FindObjectOfType <AudioManager>(); colyseusManager.ConnectToServer(); await colyseusManager.CreateRoom("game"); timeLeft = 60 * 4; colyseusManager.PlayerAdded += (sender, player) => { var playerPrefab = GetPlayerPrefab(player); if (playerPrefab != null) { if (playerObjects.ContainsKey(player.name)) { Destroy(playerObjects[player.name]); playerObjects.Remove(player.name); } var spawnPoint = GetNextSpawnPoint(); if (spawnPoint == null) { Debug.LogError("No spawn point found"); return; } var playerObject = Instantiate(playerPrefab, spawnPoint.transform.position, Quaternion.identity); playerObjects.Add(player.name, playerObject); var playerScript = playerObject.GetComponent <PlayerController>(); playerScript.player = player; audioManager.PlaySoundEffect(SoundEffectType.PlayerSpawn); if (playerObjects.Count == 1) { StartGame(60 * 3); // Play for 3 minutes... } else { Debug.Log($"Player joined '{player.name}'"); } } }; colyseusManager.PlayerRemoved += (sender, player) => { if (playerObjects.ContainsKey(player.name)) { Destroy(playerObjects[player.name]); playerObjects.Remove(player.name); Debug.Log($"Removed player '{player.name}'"); } }; colyseusManager.LeftRoom += code => { foreach (var player in playerObjects) { Destroy(player.Value); } playerObjects.Clear(); }; }