コード例 #1
0
ファイル: EvaInfoModule.cs プロジェクト: cake-pie/EVA-Info
        private void SetupPane()
        {
            // canvas
            GameObject canvasGO = new GameObject($"EvaInfoCanvas ({pcm.name})");

            canvasGO.layer = LayerMask.NameToLayer("Default"); // Important! camera culls UI layer
            Transform canvasTransform = canvasGO.AddComponent <RectTransform>();

            canvas               = canvasGO.AddComponent <Canvas>();
            canvas.renderMode    = RenderMode.ScreenSpaceCamera;
            canvas.pixelPerfect  = true;
            camera               = FlightCamera.fetch.mainCamera;
            canvas.worldCamera   = camera;
            canvas.planeDistance = camera.nearClipPlane;
            CanvasScaler canvasScalar = canvasGO.AddComponent <CanvasScaler>();

            canvasScalar.uiScaleMode = CanvasScaler.ScaleMode.ConstantPixelSize;
            canvasGO.AddComponent <GraphicRaycaster>();

            // panel root
            panelRootTransform = new GameObject("EvaInfoRoot").AddComponent <RectTransform>();
            panelRootTransform.SetParent(canvasTransform, false);
            panelRootTransform.anchorMin = Vector2.zero;
            panelRootTransform.anchorMax = Vector2.zero;
            panelRootTransform.pivot     = Vector2.one / 2;
            panelRootTransform.sizeDelta = Vector2.zero;

            infoPane = new EvaInfoPane(pcm, panelRootTransform);
        }
コード例 #2
0
ファイル: EvaInfoModule.cs プロジェクト: cake-pie/EVA-Info
 private void CleanupPane()
 {
     if (canvas != null)
     {
         Destroy(canvas.gameObject);
     }
     canvas             = null;
     camera             = null;
     panelRootTransform = null;
     infoPane           = null;
 }