Esempio n. 1
0
 public virtual void OnShowEffectPlayOver()
 {
     uiWindowState = UIWindowStateEnum.Show;
     if (m_showFinishEffect != null)
     {
         WindowEffectFinished func = m_showFinishEffect;         //这种写法是为了防止循环调用,若在Func里面再调用到OnShowEffectPlayOver时,不重复执行func
         m_showFinishEffect = null;
         func();
     }
 }
Esempio n. 2
0
    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;
    }
Esempio n. 3
0
 public virtual void OnHideEffectPlayOver()
 {
     uiWindowState = UIWindowStateEnum.Hide;
     EnableColliders(true);
     if (m_hideFinishEffect != null)
     {
         WindowEffectFinished func = m_hideFinishEffect;                     //这种写法是为了防止循环调用,若在Func里面再调用到OnHideEffectPlayOver时,不重复执行func
         m_hideFinishEffect = null;
         func();
     }
 }
Esempio n. 4
0
    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();
	}
Esempio n. 5
0
 public void ShowWindow(WindowEffectFinished finishEffectFunc)
 {
     m_showFinishEffect = finishEffectFunc;
     ShowWindow();
 }
Esempio n. 6
0
 public void HideWindow(WindowEffectFinished finishEffectFunc)
 {
     m_hideFinishEffect = finishEffectFunc;
     HideWindow();
 }
Esempio n. 7
0
    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);
    }
Esempio n. 8
0
    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();
    }