private void Update() { FPS.FPSUpdate(); if (IN_GAME_MAIN_CAMERA.GameType != GameType.Single) { Labels.NetworkStatus = PhotonNetwork.connectionStateDetailed + (PhotonNetwork.connected ? " ping: " + PhotonNetwork.GetPing() : ""); } if (!gameStart) { return; } bool cameraUpdate = false; int i; for (i = 0; i < hooks.Count; i++) { hooks[i].update(); } for (i = 0; i < heroes.Count; i++) { HERO hero = heroes[i]; hero.update(); if (hero.IsLocal) { mainCamera?.update(); cameraUpdate = true; } } if (IN_GAME_MAIN_CAMERA.GameType == GameType.Single || PhotonNetwork.IsMasterClient) { for (i = 0; i < titans.Count; i++) { titans[i].update(); } } else if (IN_GAME_MAIN_CAMERA.GameType == GameType.MultiPlayer && PhotonNetwork.player.IsTitan) { for (i = 0; i < titans.Count; i++) { if (titans[i].IsLocal) { titans[i].update(); mainCamera?.update(); cameraUpdate = true; } } } if (mainCamera != null) { if (!cameraUpdate) { mainCamera.update(); } mainCamera.snapShotUpdate(); } logic.OnUpdate(); }