public static TutorialInfo getTutorialByTutorialID(TutorialInfo _tutorial)
    {
        SqlConnection con = ConnectionHelper.GetConnection();
        string sp = "USP_getTutorial_ByTutorialID";
        SqlCommand cmd = new SqlCommand(sp, con);
        cmd.Parameters.Add(new SqlParameter("@TutorialID", _tutorial.TutorialID));
        cmd.CommandType = CommandType.StoredProcedure;
        try
        {
            SqlDataReader _Reader = cmd.ExecuteReader();
            _Reader.Read();

            TutorialInfo _tutorials = new TutorialInfo();
            _tutorials.TutorialID = int.Parse(_Reader["TutorialID"].ToString());
            _tutorials.FacultyID = int.Parse(_Reader["FacultyID"].ToString());
            _tutorials.BatchID =   int.Parse(_Reader["BatchID"].ToString());
            _tutorials.Reference = _Reader["Reference"].ToString();
            _tutorials.FileName =  _Reader["FileName"].ToString();
            _tutorials.PostedOn = Convert.ToDateTime(_Reader["@PostedOn"].ToString());
            _tutorials.PostedBy = int.Parse(_Reader["@PostedBy"].ToString());
            _tutorials.Deadline = Convert.ToDateTime(_Reader["TutorialID"].ToString());

            return _tutorials;
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }
Example #2
0
    public bool CheckTutorialActive(int triggerType, bool isActiveNext = false, UITutorial.UITutorialCloseCB completeCB = null)
    {
        TutorialInfo curInfo = null;
        Dictionary <int, TutorialInfo> curTable = null;

        if (CheckTutorialCodeType(m_curTutorialStep) == false && WorldManager.instance.m_dataManager.m_tutorialData.GetTutorialList(m_curTutorialStep, triggerType, out curInfo, out curTable))
        {
            Debug.Log(curInfo.index);

            TutorialType = TUTORIAL_TYPE.TYPE_BASIC;

            m_curTutorialStep  = curInfo.step;
            m_curTutorialInfo  = curInfo;
            m_curTutorialCode  = curInfo.index;
            m_curTutorialTable = curTable;

            bool isEnable = CheckTutorialEnable;
            if (isEnable)
            {
                ActiveTutorialSequence(isActiveNext, completeCB);
            }

            return(isEnable);
        }

        return(false);
    }
Example #3
0
    public void Check()
    {
        if (CurrentInfo == null)
        {
            CurrentInfo = TutorialInfoManager.Instance.GetNextTutorial(PlayerInfo.tutorial_state);
        }
        if (CurrentInfo != null && Completed == false)
        {
            if (CurrentInfo.AfterNetworking == true)
            {
                AfterNetworking();
            }
            else
            {
                if (CurrentInfo.Condition != null && GameMain.Instance.CurrentGameMenu != GameMenu.Battle)
                {
                    SetConditionOK();
                }
                showTime = Time.realtimeSinceStartup + CurrentInfo.delay;
                bShowed  = false;
                gameObject.SetActive(true);

                if (CurrentInfo.IDN < 100)
                {
                    MetapsAnalyticsScript.TrackEvent("Tutorial", "Begin");
                }
            }
        }
    }
Example #4
0
    public bool CheckCutScene(eSceneType type)
    {
        if (Network.BattleStageInfo == null || Network.BattleStageInfo.Difficulty == pe_Difficulty.Hard)
        {
            return(false);
        }
        if (type != eSceneType.Post)
        {
            var clear_data = MapClearDataManager.Instance.GetData(Network.BattleStageInfo);
            if (clear_data != null && clear_data.clear_rate > 0)
            {
                return(false);
            }
        }
        else
        {
            if (first_clear == false)
            {
                return(false);
            }
        }
        TutorialInfo _CutsceneInfo = TutorialInfoManager.Instance.GetCutScene(type, Network.BattleStageInfo);

        if (_CutsceneInfo != null && _CutsceneInfo.Targets.Count > 0)
        {
            CutsceneInfo = _CutsceneInfo;
            return(true);
        }

        return(false);
    }
Example #5
0
    public override void OpenUI(TutorialInfo info, UITutorialCloseCB completeCB = null)
    {
        m_uiTutorialCompleteCB = completeCB;

        SetActive(true);
        StartCoroutine("StartDelayTime", info.delayTime);
    }
Example #6
0
    public override void OpenUI(TutorialInfo info, UITutorialCloseCB completeCB = null)
    {
        m_curTutorialInfo      = info;
        m_uiTutorialCompleteCB = completeCB;

        SetActive(true);

        m_uiAnchor.side = info.attachAnchorType;

        m_objTransform.gameObject.SetActive(true);
        m_objTransform.localPosition = GetPosition(info.highlightPos);

        m_targetSprite.width  = GetSizeValue((int)info.highlighSize.x);
        m_targetSprite.height = GetSizeValue((int)info.highlighSize.y);

        switch (info.TriggerType)
        {
        case TUTORIAL_TRIGGER_TYPE.TYPE_TOUCH_VIEW:
            m_targetSprite.GetComponent <Collider>().enabled = true;
            m_targetEventListener.onTutorialClick            = OnTouchViewClick;
            break;

        case TUTORIAL_TRIGGER_TYPE.TYPE_TOUCH_CALLBACK:
            m_targetSprite.GetComponent <Collider>().enabled = true;
            m_targetEventListener.onTutorialClick            = OnTouchCallbackClick;
            break;

        default:
            m_targetSprite.GetComponent <Collider>().enabled = false;
            m_targetEventListener.onTutorialClick            = null;
            break;
        }

        OnOffSprite(true);
    }
Example #7
0
    //////////////////////////////////////////////////////////////////////////////////
    //CutScene
    public void ShowCutScene(eSceneType type)
    {
        if (Network.BattleStageInfo == null || Network.BattleStageInfo.Difficulty == pe_Difficulty.Hard)
        {
            return;
        }
        if (CutsceneInfo != null)
        {
            CurrentMenu = GameMenu.Battle;  // 삭제하면 튜토 1-3에서 클릭안되는 버그생김

            if (CutsceneInfo.CutSceneInfo.SceneType == type && CutsceneInfo.Targets.Count > 0)
            {
                TimeManager.Instance.SetPause(true);
                bShowed = true;
                TutorialDialog obj = NGUITools.AddChild(contents.gameObject, DialogPrefab).GetComponent <TutorialDialog>();
                obj.Init(CutsceneInfo.Targets[0]);
                CutsceneInfo.Targets.RemoveAt(0);
                m_Prefabs.Add(obj.gameObject);
                gameObject.SetActive(true);
                return;
            }
            else
            {
                CutsceneInfo = null;
            }
            return;
        }
        if ((type == eSceneType.PreAll || type == eSceneType.PreAll_Wave3) && CheckBattleStart() == true)
        {
            SetConditionOK();
        }
    }
Example #8
0
    public void OpenTutorialWindow(TutorialInfo info)
    {
        if (m_transform == null)
        {
            CreateWindow();
        }
        ReleaseWindow();

        UpdateWindow(info);
    }
Example #9
0
 public void OpenTutorialAnotherWindow(TutorialInfo info)
 {
     if (info.chatType.Equals(TUTORIAL_CHAT_TYPE.TYPE_SMALL))
     {
         m_uiTutorial[(int)TUTORIAL_UI_TYPE.TYPE_MINI_TALK].OpenUI(info);
     }
     if (info.fingerPos.Equals(Vector3.zero) == false)
     {
         m_uiTutorial[(int)TUTORIAL_UI_TYPE.TYPE_FINGER].OpenUI(info);
     }
 }
Example #10
0
    public void loadTutorial(int tutorialIndex)
    {
        TutorialInfo tut       = tutorials[tutorialIndex];
        Transform    baseTrans = tut.baseTrans;

        while (baseTrans.localPosition != Vector3.zero)
        {
            baseTrans.localPosition = Vector3.SmoothDamp(baseTrans.localPosition, Vector3.zero, ref velocity, smoothTime);
        }
        loadRoom(tutorialIndex);
    }
Example #11
0
    private void RefreshUIChoice()
    {
        UIPageNumber.text = ((currentPage + 1) + "/" + (maxPages + 1));
        TutorialInfo temp = videoInfo[currentPage];

        blurb.text           = temp.blurb;
        details.text         = temp.description;
        player.targetTexture = temp.texture;
        videoImage.texture   = temp.texture;
        player.clip          = temp.clip;
    }
    public static DataTable getTutorialByBatchIDAndFacultyID(TutorialInfo _tutorial)
    {
        SqlConnection con = ConnectionHelper.GetConnection();
        string sp = "USP_getTutorial_ByBatchIDandFacultyID";
        SqlCommand cmd = new SqlCommand(sp, con);
        cmd.CommandType = CommandType.StoredProcedure;

        DataTable dt = new DataTable();
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        da.Fill(dt);
        return dt;
    }
Example #13
0
    public bool CheckTutorialButtonActive(List <EventDelegate> evList)
    {
        if (CheckTutorialEnable == false && CheckTutorialBuildingEnable == false)
        {
            return(false);
        }

        bool isEnable = CheckTutorialType(new TUTORIAL_TRIGGER_TYPE[] {
            TUTORIAL_TRIGGER_TYPE.TYPE_TOUCH, TUTORIAL_TRIGGER_TYPE.TYPE_WAIT,
            TUTORIAL_TRIGGER_TYPE.TYPE_NONSERVER_WAIT, TUTORIAL_TRIGGER_TYPE.TYPE_DRAG_DROP
        });

        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;
        }

        if (isEnable)
        {
            if (CheckMethodListEqualsName(curTutInfo, evList))
            {
                EventDelegate.Execute(evList);
                if (CheckTutorialType(TUTORIAL_TRIGGER_TYPE.TYPE_TOUCH))
                {
                    switch (Tutorial.instance.TutorialType)
                    {
                    case TUTORIAL_TYPE.TYPE_BASIC: EndCurrentTutorialCode(true); break;

                    case TUTORIAL_TYPE.TYPE_BUILDING: EndSeqBuildingTrigger(true); break;
                    }
                }
            }
        }

        else
        {
            switch (StateManager.instance.m_curStateType)
            {
            case STATE_TYPE.STATE_TITLE:
            case STATE_TYPE.STATE_INTRO:
                return(false);

            default:
                return(!CheckCommonMethodListEqualsName(evList));
            }
        }

        return(isEnable);
    }
Example #14
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);
    }
Example #15
0
    public void ReleaseTutorialState(bool isStepRelease = true)
    {
        if (isStepRelease)
        {
            m_curTutorialStep = 0;
        }
        m_curTutorialCode = 0;

        m_curTutorialInfo  = null;
        m_curTutorialTable = null;

        ReleaseWindow();
    }
Example #16
0
    public override void OpenUI(TutorialInfo info, UITutorial.UITutorialCloseCB completeCB = null)
    {
        UpdateInfo(info.cliendRewardInfo);
        SetActive(true);

        Hashtable hash = new Hashtable();

        hash.Add("amount", new Vector3(0.05f, 0.05f, 0f));
        hash.Add("time", 1f);
        hash.Add("ignoretimescale", true);
        iTween.PunchScale(m_window.gameObject, hash);

        SoundManager.instance.PlayAudioClip("UI_PopupOpen");
    }
Example #17
0
    void OnTutorialEndHandler(C2G.TutorialState packet, C2G.TutorialStateAck ack)
    {
        Network.PlayerInfo.tutorial_state = TutorialInfoManager.Instance.CompletedState;
        Network.Instance.ProcessReward3Ack(ack.rewards_ack);

        TutorialInfo info = TutorialInfoManager.Instance.GetInfoByIdn(TutorialInfoManager.Instance.CompletedState) as TutorialInfo;

        Popup.Instance.Show(ePopupMode.Reward, info.rewards, Localization.Get("TutorialRewardTitle"), Localization.Get("GetThisRewards"), ack.rewards_ack);

        MetapsAnalyticsScript.TrackEvent("Tutorial", "Finish");
#if SH_DEV || UNITY_EDITOR
        BtnSkip.SetActive(Completed == false);
#endif
    }
Example #18
0
    public override void OpenUI(TutorialInfo info, UITutorialCloseCB completeCB = null)
    {
        m_uiTutorialCompleteCB = completeCB;

        SetActive(true);

        m_uiAnchor.side = info.attachAnchorType;
        m_objTransform.localPosition = new Vector3(3000.0f, 3000.0f, 0);

        m_objTransform.gameObject.SetActive(true);
        m_objTransform.localPosition = info.fingerPos;

        m_icon.localRotation = Quaternion.Euler(info.fingerAngle * Vector3.forward);
    }
Example #19
0
    public override void OpenUI(TutorialInfo info, UITutorialCloseCB completeCB = null)
    {
        m_uiTutorialCompleteCB = completeCB;

        SetActive(true);

        for (int i = 0; i < m_uiScenarioNpcGroup.Length; i++)
        {
            m_uiScenarioNpcGroup[i].ResetToBeginning();
        }

        PlayScenario(info);
        OnOffSkipButton(info.isSkipEnable, !info.isSkipEnable);
    }
    // 튜토리얼 선행 조건 체크
    static public bool CheckCondition(TutorialInfo info)
    {
        ETutorialCondition conditionType  = (ETutorialCondition)info.GetStartData().GetCONDITION_TYPE();
        string             conditionValue = info.GetStartData().GetCONDITION_VALUE();

        switch (conditionType)
        {
        case ETutorialCondition.EnterDungeon:     // 던전 입장시
            DataDungeon enterData = DataDungeon.GetByEnumID(conditionValue);
            if (enterData != null && BattleInfo != null)
            {
                return(enterData == BattleInfo.DataDungeon);
            }
            break;

        case ETutorialCondition.ClearDungeon:     // 던전 클리어
            DataDungeon clearData = DataDungeon.GetByEnumID(conditionValue);
            if (clearData != null)
            {
                return(DungeonHelper.GetDungeonRating(clearData) > 0);
            }
            break;

        case ETutorialCondition.ClearTutorial:     // 튜토리얼 클리어
            DataTutorial tutorialData = DataTutorial.GetByEnumID(conditionValue);
            if (tutorialData != null)
            {
                ETutorialGroup group = (ETutorialGroup)tutorialData.GetGROUP_TYPE();
                return(IsClearByGroup(group));
            }
            break;

        case ETutorialCondition.ClearCompletion:     // 컴플리션 클리어
            DataCompletion completionData = DataCompletion.GetByEnumID(conditionValue);
            if (completionData != null)
            {
                CompletionInfo completeInfo = CompletionHelper.GetMyCompletion(completionData.GetID());
                if (completeInfo != null)
                {
                    return(CompletionHelper.IsComplete(completeInfo));
                }
            }
            break;

        case ETutorialCondition.None:
            return(true);
        }
        return(false);
    }
Example #21
0
    private bool CheckMethodListEqualsName(TutorialInfo info, List <EventDelegate> evList)
    {
        if (evList != null)
        {
            for (int i = 0; i < evList.Count; i++)
            {
                if (info.CheckMethodNameExists(evList[i].methodName))
                {
                    return(true);
                }
            }
        }

        return(false);
    }
Example #22
0
        public ITutorialPopup SetTutorialInfo(TutorialInfo info, bool showWelcomeMessage)
        {
            _tutorialInfo       = info;
            _showWelcomeMessage = showWelcomeMessage;
            _currentStepIndex   = FirstStepIndex;

            if (IsTutorialInfoValid)
            {
                startButton.Text  = _tutorialInfo.tutorialSteps[0].nextButtonText;
                cancelButton.Text = _tutorialInfo.tutorialSteps[0].prevButtonText;
            }

            RefreshTutorial();

            return(this);
        }
    public void OnEvent(GAME_EVENT_ID eventId, List <string> vParam)
    {
        //特殊判断
        if (eventId == GAME_EVENT_ID.GE_QUEST_EVENTLIST)
        {
            if (!CUIDataPool.Instance.IsHadScriptEvent())
            {
                return;
            }
        }
        Tutorial tutorial = GetTutorialList(eventId);

        if (tutorial == null)
        {
            if (IsTutorialEnd())
            {
                RemoveAllEventHandle();
            }
            return;
        }
        CurrentTutorial = tutorial.GetCurTutorial();
        if (CurrentTutorial.nData != -1 && vParam.Count != 0)
        {
            int data = int.Parse(vParam[0]);
            //if (info.nData != data)
            if (CurrentTutorial.nData != data)
            {
                return;
            }
        }

        //LogManager.LogError("npc对话后显示的引导: " + CurrentTutorial.tipText);

        //GameObject go = GameObject.Find(info.target);
        GameObject go = GameObject.Find(CurrentTutorial.target);

        if (go == null)
        {
            LogManager.LogError("找不到引导指向的目标" + CurrentTutorial.target + CurrentTutorial.tipText);
        }

        curTutorial = tutorial;
        //SetTutorialText(info.tipText);
        SetTutorialText(CurrentTutorial.tipText);
        SetParent(go);
    }
Example #24
0
    private void UpdateWindow(TutorialInfo info)
    {
        SetActive(true);

        m_uiAnchor.side = info.attachAnchorType;
        m_talkWindow.transform.localPosition = info.npcPopupPos;

        m_talkWindow.gameObject.SetActive(true);

        Hashtable hash = new Hashtable();

        hash.Add("amount", new Vector3(0.05f, 0.05f, 0f));
        hash.Add("time", 1f);
        hash.Add("ignoretimescale", true);
        iTween.PunchScale(m_talkWindow.gameObject, hash);

        #region NPC
        string spriteName = "";
        for (int i = 0; i < info.npcGroup.Length; i++)
        {
            if (info.npcGroup[i].npcBody.Equals("0") == false)
            {
                spriteName = info.npcGroup[i].npcBody;
            }
            else if (info.npcGroup[i].npcFace.Equals("0") == false)
            {
                spriteName = info.npcGroup[i].npcFace;
            }
            else
            {
                continue;
            }

            break;
        }

        m_npcSprite.spriteName = spriteName;
        m_npcSprite.MakePixelPerfect();
        #endregion

        #region Text
        m_textLabel.text = info.GetNpcScriptString();
        #endregion

        SoundManager.instance.PlayAudioClip("UI_PopupOpen");
    }
    // 이전 튜토리얼 체크
    static public bool CheckPrev(TutorialInfo info)
    {
        string condition = info.GetStartData().GetPREV_TUTORIAL();

        if (string.IsNullOrEmpty(condition) == false)
        {
            DataTutorial tutorialData = DataTutorial.GetByEnumID(condition);
            if (tutorialData != null)
            {
                ETutorialGroup group = (ETutorialGroup)tutorialData.GetGROUP_TYPE();
                if (dicTutorialInfo.ContainsKey(group))
                {
                    return(dicTutorialInfo[group].IsComplete);
                }
            }
        }
        return(true);
    }
Example #26
0
    public void InitTutorialCode(int code)
    {
        TutorialType = TUTORIAL_TYPE.TYPE_NONE;

        m_curTutorialInfo  = null;
        m_curTutorialTable = null;

        m_curTutorialCode = code;
        if (CheckTutorialCodeType(code) == false && GetCurrentTutorialTable)
        {
            TutorialType = TUTORIAL_TYPE.TYPE_BASIC;

            m_curTutorialInfo = m_curTutorialTable[code];
            m_curTutorialStep = m_curTutorialInfo.step;

            Debug.Log("Tutorial.Basic.InitTutorialCode : " + m_curTutorialInfo.index);
        }
    }
Example #27
0
    void Start()
    {
        laserDamage = 1;
        flashing    = false;
        tripleShoot = false;
        hp          = DataBase.ins.XmlDataBase.playerDB.hp;
        velocity    = DataBase.ins.XmlDataBase.playerDB.velocity;
        Controls    = new PlayerControls(KeyCode.UpArrow, KeyCode.DownArrow, KeyCode.RightArrow, KeyCode.LeftArrow, KeyCode.Space, KeyCode.Escape, KeyCode.P);

        if (DataBase.ins.XmlDataBase.gameDB.status == 0)
        {
            isInTutorial = true;
            tutorialInfo = new TutorialInfo(Controls);
            tutorialInfo.obstacleSpawner = GameObject.Find("ObstacleSpawner");
            tutorialInfo.obstacleSpawner.gameObject.SetActive(false);
            tutorialInfo.powerupSpawner = GameObject.Find("PowerUpSpawner");
            tutorialInfo.powerupSpawner.gameObject.SetActive(false);
            tutorialText.text = tutorialInfo.getCurrentMessage();
            TutorialRect.gameObject.SetActive(true);
            SkipTutorialRect.gameObject.SetActive(true);
        }
        else
        {
            isInTutorial = false;
        }

        laserDelay = 0.3f;

        /*
         * Sprite playerSprite = Resources.Load<Sprite>("Sprites/"+DataBase.ins.XmlDataBase.playerDB.texture);
         * GetComponent<SpriteRenderer>().sprite = playerSprite;
         *
         * Destroy(GetComponent<PolygonCollider2D>());
         * gameObject.AddComponent<PolygonCollider2D>();
         * gameObject.transform.localScale *= DataBase.ins.XmlDataBase.playerDB.dimensions.width / playerSprite.rect.width;
         */
        rb2d = GetComponent <Rigidbody2D>();

        one.volume = PlayerPrefs.GetFloat("SfxVolume", 0.75f);
        two.volume = PlayerPrefs.GetFloat("SfxVolume", 0.75f);

        paused = false;
    }
Example #28
0
    private void SetNextTutorial()
    {
        PlayerInfo.tutorial_state = (short)CurrentInfo.IDN;
        CurrentInfo = TutorialInfoManager.Instance.GetNextTutorial(CurrentState);
        if (CurrentInfo == null)
        {
            TutorialComplete();
            return;
        }
        //Debug.LogFormat("Current info : {0} : {1}", CurrentInfo.IDN, CurrentMenu);
        //        CurrentInfo.Targets.ForEach(e => Debug.LogFormat("{0}", e.Menu));

        MetapsAnalyticsScript.TrackEvent("Tutorial", CurrentMenu.ToString(), CurrentInfo.IDN);

        if (CurrentInfo.Condition != null && CurrentInfo.Condition.Type == eConditionType.BattleEndPopup)
        {
            gameObject.SetActive(false);
        }
        else
        {
            if (CurrentInfo.Condition == null)
            {
                showTime = Time.realtimeSinceStartup + CurrentInfo.delay;
                bShowed  = false;
            }
            gameObject.SetActive(true);
        }

        if (GameMain.Instance.gameObject.activeSelf == false && (CurrentInfo.Condition == null || CurrentInfo.Condition.IsConditionOK == false))
        {
            TimeManager.Instance.SetPause(false);
        }
        BtnSkip.SetActive(false);
#if SH_DEV || UNITY_EDITOR
        if (CurrentInfo.Targets.Exists(t => t.type == eTutorialType.Dialog))
        {
            BtnSkip.SetActive(Completed == false);
        }
#endif
    }
 public static void CreateTutorial(TutorialInfo _tutorial)
 {
     SqlConnection Con = ConnectionHelper.GetConnection();
     string Sp = "USP_Create_Tutorial";
     SqlCommand cmd = new SqlCommand(Sp, Con);
     cmd.Parameters.Add(new SqlParameter("@FacultyID", _tutorial.FacultyID));
     cmd.Parameters.Add(new SqlParameter("@BatchID", _tutorial.BatchID));
     cmd.Parameters.Add(new SqlParameter("@Reference", _tutorial.Reference));
     cmd.Parameters.Add(new SqlParameter("@FileName", _tutorial.FileName));
     cmd.Parameters.Add(new SqlParameter("@PostedOn", _tutorial.PostedOn));
     cmd.Parameters.Add(new SqlParameter("@PostedBy", _tutorial.PostedBy));
     cmd.Parameters.Add(new SqlParameter("@DeadLine", _tutorial.Deadline));
     cmd.CommandType = CommandType.StoredProcedure;
     try
     {
         cmd.ExecuteNonQuery();
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Example #30
0
    private void OnTutorialTalkNext(GameObject obj)
    {
        TutorialInfo nextTutorialInfo = null;

        switch (Tutorial.instance.TutorialType)
        {
        case TUTORIAL_TYPE.TYPE_BASIC:
        {
            nextTutorialInfo = WorldManager.instance.m_dataManager.m_tutorialData.GetTutorialInfo(m_curTutorialInfo.step, m_curTutorialInfo.nextStepID);
            if (nextTutorialInfo != null && nextTutorialInfo.TriggerType.Equals(TUTORIAL_TRIGGER_TYPE.TYPE_TALK))
            {
                Tutorial.instance.UpdateNextTutorialCode(nextTutorialInfo.index);
                StartCoroutine("NextScenario", nextTutorialInfo);
            }

            else
            {
                StartCoroutine("Release");
            }
        }
        break;

        case TUTORIAL_TYPE.TYPE_BUILDING:
        {
            nextTutorialInfo = WorldManager.instance.m_dataManager.m_tutorialData.GetTutorialBuildingInfo(m_curTutorialInfo.step, m_curTutorialInfo.nextStepID);
            if (nextTutorialInfo != null && nextTutorialInfo.TriggerType.Equals(TUTORIAL_TRIGGER_TYPE.TYPE_TALK))
            {
                Tutorial.instance.UpdateNextTutorialBuildingInfo(nextTutorialInfo.index);
                StartCoroutine("NextScenario", nextTutorialInfo);
            }

            else
            {
                StartCoroutine("Release");
            }
        }
        break;
        }
    }
Example #31
0
    private IEnumerator NextScenario(TutorialInfo info)
    {
        m_isActive = true;

        bool  isEquals  = m_curTutorialInfo.GetNpcPosType.Equals(info.GetNpcPosType);
        float delayTime = isEquals ? 0 : DIALOGUE_PLAY_TIME;

        if (isEquals == false && m_uiScenarioNpcGroup[(int)m_curTutorialInfo.GetNpcPosType].CheckViewDialogue)
        {
            m_uiScenarioNpcGroup[(int)m_curTutorialInfo.GetNpcPosType].ViewDialogue(false);
            m_uiScenarioNpcGroup[(int)m_curTutorialInfo.GetNpcPosType].SetNextButton(false);
        }

        float timer = delayTime + Time.realtimeSinceStartup;

        while (timer > Time.realtimeSinceStartup)
        {
            yield return(null);
        }

        StartCoroutine("PlayScenario", info);
    }
Example #32
0
    private void PlayScenario(TutorialInfo info)
    {
        m_isActive = true;

        m_curTutorialInfo = info;

        float delayTime = 0;

        for (int i = 0; i < m_uiScenarioNpcGroup.Length; i++)
        {
            bool isView = (i.Equals((int)NPC_POSITION.CENTER) || i.Equals((int)NPC_POSITION.EMPTY)) ?
                          true : m_uiScenarioNpcGroup[i].CheckViewNpc;
            bool isExists = (i.Equals((int)NPC_POSITION.CENTER) || i.Equals((int)NPC_POSITION.EMPTY)) ?
                            true : !info.npcGroup[i].npcBody.Equals("0");

            if (isExists)
            {
                m_uiScenarioNpcGroup[i].SetNpc(info.npcGroup[i]);
            }
            m_uiScenarioNpcGroup[i].ViewNpc(isExists, isExists ? isView : false);

            delayTime = Mathf.Max(isView ?
                                  isExists ? 0 : NPC_PLAY_TIME :
                                  isExists ? NPC_PLAY_TIME : 0,
                                  delayTime);
        }

        for (int i = 0; i < m_uiScenarioNpcGroup.Length; i++)
        {
            m_uiScenarioNpcGroup[i].SetNarraterNpc(i.Equals((int)info.GetNpcPosType));
        }

        m_uiScenarioNpcGroup[(int)info.GetNpcPosType].SetDialogue(
            info.npcPosType.Equals(NPC_POSITION.EMPTY) ? "" : info.GetNpcNameString(info.npcGroup[(int)info.GetNpcPosType].npcBody),
            info.GetNpcScriptString());
        m_uiScenarioNpcGroup[(int)info.GetNpcPosType].SetNextButton(true);
    }
Example #33
0
    private void UpdateWindow(TutorialInfo info)
    {
        switch (info.TriggerType)
        {
        case TUTORIAL_TRIGGER_TYPE.TYPE_TALK:
            m_uiTutorial[(int)TUTORIAL_UI_TYPE.TYPE_TALK].OpenUI(info, m_uiTutorialCloseCB);
            break;

        case TUTORIAL_TRIGGER_TYPE.TYPE_TOUCH:
        case TUTORIAL_TRIGGER_TYPE.TYPE_TOUCH_VIEW:
        case TUTORIAL_TRIGGER_TYPE.TYPE_TOUCH_CALLBACK:
            m_uiTutorial[(int)TUTORIAL_UI_TYPE.TYPE_TOUCH].OpenUI(info, m_uiTutorialCloseCB);
            break;

        case TUTORIAL_TRIGGER_TYPE.TYPE_WAIT:
        case TUTORIAL_TRIGGER_TYPE.TYPE_NONSERVER_WAIT:
            if ((info.highlightPos.Equals(Vector3.zero) && info.highlighSize.Equals(Vector2.zero)) == false)
            {
                m_uiTutorial[(int)TUTORIAL_UI_TYPE.TYPE_TOUCH].OpenUI(info, m_uiTutorialCloseCB);
            }
            break;

        case TUTORIAL_TRIGGER_TYPE.TYPE_DELAY_TIME:
            m_uiTutorial[(int)TUTORIAL_UI_TYPE.TYPE_DELAY].OpenUI(info, m_uiTutorialCloseCB);
            break;

        case TUTORIAL_TRIGGER_TYPE.TYPE_REWARD_WINDOW:
            m_uiTutorial[(int)TUTORIAL_UI_TYPE.TYPE_REWARD].OpenUI(info, m_uiTutorialCloseCB);
            break;
        }

        if (info.TriggerType.Equals(TUTORIAL_TRIGGER_TYPE.TYPE_TOUCH_CALLBACK) ||
            info.sendMessageTarget.Equals("0") || info.sendMessageFunc.Equals("0"))
        {
            OpenTutorialAnotherWindow(info);
        }
    }
 public TutorialData(TutorialInfo type, List<GameObject> objects)
 {
     Type = type;
     Objects = objects;
 }
    void ShowTutorialInfo(TutorialInfo tutInfo, List<GameObject> gameObjects)
    {
        if (ShowTutorial)
        {

            if (!_tutorialIsShown[(int)tutInfo])
            {
                if (ShowTutorialScreenImplementationScreen != null)
                {
                    ShowTutorialScreenImplementationScreen(new TutorialData(tutInfo, gameObjects));
                    _tutorialIsShown[(int)tutInfo] = true;
                }
            }

        }
    }