public virtual void OnShowEffectPlayOver() { uiWindowState = UIWindowStateEnum.Show; if (m_showFinishEffect != null) { WindowEffectFinished func = m_showFinishEffect; //这种写法是为了防止循环调用,若在Func里面再调用到OnShowEffectPlayOver时,不重复执行func m_showFinishEffect = null; func(); } }
public bool TriggerDialog(int stageNum, DialogTriggerPos pos, WindowEffectFinished func) //尝试触发一个对话,返回值是是否成功触发了对话(失败是对话触发过了或者此处没对话) { DialogEvent dialogEvent; if (!m_dialogEventMap.TryGetValue(new KeyValuePair<int,DialogTriggerPos>(stageNum, pos), out dialogEvent)) { if (func != null) func(); return false; } //若出现过的开始对话就不再出现 if(pos == DialogTriggerPos.StageStart) { if(PlayerPrefs.GetInt("StageStartDialogFinished") >= stageNum) { if (func != null) func(); return false; } else { PlayerPrefs.SetInt("StageStartDialogFinished", stageNum); } } if (pos == DialogTriggerPos.StageEnd) { if (PlayerPrefs.GetInt("StageEndDialogFinished") >= stageNum) { if (func != null) func(); return false; } else { PlayerPrefs.SetInt("StageEndDialogFinished", stageNum); } } if (dialogEvent.backPic == "None") { m_backPic.gameObject.SetActive(false); } else { m_backPic.gameObject.SetActive(true); m_backPic.spriteName = dialogEvent.backPic; } m_backPic.gameObject.SetActive(false); OpenDialog(dialogEvent.dialogGroupNum); //触发对话 m_afterDialogFunc = func; return true; }
public virtual void OnHideEffectPlayOver() { uiWindowState = UIWindowStateEnum.Hide; EnableColliders(true); if (m_hideFinishEffect != null) { WindowEffectFinished func = m_hideFinishEffect; //这种写法是为了防止循环调用,若在Func里面再调用到OnHideEffectPlayOver时,不重复执行func m_hideFinishEffect = null; func(); } }
public void ShowText(string head, string pic, string content, WindowEffectFinished func) { ShowWindow(); if (pic != "None") { for (int i = 0; i < 9; ++i ) { if (i != m_ftueData[m_FTUEIndex].picturePos - 1) { m_pic[i].gameObject.SetActive(false); } else { m_pic[i].gameObject.SetActive(true); m_pic[i].spriteName = pic; } } } else { for (int i = 0; i < 9; ++i) { m_pic[i].gameObject.SetActive(false); } } if (m_ftueData[m_FTUEIndex].dialogPos == 0) //左上 { m_dialogBoardSprite.spriteName = "TextBox"; m_dialogTrans.localPosition = new Vector3(8, 306, -1); m_dialogText.transform.localPosition = new Vector3(-177, 147, 1); m_clickLabel.transform.localPosition = new Vector3(178, -76, 1); } else if (m_ftueData[m_FTUEIndex].dialogPos == 1) //左下 { m_dialogBoardSprite.spriteName = "TextBox3"; m_dialogTrans.localPosition = new Vector3(72, -317, -1); m_dialogText.transform.localPosition = new Vector3(-147, 135, 1); m_clickLabel.transform.localPosition = new Vector3(174, -133, 1); } else if (m_ftueData[m_FTUEIndex].dialogPos == 2) //右上 { m_dialogBoardSprite.spriteName = "TextBoxMir"; m_dialogTrans.localPosition = new Vector3(8, 306, -1); m_dialogText.transform.localPosition = new Vector3(-177, 147, 1); m_clickLabel.transform.localPosition = new Vector3(178, -76, 1); } if(m_ftueData[m_FTUEIndex].dialogPos == 0 || m_ftueData[m_FTUEIndex].dialogPos == 1) { if(head != "None") { m_leftHeadSprite.gameObject.SetActive(true); m_leftHeadSprite.spriteName = head; } else { m_leftHeadSprite.gameObject.SetActive(false); } m_rightHeadSprite.gameObject.SetActive(false); } else { if(head != "None") { m_rightHeadSprite.gameObject.SetActive(true); m_rightHeadSprite.spriteName = head; } else { m_rightHeadSprite.gameObject.SetActive(false); } m_leftHeadSprite.gameObject.SetActive(false); } m_dialogContents = content.Split('@'); m_curDialogIndex = 0; m_bLock = true; m_clickLabel.gameObject.SetActive(false); m_afterDialogFunc = func; //开始播放文字 NextDialog(); }
public void ShowWindow(WindowEffectFinished finishEffectFunc) { m_showFinishEffect = finishEffectFunc; ShowWindow(); }
public void HideWindow(WindowEffectFinished finishEffectFunc) { m_hideFinishEffect = finishEffectFunc; HideWindow(); }
public bool TriggerDialog(int stageNum, DialogTriggerPos pos, WindowEffectFinished func) //尝试触发一个对话,返回值是是否成功触发了对话(失败是对话触发过了或者此处没对话) { DialogEvent dialogEvent; if (!m_dialogEventMap.TryGetValue(new KeyValuePair <int, DialogTriggerPos>(stageNum, pos), out dialogEvent)) { if (func != null) { func(); } return(false); } //若出现过的开始对话就不再出现 if (pos == DialogTriggerPos.StageStart) { if (PlayerPrefs.GetInt("StageStartDialogFinished") >= stageNum) { if (func != null) { func(); } return(false); } else { PlayerPrefs.SetInt("StageStartDialogFinished", stageNum); } } if (pos == DialogTriggerPos.StageEnd) { if (PlayerPrefs.GetInt("StageEndDialogFinished") >= stageNum) { if (func != null) { func(); } return(false); } else { PlayerPrefs.SetInt("StageEndDialogFinished", stageNum); } } if (dialogEvent.backPic == "None") { m_backPic.gameObject.SetActive(false); } else { m_backPic.gameObject.SetActive(true); m_backPic.spriteName = dialogEvent.backPic; } m_backPic.gameObject.SetActive(false); OpenDialog(dialogEvent.dialogGroupNum); //触发对话 m_afterDialogFunc = func; return(true); }
public void ShowText(string head, string pic, string content, WindowEffectFinished func) { ShowWindow(); if (pic != "None") { for (int i = 0; i < 9; ++i) { if (i != m_ftueData[m_FTUEIndex].picturePos - 1) { m_pic[i].gameObject.SetActive(false); } else { m_pic[i].gameObject.SetActive(true); m_pic[i].spriteName = pic; } } } else { for (int i = 0; i < 9; ++i) { m_pic[i].gameObject.SetActive(false); } } if (m_ftueData[m_FTUEIndex].dialogPos == 0) //左上 { m_dialogBoardSprite.spriteName = "TextBox"; m_dialogTrans.localPosition = new Vector3(8, 306, -1); m_dialogText.transform.localPosition = new Vector3(-177, 147, 1); m_clickLabel.transform.localPosition = new Vector3(178, -76, 1); } else if (m_ftueData[m_FTUEIndex].dialogPos == 1) //左下 { m_dialogBoardSprite.spriteName = "TextBox3"; m_dialogTrans.localPosition = new Vector3(72, -317, -1); m_dialogText.transform.localPosition = new Vector3(-147, 135, 1); m_clickLabel.transform.localPosition = new Vector3(174, -133, 1); } else if (m_ftueData[m_FTUEIndex].dialogPos == 2) //右上 { m_dialogBoardSprite.spriteName = "TextBoxMir"; m_dialogTrans.localPosition = new Vector3(8, 306, -1); m_dialogText.transform.localPosition = new Vector3(-177, 147, 1); m_clickLabel.transform.localPosition = new Vector3(178, -76, 1); } if (m_ftueData[m_FTUEIndex].dialogPos == 0 || m_ftueData[m_FTUEIndex].dialogPos == 1) { if (head != "None") { m_leftHeadSprite.gameObject.SetActive(true); m_leftHeadSprite.spriteName = head; } else { m_leftHeadSprite.gameObject.SetActive(false); } m_rightHeadSprite.gameObject.SetActive(false); } else { if (head != "None") { m_rightHeadSprite.gameObject.SetActive(true); m_rightHeadSprite.spriteName = head; } else { m_rightHeadSprite.gameObject.SetActive(false); } m_leftHeadSprite.gameObject.SetActive(false); } m_dialogContents = content.Split('@'); m_curDialogIndex = 0; m_bLock = true; m_clickLabel.gameObject.SetActive(false); m_afterDialogFunc = func; //开始播放文字 NextDialog(); }