Merge pull request 'feature/skill-data' (#98) from feature/skill-data into develop

Reviewed-on: https://git.brew.monster/Unity/perfect-world-unity/pulls/98
This commit is contained in:
hoangvd
2025-12-29 10:44:43 +00:00
13 changed files with 984 additions and 823 deletions
@@ -520,6 +520,7 @@ GameObject:
m_Component:
- component: {fileID: 1514653177914178785}
- component: {fileID: 1781785440582438618}
- component: {fileID: 7527074718667527754}
m_Layer: 0
m_Name: "\u6C34\u6BCD2"
m_TagString: Untagged
@@ -567,6 +568,38 @@ Animator:
m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorStateOnDisable: 0
m_WriteDefaultValuesOnDisable: 0
--- !u!114 &7527074718667527754
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1710108859218094398}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c75c0dcb6d50eb64abd727a90406ca2b, type: 3}
m_Name:
m_EditorClassIdentifier:
_Animator: {fileID: 1781785440582438618}
_ActionOnDisable: 0
_PlayAutomatically: 1
_Animations:
- {fileID: 7400000, guid: 6f39ab4512cae33419667c525882f449, type: 2}
- {fileID: 7400000, guid: 0f75c9ce7be71ec40a7b95c441b9d01e, type: 2}
- {fileID: 7400000, guid: 79767b3da94513149b4924ddb459705b, type: 2}
- {fileID: 7400000, guid: e6ca1b7d44f4eb548963afa7fa33fa1b, type: 2}
- {fileID: 7400000, guid: a5a8758a62205a048afd94754fcf13ee, type: 2}
- {fileID: 7400000, guid: b7cb049f81eeddb4cbc025e535f1f6ad, type: 2}
- {fileID: 7400000, guid: 31499be279adcae459a65c6437ec36f6, type: 2}
- {fileID: 7400000, guid: d685eb2773931d042be8a9e2f67c515d, type: 2}
- {fileID: 7400000, guid: decaad5c59e331c4c811e72595da1020, type: 2}
- {fileID: 7400000, guid: 03c5bc6102d20b54e82e996bd11b5bc2, type: 2}
- {fileID: 7400000, guid: 915bb723b6b8d5441949d693acee2402, type: 2}
- {fileID: 7400000, guid: 8555af547430e4940b7fdc92083b4406, type: 2}
- {fileID: 7400000, guid: 12c774f5b313d29419833d5c0e15e8d8, type: 2}
- {fileID: 7400000, guid: e175a26ba8aba1e468f66c115b09ba44, type: 2}
- {fileID: 7400000, guid: 86fbb16b78128a747b1cd4cdf806da88, type: 2}
- {fileID: 7400000, guid: 5abf0077058ac124a837f2b9c2fe4392, type: 2}
--- !u!1 &1775889791038673272
GameObject:
m_ObjectHideFlags: 0
@@ -24,7 +24,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 45586739874281309}
serializedVersion: 2
m_LocalRotation: {x: 0.0001954734, y: 0.035910603, z: 0.15620628, w: 0.9870714}
m_LocalRotation: {x: 0.00019547342, y: 0.035910606, z: 0.1562063, w: 0.98707145}
m_LocalPosition: {x: 0.12802695, y: 0.000000059604645, z: 0.0000014826653}
m_LocalScale: {x: 1, y: 1, z: 1.0000001}
m_ConstrainProportionsScale: 0
@@ -215,7 +215,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 520456255340831225}
serializedVersion: 2
m_LocalRotation: {x: 0.21676102, y: -0.07601235, z: 0.1893922, w: 0.9546556}
m_LocalRotation: {x: 0.21676104, y: -0.07601236, z: 0.18939221, w: 0.95465565}
m_LocalPosition: {x: 0.08670271, y: 0.000000018626451, z: -0.00000003352761}
m_LocalScale: {x: 1.0000001, y: 0.99999994, z: 1}
m_ConstrainProportionsScale: 0
@@ -507,7 +507,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1788951587306344036}
serializedVersion: 2
m_LocalRotation: {x: -0.21676102, y: -0.07601233, z: -0.18939213, w: 0.9546556}
m_LocalRotation: {x: -0.21676104, y: -0.076012336, z: -0.18939215, w: 0.95465565}
m_LocalPosition: {x: 0.08670274, y: -0.00000007171184, z: 0.000000044703484}
m_LocalScale: {x: 1.0000001, y: 0.99999994, z: 1}
m_ConstrainProportionsScale: 0
@@ -782,6 +782,7 @@ GameObject:
m_Component:
- component: {fileID: 6429822982320471272}
- component: {fileID: 8693483490045746834}
- component: {fileID: 4464202492105974582}
m_Layer: 0
m_Name: "\u7A7A\u8D3C\u6253\u624B"
m_TagString: Untagged
@@ -830,6 +831,38 @@ Animator:
m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorStateOnDisable: 0
m_WriteDefaultValuesOnDisable: 0
--- !u!114 &4464202492105974582
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3196212326985794337}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c75c0dcb6d50eb64abd727a90406ca2b, type: 3}
m_Name:
m_EditorClassIdentifier:
_Animator: {fileID: 8693483490045746834}
_ActionOnDisable: 0
_PlayAutomatically: 1
_Animations:
- {fileID: 7400000, guid: 424caa999db5a9042b10d24d933f9a5a, type: 2}
- {fileID: 7400000, guid: 3a3509da72fb52d4193610ff05cd70a1, type: 2}
- {fileID: 7400000, guid: 8b49caf55e9f5d945a8ab339e9155e76, type: 2}
- {fileID: 7400000, guid: 7973d79c20bb023469964e057409130d, type: 2}
- {fileID: 7400000, guid: 0566eea56fcd14b48a4b5403942fcdfe, type: 2}
- {fileID: 7400000, guid: 8d3f663a077c9f24a907f804db949ba5, type: 2}
- {fileID: 7400000, guid: ad1e6fdd4d6b7a443895cb5d611ba882, type: 2}
- {fileID: 7400000, guid: 67fb903ba4893d241982e566ef2ee3b9, type: 2}
- {fileID: 7400000, guid: dd544ffcf8fb9314494ffb0e29a1f99a, type: 2}
- {fileID: 7400000, guid: 384fa0279c8e587499e4c11762af2b40, type: 2}
- {fileID: 7400000, guid: 6fc4775c91cb1234b9501f75cc5f4ece, type: 2}
- {fileID: 7400000, guid: e2c4f67e3c94ea14d9089aec32fe94f6, type: 2}
- {fileID: 7400000, guid: 810f08682d5b5ca489dfbfcf03c57ad9, type: 2}
- {fileID: 7400000, guid: d4c117021d987294fa715576148d3da6, type: 2}
- {fileID: 7400000, guid: ebbecd0e592aae54988a4f2253be0d68, type: 2}
- {fileID: 7400000, guid: 415c96613c1797a45aa02afb5565db6e, type: 2}
--- !u!1 &3254135137060844130
GameObject:
m_ObjectHideFlags: 0
@@ -917,7 +950,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3411362651181489437}
serializedVersion: 2
m_LocalRotation: {x: -0.15743898, y: 0.21654342, z: -0.16221733, w: -0.9497407}
m_LocalRotation: {x: -0.157439, y: 0.21654344, z: -0.16221735, w: -0.94974077}
m_LocalPosition: {x: 0.08178991, y: 0.03681789, z: 0.0021713264}
m_LocalScale: {x: 1, y: 1, z: 0.99999994}
m_ConstrainProportionsScale: 0
@@ -980,7 +1013,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3594614052251443764}
serializedVersion: 2
m_LocalRotation: {x: -0.000000083819, y: 0.20195249, z: -0.000000010011714, w: -0.9793953}
m_LocalRotation: {x: -0.00000008381901, y: 0.2019525, z: -0.000000010011715, w: -0.97939533}
m_LocalPosition: {x: 0.08501097, y: 0.000000026659109, z: -0.000000017229471}
m_LocalScale: {x: 0.99999994, y: 0.99999994, z: 1}
m_ConstrainProportionsScale: 0
@@ -1011,7 +1044,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3827960749917197065}
serializedVersion: 2
m_LocalRotation: {x: 0.64047587, y: -0.05603034, z: 0.051385324, w: 0.764206}
m_LocalRotation: {x: 0.6404759, y: -0.05603034, z: 0.05138533, w: 0.764206}
m_LocalPosition: {x: 0.10646789, y: -0.000000044784954, z: -0.00000002142042}
m_LocalScale: {x: 1.0000001, y: 1, z: 1}
m_ConstrainProportionsScale: 0
@@ -1149,7 +1182,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4349560966842217713}
serializedVersion: 2
m_LocalRotation: {x: -0.1574388, y: -0.21654342, z: -0.1622174, w: 0.9497407}
m_LocalRotation: {x: -0.15743881, y: -0.21654344, z: -0.16221741, w: 0.94974077}
m_LocalPosition: {x: 0.081789866, y: -0.036817905, z: 0.0021712705}
m_LocalScale: {x: 1, y: 0.99999994, z: 1.0000001}
m_ConstrainProportionsScale: 0
@@ -1369,7 +1402,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5250363857599433293}
serializedVersion: 2
m_LocalRotation: {x: -0.000000029802315, y: 0.29306743, z: -0.000000081956365, w: 0.95609176}
m_LocalRotation: {x: -0.000000029802317, y: 0.29306746, z: -0.00000008195637, w: 0.9560918}
m_LocalPosition: {x: 0.15779065, y: 0.00000008754433, z: 0.000000014901161}
m_LocalScale: {x: 0.99999994, y: 1, z: 1}
m_ConstrainProportionsScale: 0
@@ -1528,7 +1561,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6128346470182529136}
serializedVersion: 2
m_LocalRotation: {x: 0.000000011621976, y: 0.085773446, z: -0.00000032071873, w: 0.99631464}
m_LocalRotation: {x: 0.000000011621977, y: 0.08577345, z: -0.00000032071875, w: 0.9963147}
m_LocalPosition: {x: 0.13940951, y: -0.000000028714545, z: -0.00012374607}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
@@ -1562,7 +1595,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6421309482096614329}
serializedVersion: 2
m_LocalRotation: {x: 0.9536091, y: -0.19540954, z: -0.12846017, w: 0.1895857}
m_LocalRotation: {x: 0.95360917, y: -0.19540955, z: -0.12846018, w: 0.18958572}
m_LocalPosition: {x: 0.020712197, y: 0.68221074, z: -0.05697149}
m_LocalScale: {x: 1, y: 1, z: 1.0000001}
m_ConstrainProportionsScale: 0
@@ -1689,7 +1722,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7487885992924631694}
serializedVersion: 2
m_LocalRotation: {x: 0.52299047, y: 0.53679824, z: 0.16240825, w: 0.641835}
m_LocalRotation: {x: 0.5229905, y: 0.5367983, z: 0.16240826, w: 0.64183503}
m_LocalPosition: {x: 0.13305534, y: 0.13447787, z: -0.040462982}
m_LocalScale: {x: 1, y: 1, z: 1.0000001}
m_ConstrainProportionsScale: 0
@@ -1783,7 +1816,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7741618491220627044}
serializedVersion: 2
m_LocalRotation: {x: -0.000000052154054, y: -0.26218522, z: -0.000000026077027, w: 0.96501756}
m_LocalRotation: {x: -0.000000052154057, y: -0.26218525, z: -0.000000026077029, w: 0.9650176}
m_LocalPosition: {x: 0.062060088, y: -0.000000047264628, z: -0.000000009051291}
m_LocalScale: {x: 1, y: 1, z: 0.99999994}
m_ConstrainProportionsScale: 0
@@ -1910,7 +1943,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7952703869286412366}
serializedVersion: 2
m_LocalRotation: {x: 0.00000005960463, y: 0.3649806, z: 0.000000014901158, w: -0.9310151}
m_LocalRotation: {x: 0.000000059604634, y: 0.36498064, z: 0.0000000149011585, w: -0.93101513}
m_LocalPosition: {x: 0.07001711, y: 0.000000016298147, z: 0.0000000037252899}
m_LocalScale: {x: 0.99999994, y: 1, z: 1}
m_ConstrainProportionsScale: 0
@@ -8,6 +8,7 @@
* Copyright (c) 2004 Archosaur Studio, All Rights Reserved.
*/
using BrewMonster.Network;
using System;
using System.Collections.Generic;
using System.IO;
@@ -1078,30 +1079,30 @@ namespace BrewMonster
if (dwVer < 15)
{
DefaultUserConfigData();
return true;
goto End;
}
else if (dwVer > EC_ConfigConstants.EC_CONFIG_VERSION)
{
Debug.LogError("CECConfigs::LoadUserConfigData, version mismatch");
DefaultUserConfigData();
return false;
throw new Exception("CECConfigs::LoadUserConfigData, version mismatch");
}
m_vs.Read(reader, dwVer);
m_gs.Read(reader, dwVer);
m_bs.Read(reader, dwVer);
m_cas.Read(reader, dwVer);
}
ApplyUserSetting();
return true;
}
catch (Exception e)
{
Debug.LogError($"CECConfigs::LoadUserConfigData, data read error: {e.Message}");
DefaultUserConfigData();
return false;
}
End:
/*if (CECCrossServer::Instance().IsOnSpecialServer())
memset(m_bs.idPlayer, 0, sizeof(m_bs.idPlayer));*/
ApplyUserSetting();
return true;
}
public void ApplyUserSetting()
@@ -1113,6 +1114,10 @@ namespace BrewMonster
m_fCurPVRadius = CalcPlayerVisRadius(m_vs.nDistance);
// Note: Would need EC_Game reference
// g_pGame->GetA3DGFXExMan()->SetPriority(m_vs.nEffect);
// Send force attack to server
/* byte forceAttack = glb_BuildPVPMask(false);
byte refuseBless = glb_BuildRefuseBLSMask();
UnityGameSession.Instance.c2s_CmdNotifyForceAttack(forceAttack, refuseBless);*/
}
public void SetSceneLoadRadius(float fRadius)
@@ -145,6 +145,8 @@ namespace BrewMonster.Managers
@@ -2,6 +2,7 @@
using BrewMonster.Managers;
using BrewMonster.Network;
using BrewMonster.Scripts.Skills;
using BrewMonster.UI;
using CSNetwork.C2SCommand;
using CSNetwork.GPDataType;
using CSNetwork.Protocols;
@@ -358,6 +359,7 @@ namespace CSNetwork
OnPrtcPlayerBaseInfoRe(protocol);
break;
case ProtocolType.PROTOCOL_GETUICONFIG_RE: OnPrtcGetConfigRe(protocol); break;
case ProtocolType.PROTOCOL_AUTOTEAMSETGOAL_RE:
{
// CECAutoTeam pAutoTeam = CECGameRun.Instance.GetHostPlayer().GetAutoTeam();
@@ -1116,11 +1118,11 @@ namespace CSNetwork
BMLogger.LogError("CECGameSession::OnPrtcGetConfigRe, link return error code of " + p.Result);
else
{
if (!EC_Game.GetGameRun().LoadConfigsFromServer(p.UiConfig.RawBuffer, p.UiConfig.Size))
if (!CECGameRun.Instance.LoadConfigsFromServer(p.UiConfig.RawBuffer, p.UiConfig.Size))
{
// if load failed then use current setting directly
//TODO : fix later
//g_pGame.GetConfigs().ApplyUserSetting();
EC_Game.GetConfigs().ApplyUserSetting();
}
// Now, Get config data request is sent after all host initial data ready.
@@ -1128,47 +1130,31 @@ namespace CSNetwork
// really starts. Maybe it's not the best place to do these work, but
// now we do it here.
// Enalbe game UI
//CECGameUIMan* pGameUI = (CECGameUIMan*)g_pGame->GetGameRun()->GetUIManager()->GetInGameUIMan();
//if (pGameUI)
//{
// pGameUI->EnableUI(true);
CECGameUIMan pGameUI = (CECGameUIMan)EC_Game.GetGameRun().GetUIManager().GetInGameUIMan();
if (pGameUI != null)
{
pGameUI.EnableUI(true);
// // Get referral name for adding friend or other display
// RoleInfo info = g_pGame->GetGameRun()->GetSelectedRoleInfo();
// if (info.referrer_role > 0)
// GetPlayerBriefInfo(1, &info.referrer_role, 2);
//}
// Get referral name for adding friend or other display
//TODO: a Hung lam phan select role info di
/* RoleInfo info = EC_Game.GetGameRun().GetSelectedRoleInfo();
if (info.referrer_role > 0)
GetPlayerBriefInfo(1, info.referrer_role, 2);*/
}
//CECHostPlayer* pHost = g_pGame->GetGameRun()->GetHostPlayer();
//pHost->OnAllInitDataReady();
CECHostPlayer pHost = EC_Game.GetGameRun().GetHostPlayer();
pHost.OnAllInitDataReady();
//if (pHost->IsGM())
//{
// CDlgCountryMap* pDlgCountryMap = (CDlgCountryMap*)pGameUI->GetDialog("Win_CountryMap");
// pDlgCountryMap->GetConfig();
//}
/* if (pHost.IsGM())
{
CDlgCountryMap pDlgCountryMap = (CDlgCountryMap)pGameUI.GetDialog("Win_CountryMap");
pDlgCountryMap.GetConfig();
}
//g_pGame->GetConfigs()->ApplyOptimizeSetting();
g_pGame.GetConfigs().ApplyOptimizeSetting();
//if (g_pGame->GetConfigs()->IsMiniClient())
// CECMCDownload::GetInstance().SendGetDownloadOK();
// if (g_pGame->GetConfigs()->IsSendLogicCheckInfo()){
// // Ïò·þÎñÆ÷·¢ËÍ»úÆ÷ʶ±ðÂë
// LogicHelp::LogicCheck logicChecker;
// unsigned char buffer[1024] = {0};
// int actualSize = logicChecker.ReceiveMessage(buffer, sizeof(buffer)/sizeof(buffer[0]));
// if (actualSize <= 0){
//#ifdef LOG_PROTOCOL
// a_LogOutput(1, "LogicHelp::LogicCheck ReceiveMessage returns %d", actualSize);
//#endif
// }else{
//#ifdef LOG_PROTOCOL
// a_LogOutput(1, "LogicHelp::LogicCheck ReceiveMessage returns %d bytes:%s", actualSize, glb_FormatOctets(Octets(buffer, actualSize)));
//#endif
// sendClientMachineInfo(buffer, actualSize);
// }
// }
if (g_pGame.GetConfigs().IsMiniClient())
CECMCDownload::GetInstance().SendGetDownloadOK();*/
}
}
private void OnPrtcPlayerBaseInfoRe(Protocol pProtocol)
@@ -177,3 +177,5 @@ namespace BrewMonster
@@ -175,3 +175,5 @@ namespace BrewMonster
@@ -114,3 +114,5 @@ namespace BrewMonster
@@ -44,6 +44,8 @@ namespace BrewMonster
/*CDlgQuickBar* pQuickBar = dynamic_cast<CDlgQuickBar*>(GetGameUIMan()->GetDialog(a_pszPanel[i]));
if (!pQuickBar || !pQuickBar->IsShow()) continue;*/
for (int j = 0; j < AUIImagePictureList.Count; j++)
{
pCell = AUIImagePictureList[j];
@@ -192,6 +194,7 @@ namespace BrewMonster
{
if (pSkill != null)
{
pCell.gameObject.SetActive(true);
//BMLogger.Log("HoangDev: QuickBar Set Skill Icon: " + (uint)pSkill.GetSkillID() + " : " + ElementSkill.GetIcon((uint)pSkill.GetSkillID()));
var nameskill = ElementSkill.GetIcon((uint)pSkill.GetSkillID());
Sprite[] sprites = Resources.LoadAll<Sprite>("iconlist_skill_multisprite");
@@ -206,10 +209,10 @@ namespace BrewMonster
}
else
{
/* pCell->SetCover(NULL, -1);
pCell->SetText(_AL(""));
pCell->SetDataPtr(NULL);
pCell->SetColor(A3DCOLORRGB(255, 255, 255));*/
/* pCell->SetCover(NULL, -1);
pCell->SetText(_AL(""));
pCell->SetDataPtr(NULL);
pCell->SetColor(A3DCOLORRGB(255, 255, 255));*/
}
}
}
@@ -113,7 +113,10 @@ namespace BrewMonster.UI
{
return m_canvas;
}
public void EnableUI(bool bEnable)
{
}
public override void Init()
{
base.Init();
+47 -28
View File
@@ -1,6 +1,8 @@
using BrewMonster;
using BrewMonster.Network;
using BrewMonster.Scripts;
using BrewMonster.Scripts.World;
using BrewMonster.UI;
using CSNetwork;
using CSNetwork.GPDataType;
using CSNetwork.GPDataType;
@@ -18,13 +20,13 @@ public partial class CECGameRun
private GameObject _playerPrefab;
private GameObject _monsterPrefab;//CECMonster
private GameObject _npcServerPrefab;//CECNPCServer
// CECTeamMan* m_pTeamMan; // Team manager
private CECShortcutSet m_pNormalSCS; // Normal shortcut set
private CECShortcutSet m_pTeamSCS; // Team shortcut set
private CECShortcutSet m_pTradeSCS; // Trade shortcut set
private CECShortcutSet m_pPoseSCS; // Pose shortcut set
private CECShortcutSet m_pFactionSCS; // Faction shortcut set
private CECShortcutSet m_pFactionSCS; // Faction shortcut set
// private GameRunConfig _gameRunConfig;
//[SerializeField] private Transform ground;
@@ -42,6 +44,16 @@ public partial class CECGameRun
public CECShortcutSet GetFactionCmdShortcuts() { return m_pFactionSCS; }
private static Dictionary<int, CECInstance> m_InstTab = new Dictionary<int, CECInstance>();
static RoleInfo l_SelRoleInfo; // Selected character's role info.
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
private static void AfterSceneLoad()
{
l_SelRoleInfo = null;
m_InstTab = new Dictionary<int, CECInstance>();
}
public void Init()
{
Application.targetFrameRate = 60;
@@ -61,7 +73,7 @@ public partial class CECGameRun
// glb_ErrorOutput(ECERR_FAILEDTOCALL, "CECGameRun::Init", __LINE__);
// return false;
//}
if(!m_InstTab.ContainsKey(161))
if (!m_InstTab.ContainsKey(161))
m_InstTab.Add(161, new CECInstance());
AddressableManager.Instance.OnDispose += Dispose;
StartGame(0, Vector3.zero);
@@ -141,18 +153,25 @@ public partial class CECGameRun
return ObjectSpawner.Instance.InstantiateObject(_monsterPrefab, setThisAsParent: true)
.GetComponent<CECMonster>();
}
public RoleInfo GetSelectedRoleInfo()
{
return l_SelRoleInfo;
}
public void SetSelectedRoleInfo(RoleInfo Info)
{
l_SelRoleInfo = Info;
}
public CECNPCServer GetNPCServer()
{
return ObjectSpawner.Instance.InstantiateObject(_npcServerPrefab, setThisAsParent: true).GetComponent<CECNPCServer>();
}
public async void ShowVfx(string assetAddress,Vector3 position, Transform parent ,float timeLife)
public async void ShowVfx(string assetAddress, Vector3 position, Transform parent, float timeLife)
{
var prefab = await AddressableManager.Instance.LoadPrefabAsync(assetAddress);
if (prefab == null)
{
BMLogger.LogError("Failed to load prefab: "+assetAddress);
BMLogger.LogError("Failed to load prefab: " + assetAddress);
return;
}
if (parent == null)
@@ -307,29 +326,29 @@ public partial class CECGameRun
// TODO: Uncomment when UI manager is available
// Load UI configs / 加载UI配置
//CECGameUIMan pGameUI = m_pUIManager.GetInGameUIMan();
// if (pGameUI != null)
// {
// int iSize = dr.ReadInt();
// byte[] uiConfigData = dr.ReadData(iSize);
// if (!pGameUI.SetUserLayout(uiConfigData, iSize))
// {
// BMLogger.LogError("CECGameRun::LoadConfigsFromServer, Failed to set user layout");
// return false;
// }
// }
CECGameUIMan pGameUI = m_pUIManager.GetInGameUIMan();
/* if (pGameUI != null)
{
int iSize = dr.ReadInt();
byte[] uiConfigData = dr.ReadData(iSize);
if (!pGameUI.SetUserLayout(uiConfigData, iSize))
{
BMLogger.LogError("CECGameRun::LoadConfigsFromServer, Failed to set user layout");
return false;
}
}*/
// Load user settings / 加载用户设置
if (dwVer >= 2)
{
// TODO: Uncomment when game configs are available
// int iSize = dr.ReadInt();
// byte[] settingsData = dr.ReadData(iSize);
// if (!g_pGame.GetConfigs().LoadUserConfigData(settingsData, iSize))
// {
// BMLogger.LogError("CECGameRun::LoadConfigsFromServer, Failed to load user config data");
// return false;
// }
int iSize = dr.ReadInt();
byte[] settingsData = dr.ReadData(iSize);
if (!EC_Game.GetConfigs().LoadUserConfigData(settingsData, iSize))
{
BMLogger.LogError("CECGameRun::LoadConfigsFromServer, Failed to load user config data");
return false;
}
}
}
catch (System.Exception e)
@@ -353,21 +372,21 @@ public partial class CECGameRun
// }
return -1;
}
// Create shortcuts
// Create shortcuts
public bool CreateShortcuts()
{
// // Normal command shortcut set
m_pNormalSCS = new CECShortcutSet();
m_pNormalSCS.Init(8);
CECSCCommand pSC = new CECSCCommand((int)CECSCCommand.CommandID.CMD_SITDOWN);
m_pNormalSCS.SetShortcut(0, pSC);
pSC = new CECSCCommand((int)CECSCCommand.CommandID.CMD_WALKRUN);
m_pNormalSCS.SetShortcut(1, pSC);
pSC = new CECSCCommand((int)CECSCCommand.CommandID.CMD_NORMALATTACK);
m_pNormalSCS.SetShortcut(2, pSC);
pSC = new CECSCCommand((int)CECSCCommand.CommandID.CMD_FINDTARGET);
m_pNormalSCS.SetShortcut(3, pSC);
pSC = new CECSCCommand((int)CECSCCommand.CommandID.CMD_FINDTARGET);
m_pNormalSCS.SetShortcut(3, pSC);
pSC = new CECSCCommand((int)CECSCCommand.CommandID.CMD_ASSISTATTACK);
m_pNormalSCS.SetShortcut(3, pSC);
pSC = new CECSCCommand((int)CECSCCommand.CommandID.CMD_FLY);
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long