add ecgame
This commit is contained in:
Binary file not shown.
@@ -134,6 +134,7 @@ namespace BrewMonster.UI
|
||||
// Request all known packages: 0=Inventory,1=Equipment,2=Task
|
||||
UnityGameSession.RequestAllInventoriesAsync(() => { Logger.Log("Sent Inventory Detail Requests (all packs)"); }, 0, 1, 2);
|
||||
UnityGameSession.c2s_CmdGetAllData(true, true, false);
|
||||
EC_Game.Init();
|
||||
}
|
||||
|
||||
//private void OnInventoryReceived(List<InventoryItem> inventoryData)
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7c78d146782232847ac2e4a6cec64dbf
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,36 @@
|
||||
using ModelRenderer.Scripts.GameData;
|
||||
using PerfectWorld.Scripts.Task;
|
||||
using UnityEngine;
|
||||
namespace BrewMonster.Network
|
||||
{
|
||||
public static class EC_Game
|
||||
{
|
||||
#region Fields
|
||||
private static ATaskTemplMan m_pTaskMan; // Task template manager
|
||||
private static elementdataman m_pElementDataMan; // global element templates manager
|
||||
#endregion
|
||||
|
||||
#region Properties
|
||||
public static ATaskTemplMan GetTaskTemplateMan() { return m_pTaskMan; }
|
||||
public static elementdataman GetElementDataMan() { return m_pElementDataMan; }
|
||||
#endregion
|
||||
|
||||
#region Public Methods
|
||||
public static bool Init()
|
||||
{
|
||||
m_pElementDataMan = elementdataman.Instance;
|
||||
|
||||
// Load task templates
|
||||
if (m_pTaskMan == null) m_pTaskMan = new ATaskTemplMan();
|
||||
|
||||
m_pTaskMan.Init(m_pElementDataMan);
|
||||
if (!m_pTaskMan.InitStorageTask())
|
||||
{
|
||||
Debug.LogError("[Dat]- CECGame::Init, Storage task Init Failed!");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e9b6b5b70c94a5c4e9dbaa1b2e1c323c
|
||||
@@ -1,3 +1,4 @@
|
||||
using BrewMonster;
|
||||
using ModelRenderer.Scripts.GameData;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
@@ -28,6 +29,10 @@ namespace PerfectWorld.Scripts.Task
|
||||
private Dictionary<ulong, ATaskTempl> m_DeathTrigMap = new Dictionary<ulong, ATaskTempl>();
|
||||
private Dictionary<ulong, ATaskTempl> m_PQTemplMap = new Dictionary<ulong, ATaskTempl>();
|
||||
|
||||
private Dictionary<uint, uint> m_StorageEssenseMap = new Dictionary<uint, uint>();
|
||||
private Dictionary<uint, uint> m_WeightEssenseMap = new Dictionary<uint, uint>();
|
||||
private Dictionary<int, int> m_StorageTaskMap = new Dictionary<int, int>();
|
||||
|
||||
private List<ATaskTempl> m_SkillTaskLst = new List<ATaskTempl>();
|
||||
private List<ATaskTempl> m_TmLmtChkLst = new List<ATaskTempl>();
|
||||
|
||||
@@ -177,10 +182,10 @@ namespace PerfectWorld.Scripts.Task
|
||||
if (pTask.m_bAutoDeliver && pTask.m_bDisplayInExclusiveUI)
|
||||
m_ExlusiveAwardTaskMap[pTask.m_ID] = pTask;
|
||||
|
||||
//#if _TASK_CLIENT
|
||||
// if (pTask.m_ulDelvNPC != 0 && pTask.m_bCanSeekOut)
|
||||
// m_TasksCanSeekOut.Add(pTask);
|
||||
//#endif
|
||||
//#if _TASK_CLIENT
|
||||
// if (pTask.m_ulDelvNPC != 0 && pTask.m_bCanSeekOut)
|
||||
// m_TasksCanSeekOut.Add(pTask);
|
||||
//#endif
|
||||
|
||||
AddTaskToMap(pTask);
|
||||
}
|
||||
@@ -213,5 +218,59 @@ namespace PerfectWorld.Scripts.Task
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public bool InitStorageTask()
|
||||
{
|
||||
m_StorageEssenseMap.Clear();
|
||||
m_WeightEssenseMap.Clear();
|
||||
|
||||
DATA_TYPE dt;
|
||||
|
||||
//ID_SPACE.ID_SPACE_ESSENCE
|
||||
foreach (var pair in m_pEleDataMan.essence_id_data_type_map)
|
||||
{
|
||||
if (pair.Value == DATA_TYPE.DT_NPC_TASK_OUT_SERVICE)
|
||||
{
|
||||
dt = pair.Value;
|
||||
NPC_TASK_OUT_SERVICE pData = (NPC_TASK_OUT_SERVICE)m_pEleDataMan.get_data_ptr(pair.Key, ID_SPACE.ID_SPACE_ESSENCE, ref dt);
|
||||
|
||||
if (pData.storage_id == 0) continue;
|
||||
|
||||
if (pData.storage_id > CECTaskInterface.TASK_STORAGE_COUNT) return false;
|
||||
if (m_StorageEssenseMap.ContainsKey(pData.storage_id)) return false;
|
||||
m_StorageEssenseMap[pData.storage_id] = pData.id;
|
||||
for (var i = 0; i < pData.id_tasks.Length; i++)
|
||||
{
|
||||
if (pData.id_tasks[i] > 0)
|
||||
{
|
||||
m_StorageTaskMap[(int)pData.id_tasks[i]] = (int)pData.storage_id;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// ID_SPACE_CONFIG
|
||||
foreach (var pair in m_pEleDataMan.config_id_data_type_map)
|
||||
{
|
||||
if (pair.Value == DATA_TYPE.DT_NPC_TASK_OUT_SERVICE)
|
||||
{
|
||||
dt = pair.Value;
|
||||
NPC_TASK_OUT_SERVICE pData = (NPC_TASK_OUT_SERVICE)m_pEleDataMan.get_data_ptr(pair.Key, ID_SPACE.ID_SPACE_ESSENCE, ref dt);
|
||||
|
||||
if (pData.storage_id == 0) continue;
|
||||
|
||||
if (pData.storage_id > CECTaskInterface.TASK_STORAGE_COUNT) return false;
|
||||
if (m_StorageEssenseMap.ContainsKey(pData.storage_id)) return false;
|
||||
m_StorageEssenseMap[pData.storage_id] = pData.id;
|
||||
for (var i = 0; i < pData.id_tasks.Length; i++)
|
||||
{
|
||||
if (pData.id_tasks[i] > 0)
|
||||
{
|
||||
m_StorageTaskMap[(int)pData.id_tasks[i]] = (int)pData.storage_id;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,16 @@
|
||||
using BrewMonster.Network;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace PerfectWorld.Scripts.Task
|
||||
{
|
||||
public class CECTaskInterface : TaskInterface
|
||||
{
|
||||
public const int TASK_MAX_DELIVER_COUNT = 5;
|
||||
public const int TASK_STORAGE_COUNT = 32;
|
||||
public const int TASK_STORAGE_LEN = 10;
|
||||
public const float TASK_STORAGE_WHELL_SCALE = 10000;
|
||||
|
||||
CECHostPlayer m_pHost;
|
||||
object[] m_pActiveListBuf; // Active task list buffer
|
||||
object[] m_pFinishedListBuf; // Finished task list buffer
|
||||
@@ -92,11 +99,17 @@ namespace PerfectWorld.Scripts.Task
|
||||
//if (iStorageTaskListLen < TASK_STORAGE_LIST_BUF_SIZE)
|
||||
// memset((BYTE*)m_pStorageTaskListBuf + iStorageTaskListLen, 0, TASK_STORAGE_LIST_BUF_SIZE - iStorageTaskListLen);
|
||||
|
||||
//ATaskTemplMan pTaskMan = GetTaskTemplMan();
|
||||
//pTaskMan.Release();
|
||||
//pTaskMan.LoadTasksFromPack("data\\tasks.data", true);
|
||||
//pTaskMan.LoadNPCInfoFromPack("data\\task_npc.data");
|
||||
//pTaskMan.VerifyDynTasksPack("userdata\\dyn_tasks.data");
|
||||
//Debug.LogError("[Dat]- ")
|
||||
ATaskTemplMan pTaskMan = GetTaskTemplMan();
|
||||
if (pTaskMan == null)
|
||||
{
|
||||
Debug.LogError("[Dat]- fail to create ATaskTemplMan");
|
||||
return false;
|
||||
}
|
||||
pTaskMan.Release();
|
||||
pTaskMan.LoadTasksFromPack("data\\tasks.data", true);
|
||||
pTaskMan.LoadNPCInfoFromPack("data\\task_npc.data");
|
||||
pTaskMan.VerifyDynTasksPack("userdata\\dyn_tasks.data");
|
||||
//InitActiveTaskList();
|
||||
|
||||
//m_bForceNavigateFinish = false;
|
||||
@@ -111,8 +124,7 @@ namespace PerfectWorld.Scripts.Task
|
||||
|
||||
private ATaskTemplMan GetTaskTemplMan()
|
||||
{
|
||||
//return g_pGame->GetTaskTemplateMan();
|
||||
return null;
|
||||
return EC_Game.GetTaskTemplateMan();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user