예제 #1
0
        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();
        }
예제 #2
0
파일: Player.cs 프로젝트: pdxparrot/ggj2018
        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);
        }
예제 #3
0
        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();
            }
        }