164 lines
5.2 KiB
C#
164 lines
5.2 KiB
C#
using BrewMonster.Common;
|
||
using BrewMonster.Managers;
|
||
using BrewMonster.Network;
|
||
using ModelRenderer.Scripts.Common;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.IO;
|
||
using System.Linq;
|
||
using BrewMonster.Scripts.Task;
|
||
using BrewMonster.Scripts.Task.UI;
|
||
using BrewMonster.Scripts.UI;
|
||
using UnityEngine;
|
||
|
||
namespace BrewMonster.UI
|
||
{
|
||
public class CECGameUIMan : AUIManager
|
||
{
|
||
DlgNPC m_pDlgNPC;
|
||
public NPC_ESSENCE? m_pCurNPCEssence;
|
||
public int m_idCurFinishTask = -1;
|
||
private DlgTask m_pDlgTask;
|
||
|
||
public static bool TALKPROC_IS_TERMINAL(uint id)
|
||
{
|
||
return ((id & 0x80000000u) != 0) && ((id & 0x40000000u) != 0);
|
||
}
|
||
|
||
public static bool TALKPROC_IS_FUNCTION(uint id)
|
||
{
|
||
return ((id) & 0x80000000) != 0;
|
||
}
|
||
|
||
public static uint TALKPROC_GET_FUNCTION_ID(uint id)
|
||
{
|
||
return ((id) & 0x7FFFFFFF);
|
||
}
|
||
|
||
public void PopupNPCDialog(NPC_ESSENCE pEssence)
|
||
{
|
||
if(m_pDlgNPC == null)
|
||
{
|
||
GameObject ob = m_dialogResouce.GetPrefabDialog("DialogNPC");
|
||
m_pDlgNPC = GameObject.Instantiate(ob, m_canvas.transform).GetComponent<DlgNPC>();
|
||
m_pDlgNPC.SetAUIManager(this);
|
||
}
|
||
m_pDlgNPC.PopupDialog(pEssence);
|
||
}
|
||
|
||
public void PopupNPCDialog(talk_proc pTalk)
|
||
{
|
||
if(m_pDlgNPC == null)
|
||
{
|
||
GameObject ob = m_dialogResouce.GetPrefabDialog("DialogNPC");
|
||
m_pDlgNPC = GameObject.Instantiate(ob, m_canvas.transform).GetComponent<DlgNPC>();
|
||
m_pDlgNPC.SetAUIManager(this);
|
||
}
|
||
m_pDlgNPC.PopupNPCDialog(pTalk);
|
||
}
|
||
|
||
// 弹出任务完成对话框(到达/离开地点等触发) // Popup task-finish dialog (reach/leave site, etc.)
|
||
// C++: pTask->PopupTaskFinishDialog(taskId, &awardTalk); then OnUIDialogEnd() notifies server.
|
||
public bool PopupTaskFinishDialog(uint taskId, talk_proc pTalk)
|
||
{
|
||
if (pTalk.num_window == 0) return false;
|
||
|
||
if (m_pDlgNPC == null)
|
||
{
|
||
GameObject ob = m_dialogResouce.GetPrefabDialog("DialogNPC");
|
||
m_pDlgNPC = GameObject.Instantiate(ob, m_canvas.transform).GetComponent<DlgNPC>();
|
||
m_pDlgNPC.SetAUIManager(this);
|
||
}
|
||
|
||
m_idCurFinishTask = (int)taskId;
|
||
m_pDlgNPC.PopupNPCDialog(pTalk);
|
||
m_pDlgNPC.SetData(DlgNPC.NPC_DIALOG.NPC_DIALOG_TASK_TALK, "");
|
||
return true;
|
||
}
|
||
|
||
public void EndNPCService()
|
||
{
|
||
m_pCurNPCEssence = null;
|
||
//EC_Game.GetGameRun().GetHostPlayer().EndNPCService();
|
||
EC_ManMessageMono.Instance.EC_ManPlayer.GetHostPlayer().EndNPCService();
|
||
}
|
||
|
||
public bool UpdateTask(uint idTask, int reason)
|
||
{
|
||
// TODO:
|
||
// CDlgTaskTrace* pDlg = dynamic_cast<CDlgTaskTrace*>(GetDialog("Win_QuestMinion"));
|
||
// if (pDlg) {
|
||
// pDlg->SetBtnUnTraceY(-1, 0);
|
||
// pDlg->UpdateContributionTask();
|
||
// if (reason == TASK_SVR_NOTIFY_NEW)
|
||
// pDlg->OnTaskNew(idTask);
|
||
// }
|
||
|
||
// TODO
|
||
// ���´����������
|
||
// if (reason == TaskTemplConstants.TASK_SVR_NOTIFY_NEW)
|
||
// {
|
||
// m_pDlgQuestionTask.AddQuestionTask(idTask);
|
||
// }
|
||
// else if (reason == TaskTemplConstants.TASK_SVR_NOTIFY_COMPLETE || reason == TaskTemplConstants.TASK_SVR_NOTIFY_GIVE_UP)
|
||
// {
|
||
// m_pDlgQuestionTask.RemoveQuestionTask(idTask);
|
||
// }
|
||
|
||
if(reason == TaskTemplConstants.TASK_SVR_NOTIFY_STORAGE)
|
||
{
|
||
// TODO
|
||
// CDlgTaskList* pDlg = (CDlgTaskList*)GetDialog("Win_QuestList");
|
||
// if (pDlg && pDlg.IsShow())
|
||
// {
|
||
// // refresh data in OnShow()
|
||
// pDlg.RefreshTaskList();
|
||
// }
|
||
return true;
|
||
}
|
||
else
|
||
{
|
||
// zhangyitian 20140521
|
||
// �������ʱ���ɽ������б�ҲҪ���£������˿ɽ������б������µ�����
|
||
return m_pDlgTask.UpdateQuestView();
|
||
}
|
||
}
|
||
public DialogScriptTableObject GetDialogResource()
|
||
{
|
||
return m_dialogResouce;
|
||
}
|
||
|
||
public Canvas GetCanvas()
|
||
{
|
||
return m_canvas;
|
||
}
|
||
public void EnableUI(bool bEnable)
|
||
{
|
||
|
||
}
|
||
public override void Init()
|
||
{
|
||
base.Init();
|
||
|
||
m_pDlgTask = GetDialog(CECUIHelper.DlgTaskName).GetComponent<DlgTask>();
|
||
m_pDlgTask.Show(false);
|
||
}
|
||
}
|
||
public enum EC_GAMEUI_ICONS
|
||
|
||
{
|
||
ICONS_ACTION = 0,
|
||
ICONS_SKILL,
|
||
ICONS_INVENTORY,
|
||
ICONS_STATE,
|
||
ICONS_SKILLGRP,
|
||
ICONS_GUILD,
|
||
ICONS_PET,
|
||
ICONS_ELF,
|
||
ICONS_SUITE,
|
||
ICONS_CALENDAR,
|
||
ICONS_PQ,
|
||
ICONS_MAX
|
||
};
|
||
}
|