using System; using Hazel; using InnerNet; using UnityEngine; public class LobbyBehaviour : InnerNetObject { public static LobbyBehaviour Instance; public AudioClip SpawnSound; public AnimationClip SpawnInClip; public Vector2[] SpawnPositions; public AudioClip DropShipSound; public ShipRoom[] AllRooms; private float timer; public void Start() { LobbyBehaviour.Instance = this; SoundManager.Instance.StopAllSound(); SoundManager.Instance.PlaySound(this.DropShipSound, true, 1f).pitch = 1.2f; Camera main = Camera.main; if (main) { FollowerCamera component = main.GetComponent(); if (component) { component.shakeAmount = 0.03f; component.shakePeriod = 400f; } } } public void FixedUpdate() { this.timer += Time.deltaTime; if (this.timer < 0.25f) { return; } this.timer = 0f; if (PlayerControl.GameOptions != null) { int numPlayers = GameData.Instance ? GameData.Instance.PlayerCount : 10; DestroyableSingleton.Instance.GameSettings.Text = PlayerControl.GameOptions.ToHudString(numPlayers); DestroyableSingleton.Instance.GameSettings.gameObject.SetActive(true); } } public override void OnDestroy() { Camera main = Camera.main; if (main) { FollowerCamera component = main.GetComponent(); if (component) { component.shakeAmount = 0.02f; component.shakePeriod = 0.3f; } } base.OnDestroy(); } public override void HandleRpc(byte callId, MessageReader reader) { } public override bool Serialize(MessageWriter writer, bool initialState) { return false; } public override void Deserialize(MessageReader reader, bool initialState) { } }