Beispiel #1
0
 protected override void OnShow(object data)
 {
     base.OnShow(data);
     m_chapter = 0;
     if (data is table.ChapterDabaBase)
     {
         table.ChapterDabaBase cdb = (table.ChapterDabaBase)data;
         m_chapter          = cdb.ID;
         m_label_title.text = cdb.strTitle;
         m_label_desc.text  = cdb.strDes;
     }
 }
Beispiel #2
0
    public SequencerManager()
    {
        m_RenderSystem = Engine.RareEngine.Instance().GetRenderSystem();

        //任务触发
        Engine.Utility.EventEngine.Instance().AddEventListener((int)Client.GameEventID.TASK_DONE, OnEvent);
        Engine.Utility.EventEngine.Instance().AddEventListener((int)Client.GameEventID.TASK_ACCEPT, OnEvent);
        Engine.Utility.EventEngine.Instance().AddEventListener((int)Client.GameEventID.TASK_CANSUBMIT, OnEvent);

        Engine.Utility.EventEngine.Instance().AddEventListener((int)Client.GameEventID.CHAPTER_EFFECT_END, OnChapterEnd);



        //table.SequencerData
        List <table.SequencerData> tableList = GameTableManager.Instance.GetTableList <table.SequencerData>();

        for (int i = 0; i < tableList.Count; i++)
        {
            table.SequencerData data = tableList[i];

            switch (data.TriggerType)
            {
            case (int)TriggerType.task:
                m_TaskTriggerType.Add(data);
                break;

            case (int)TriggerType.chapterEnd:
                m_ChapterType.Add(data);
                break;
            }
        }

        List <table.ChapterDabaBase> lstchapter = GameTableManager.Instance.GetTableList <table.ChapterDabaBase>();

        table.ChapterDabaBase database = null;

        for (int i = 0, imax = lstchapter.Count; i < imax; i++)
        {
            database = lstchapter[i];

            switch ((TriggerType)database.TriggerType)
            {
            case TriggerType.task:
                m_lstChapterTaskTrigger.Add(database);
                break;

            default:
                break;
            }
        }
    }
Beispiel #3
0
 //-----------------------------------------------------------------------------------------------
 public void PlayChapterEffect(table.ChapterDabaBase data)
 {
     DataManager.Manager <UIPanelManager>().ShowPanel(PanelID.ChapterPanel, data: data);
 }
Beispiel #4
0
    private void OnEvent(int nEventId, object param)
    {
        if (nEventId == (int)Client.GameEventID.TASK_DONE)
        {
            //完成任务
            Client.stTaskDone     td       = (Client.stTaskDone)param;
            table.ChapterDabaBase database = null;
            bool flag = false;

            for (int i = 0, imax = m_lstChapterTaskTrigger.Count; i < imax; i++)
            {
                database = m_lstChapterTaskTrigger[i];

                if (database.Paramer2 == td.taskid)
                {
                    if (database.Paramer1 == 2)
                    {
                        PlayChapterEffect(database);
                        return;
                    }
                }
            }

            for (int i = 0; i < m_TaskTriggerType.Count; i++)
            {
                table.SequencerData data = m_TaskTriggerType[i];

                if (data.Paramer1 == 2)
                {
                    if (data.Paramer2 == td.taskid)
                    {
                        m_SequencerData = data;
                        SequencerManager.Instance().PlaySequencer(m_SequencerData.SequencerFile);
                        return;
                    }
                }
            }
        }
        else if ((int)Client.GameEventID.TASK_ACCEPT == nEventId)
        {
            //接受任务
            uint taskid = (uint)param;
            table.ChapterDabaBase database = null;
            for (int i = 0, imax = m_lstChapterTaskTrigger.Count; i < imax; i++)
            {
                database = m_lstChapterTaskTrigger[i];

                if (database.Paramer2 == taskid)
                {
                    if (database.Paramer1 == 1)
                    {
                        PlayChapterEffect(database);
                        return;
                    }
                }
            }
            for (int i = 0; i < m_TaskTriggerType.Count; i++)
            {
                table.SequencerData data = m_TaskTriggerType[i];

                // 这个剧情是接受任务触发
                if (data.Paramer1 == 1)
                {
                    if (data.Paramer2 == taskid)
                    {
                        m_SequencerData = data;
                        SequencerManager.Instance().PlaySequencer(m_SequencerData.SequencerFile);
                        return;
                    }
                }
            }
        }
        else if ((int)Client.GameEventID.TASK_CANSUBMIT == nEventId)
        {
            //提交任务
            Client.stTaskCanSubmit cs       = (Client.stTaskCanSubmit)param;
            table.ChapterDabaBase  database = null;
            for (int i = 0, imax = m_lstChapterTaskTrigger.Count; i < imax; i++)
            {
                database = m_lstChapterTaskTrigger[i];

                if (database.Paramer2 == cs.taskid)
                {
                    if (database.Paramer1 == 3)
                    {
                        PlayChapterEffect(database);
                        return;
                    }
                }
            }
            for (int i = 0; i < m_TaskTriggerType.Count; i++)
            {
                table.SequencerData data = m_TaskTriggerType[i];
                if (data.Paramer1 == 3)
                {
                    if (data.Paramer2 == cs.taskid)
                    {
                        m_SequencerData = data;
                        SequencerManager.Instance().PlaySequencer(m_SequencerData.SequencerFile);
                        return;
                    }
                }
            }
        }
    }