示例#1
0
    void Start()
    {
        m_rigidbody = GetComponent <Rigidbody2D>();
        Spr_Loading = Resources.Load <Sprite>("Sprite/Load/w1");

        m_fMaxHelpingTime = 1.5f;                               //設定最大幫助時間
        m_moveCount       = Random.Range(3, 5);
        m_waitTimel       = Random.Range(5, 10);
        m_needHpleTime    = Random.Range(5f, 15f);

        theNeedServiceKind = Enum_NeedServiceKind.None;                 //當前沒有需要被服務的需求

        PlayerControllerScript = FindObjectOfType <PlayerController>(); //抓取角色控制腳本

        StartCoroutine(Move());
        StartCoroutine(NeedHelp());
    }
示例#2
0
    private IEnumerator NeedHelp()
    {
        yield return(GameSystem.Instance.m_IsGameExecute);

        while (m_moveCount > 0)
        {
            while (m_needHelpBool)
            {
                //顯示圖示後,協程暫停
                yield return(null);
            }

            yield return(new WaitForSeconds(m_needHpleTime));

            int number = Random.Range(0, theNpcData.Spr_HelpKinds.Length);
            Spr_Help = theNpcData.Fn_GetHelpLogo(number);            //取得幫助的圖示
            if (number == 0)
            {
                theNeedServiceKind = Enum_NeedServiceKind.Drink;
            }
            else if (number == 1)
            {
                theNeedServiceKind = Enum_NeedServiceKind.Garbage;
            }
            else if (number == 2)
            {
                theNeedServiceKind = Enum_NeedServiceKind.Sweep;
            }


            if (Spr_Help != null)               //當要顯示的需求圖示不等於 null 時
            {
                EnableHelpImage(Spr_Help);
            }
        }
        yield return(null);
    }