private void InitializeTerminalWindow() { if (_TerminalWindow == null) { var inst = OcUI_ChatHandler.Inst; var root = inst.GetParent(); var w = root.GetComponentInChildren <TerminalWindow>(true); if (w != null) { _TerminalWindow = w; } if (_TerminalWindow == null) { //Window枠に相当する var o = new GameObject(); o.SetParent(root); //TerminalWindowスクリプトを追加することで残りは自動生成 var tw = o.AddComponent <TerminalWindow>(); _TerminalWindow = tw; _TerminalWindow.OnInput += InputCode; _TerminalWindow.OnEscape += Escape; } } _TerminalWindow.SetActive(true); }
private void TerminateTerminalWindow() { if (_TerminalWindow != null) { _TerminalWindow.OnInput -= InputCode; _TerminalWindow.OnEscape -= Escape; _TerminalWindow?.gameObject?.Destroy(); _TerminalWindow = null; } }