Ejemplo n.º 1
0
    private ASState FindState(string stateName)
    {
        ASState state = null;

        if (!m_StateDict.TryGetValue(stateName, out state))
        {
            Debug.LogError("不存在次状态");
            return(null);
        }
        return(state);
    }
Ejemplo n.º 2
0
    public void SwitchState(string newState)
    {
        ASState state = FindState(newState);

        if (state == null)
        {
            Debug.Log("不能找到,是不是名字出错了");
            return;
        }
        m_StateList[m_StateList.Count - 1].Exit(state);
        state.Enter(m_StateList[m_StateList.Count - 1]);
        m_StateList.RemoveAt(m_StateList.Count - 1);
        m_StateList.Add(state);
    }
Ejemplo n.º 3
0
 public override void Exit(ASState to)
 {
     this.gameObject.SetActive(false);
     taskText.text = "结束任务,我要退出舞台了";
 }
Ejemplo n.º 4
0
 public override void Enter(ASState @from)
 {
     this.gameObject.SetActive(true);
     taskText      = transform.GetChild(0).GetComponent <Text>();
     taskText.text = "我是任务系统:你的任务就是了解有限状态机.....";
 }
Ejemplo n.º 5
0
 public abstract void Enter(ASState from);
Ejemplo n.º 6
0
 public abstract void Exit(ASState to);
Ejemplo n.º 7
0
 public override void Exit(ASState to)
 {
     this.gameObject.SetActive(false);
     shopText.text = "谢谢惠顾,欢迎下次光临.....";
 }
Ejemplo n.º 8
0
 public override void Enter(ASState from)
 {
     this.gameObject.SetActive(true);
     shopText      = transform.GetChild(0).GetComponent <Text>();
     shopText.text = "我是老板,有什么东西找我买...";
 }
Ejemplo n.º 9
0
 public override void Exit(ASState to)
 {
     this.gameObject.SetActive(false);
     integralText.text = "我要退出了";
 }
Ejemplo n.º 10
0
 public override void Enter(ASState @from)
 {
     this.gameObject.SetActive(true);
     integralText      = transform.GetChild(0).GetComponent <Text>();
     integralText.text = "我是计分系统,你的分数由我主宰";
 }