Exemple #1
0
    public bool CheckTutorialType(TUTORIAL_TRIGGER_TYPE type)
    {
        TutorialInfo curTutInfo = null;

        switch (Tutorial.instance.TutorialType)
        {
        case TUTORIAL_TYPE.TYPE_BASIC: curTutInfo = m_curTutorialInfo; break;

        case TUTORIAL_TYPE.TYPE_BUILDING: curTutInfo = m_curTutorialBuildingInfo; break;
        }

        return(curTutInfo != null?curTutInfo.TriggerType.Equals(type) : false);
    }
Exemple #2
0
    public bool CheckTutorialTypeForActiveSeq(TUTORIAL_TRIGGER_TYPE type)
    {
        switch (type)
        {
        case TUTORIAL_TRIGGER_TYPE.TYPE_ROOM_LOAD:
            return(StateManager.instance.m_curStateType.Equals(STATE_TYPE.STATE_ROOM));

        case TUTORIAL_TRIGGER_TYPE.TYPE_TOWN_LOAD:
            return(StateManager.instance.m_curStateType.Equals(STATE_TYPE.STATE_VILLAGE));

        case TUTORIAL_TRIGGER_TYPE.TYPE_ADOPT_LOAD:
            return(StateManager.instance.m_curStateType.Equals(STATE_TYPE.STATE_ADOPT));

        case TUTORIAL_TRIGGER_TYPE.TYPE_PETSHOP_LOAD:
            return(StateManager.instance.m_curStateType.Equals(STATE_TYPE.STATE_PETSHOP));

        case TUTORIAL_TRIGGER_TYPE.TYPE_INTERIOR_LOAD:
            return(StateManager.instance.m_curStateType.Equals(STATE_TYPE.STATE_INTERIORSHOP));

        case TUTORIAL_TRIGGER_TYPE.TYPE_BEAUTYSHOP_LOAD:
            return(StateManager.instance.m_curStateType.Equals(STATE_TYPE.STATE_BEAUTYSHOP));

        case TUTORIAL_TRIGGER_TYPE.TYPE_DOGINFO_LOAD:
            return(StateManager.instance.m_curStateType.Equals(STATE_TYPE.STATE_DOGINFO));

        case TUTORIAL_TRIGGER_TYPE.TYPE_MAKING_ROOM_LOAD:
            return(StateManager.instance.m_curStateType.Equals(STATE_TYPE.STATE_MAKINGROOM));

        case TUTORIAL_TRIGGER_TYPE.TYPE_INTERIOR_REQUEST_LOAD:
        case TUTORIAL_TRIGGER_TYPE.TYPE_PETSHOP_REQUEST_LOAD:
        case TUTORIAL_TRIGGER_TYPE.TYPE_BEAUTY_REQUEST_LOAD:
            return(StateManager.instance.m_curStateType.Equals(STATE_TYPE.STATE_REQUEST));

        default:
            return(true);
        }
    }
Exemple #3
0
    public void EndCurrentTutorialCode(bool isActiveNext = false)
    {
        Debug.Log("EndCurrentTutorialCode." + m_curTutorialInfo.index + " / " + m_curTutorialInfo.TriggerType);

        if (m_curTutorialTable.ContainsKey(m_curTutorialInfo.nextStepID))
        {
            TUTORIAL_TRIGGER_TYPE beforeTriggerType = m_curTutorialInfo.TriggerType;

            m_curTutorialCode = m_curTutorialInfo.nextStepID;
            m_curTutorialInfo = m_curTutorialTable[m_curTutorialCode];

            if (isActiveNext && CheckTutorialTypeForActiveSeq(beforeTriggerType))
            {
                ActiveTutorialSequence(isActiveNext);
            }
            else
            {
                ReleaseWindow();
            }
        }

        else
        {
            if (m_curTutorialInfo.savePointID.Equals(1))
            {
                int curIndex = m_curTutorialInfo.index;

                ReleaseTutorialState();
                NetworkManager.instance.SendTutorialFinish(curIndex);
            }

            else if (m_curTutorialInfo.nextStepID.Equals(0))
            {
                m_curTutorialStep++;

                WorldManager.instance.AddMemoryInfo(WORLD_MEMORY_INFO.TUTORIAL_FIN_TYPE, m_curTutorialInfo.index);
                ReleaseTutorialState(false);

                GemInfo.instance.OnOff(true);
            }

            else
            {
                m_curTutorialCode = m_curTutorialInfo.nextStepID;
                if (GetCurrentTutorialTable)
                {
                    m_curTutorialInfo = m_curTutorialTable[m_curTutorialCode];
                    m_curTutorialStep = m_curTutorialInfo.step;

                    switch (StateManager.instance.m_curStateType)
                    {
                    case STATE_TYPE.STATE_ROOM:
                    case STATE_TYPE.STATE_VILLAGE:
                        if (UserInfo.instance.CheckLevelUp == false)
                        {
                            if (isActiveNext && CheckTutorialTypeForActiveSeq(m_curTutorialInfo.TriggerType))
                            {
                                ActiveTutorialSequence(isActiveNext);
                            }
                            else
                            {
                                ReleaseWindow();
                            }
                        }
                        break;

                    default:
                        if (isActiveNext && CheckTutorialTypeForActiveSeq(m_curTutorialInfo.TriggerType))
                        {
                            ActiveTutorialSequence(isActiveNext);
                        }
                        else
                        {
                            ReleaseWindow();
                        }
                        break;
                    }
                }
            }
        }
    }