public void DisplayWindow(RectTransform rctTrans, bool disableButtons, Color bkgColor) //窗口管理,弹出一个窗口,所有弹出窗口相关的方法都要先调用此方法 { if (windowed) { return; } windowed = true; StopAllCoroutines(); if (disableButtons) { //禁用触摸 tchScrn.DisableTouchMove(); tchScrn.EnableTouchControlView(); //禁用所有按钮 Buttons = GameObject.FindGameObjectsWithTag("Button"); //获取暂时禁用的组件 StartCoroutine(DisableButtons()); } //transform.SetAsLastSibling();//调整层级 StartCoroutine(EnablePanel(bkgColor)); StartCoroutine(DisplayWnd(rctTrans)); }
//进入对话 public void EnterChat() { //禁用触摸和移动 //player.canMove = false; touch_Control.DisableTouchMove(); player.Battle2Normal(); player.TurnAt(role.transform);//玩家面向人物 //如果此时有窗口弹出,则先关闭窗口 if (gCtrl.windowed) { gCtrl.ClickorEsc(); } // Player.transform.LookAt(transform); //touch_Control.ctrlView = false; //属性框和小地图 //Ins = GameObject.Find("Canvas/Dialog_InsPector").GetComponent<RectTransform>(); //mMap = GameObject.Find("Canvas/miniMap").GetComponent<RectTransform>(); //Ins.SetActive(false); //mMap.SetActive(false); //初始化索引 index = 0; //获取按钮和对话框的原始位置 //CBx_origionPos = chatRect.anchoredPosition; // CBt_origionPos = Chat_Button.anchoredPosition; //隐藏所有对话气泡 popTexts = GameObject.FindObjectsOfType <PopText>(); //print("length of popTexts:" + popTexts.Length); for (int i = 0; i < popTexts.Length; i++) { popTexts[i].HidePop(); } //移动横幅到界面内 chatRect.rectTransform.anchoredPosition = Vector2.zero; //Chat_Button.gameObject.SetActive(true);//调整对话按钮的层级 //隐藏按钮,滑出对话框,同时进行一次对话演进 StopAllCoroutines(); StartCoroutine(HideObj()); PushConversation(); }