protected override void OnDestroy() { _weatherZoneEffect.ParticleSystemParent = null; if (ViewerManager.HasInstance) { ViewerManager.Instance.ReleaseViewer(_viewer); } _viewer = null; if (PlayerManager.HasInstance) { PlayerManager.Instance.Unregister(this); } base.OnDestroy(); }
public void InitializeLocal(int id, int controllerIndex, Camera.Viewer viewer, Bird bird, BirdTypeData birdType) { Driver.ControllerIndex = controllerIndex; _viewer = viewer; Debug.Log($"Initializing local player {id}"); Initialize(id, bird, birdType); Viewer.Initialize(this); Viewer.FollowCamera.SetTarget(this); // ouch.... why not just render everything except for OtherRenderLayer ? Viewer.AddRenderLayer(Bird.Type.PlayerLayer); Viewer.AddRenderLayer(Bird.Type.OtherPlayerLayer); Viewer.AddRenderLayer(Bird.Type.RenderLayer); Viewer.RemoveRenderLayer(Bird.Type.OtherRenderLayer); Viewer.AddRenderLayer(GameManager.Instance.ObstacleLayer); }
private void InitializeLocalPlayer() { if (!IsLocalActor) { return; } Debug.Log("Initializing local player"); _driver.Initialize(); _viewer = ViewerManager.Instance.AcquireViewer <Camera.Viewer>(); if (null != _viewer) { _viewer.Initialize(this); _weatherZoneEffect.ParticleSystemParent = _viewer.transform; } UIManager.Instance.InitializePlayerUI(this); if (null != UIManager.Instance.PlayerUI) { UIManager.Instance.PlayerUI.PlayerHUD.ShowInfoText(); } }