Merge remote-tracking branch 'origin/develop' into feature/chat

# Conflicts:
#	Assets/PerfectWorld/Scene/Bootstrap.unity
This commit is contained in:
CuongNV
2026-03-19 14:24:21 +07:00
10 changed files with 6522 additions and 994 deletions
+103
View File
@@ -12120,6 +12120,7 @@ RectTransform:
- {fileID: 1462603449517194619}
- {fileID: 1572942396405590444}
- {fileID: 7020286574697807252}
- {fileID: 3994932288534442379}
- {fileID: 1491137607121893366}
- {fileID: 6742883814524417716}
- {fileID: 3384258909275276440}
@@ -20134,6 +20135,108 @@ RectTransform:
m_CorrespondingSourceObject: {fileID: 1498433891306440738, guid: 4b2c2bde3e2945e4ba4516d08d755aeb, type: 3}
m_PrefabInstance: {fileID: 3031790921263038225}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &3945582592032792942
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 3483809415181351540}
m_Modifications:
- target: {fileID: 121983901978661093, guid: fd12cafdb76332a488e2a1f3782fe40f, type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 121983901978661093, guid: fd12cafdb76332a488e2a1f3782fe40f, type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 121983901978661093, guid: fd12cafdb76332a488e2a1f3782fe40f, type: 3}
propertyPath: m_AnchorMax.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 121983901978661093, guid: fd12cafdb76332a488e2a1f3782fe40f, type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 121983901978661093, guid: fd12cafdb76332a488e2a1f3782fe40f, type: 3}
propertyPath: m_AnchorMin.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 121983901978661093, guid: fd12cafdb76332a488e2a1f3782fe40f, type: 3}
propertyPath: m_AnchorMin.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 121983901978661093, guid: fd12cafdb76332a488e2a1f3782fe40f, type: 3}
propertyPath: m_SizeDelta.x
value: 306.4397
objectReference: {fileID: 0}
- target: {fileID: 121983901978661093, guid: fd12cafdb76332a488e2a1f3782fe40f, type: 3}
propertyPath: m_SizeDelta.y
value: 313.5729
objectReference: {fileID: 0}
- target: {fileID: 121983901978661093, guid: fd12cafdb76332a488e2a1f3782fe40f, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 121983901978661093, guid: fd12cafdb76332a488e2a1f3782fe40f, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 121983901978661093, guid: fd12cafdb76332a488e2a1f3782fe40f, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 121983901978661093, guid: fd12cafdb76332a488e2a1f3782fe40f, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 121983901978661093, guid: fd12cafdb76332a488e2a1f3782fe40f, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 121983901978661093, guid: fd12cafdb76332a488e2a1f3782fe40f, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 121983901978661093, guid: fd12cafdb76332a488e2a1f3782fe40f, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 121983901978661093, guid: fd12cafdb76332a488e2a1f3782fe40f, type: 3}
propertyPath: m_AnchoredPosition.x
value: -192.78015
objectReference: {fileID: 0}
- target: {fileID: 121983901978661093, guid: fd12cafdb76332a488e2a1f3782fe40f, type: 3}
propertyPath: m_AnchoredPosition.y
value: -174.68652
objectReference: {fileID: 0}
- target: {fileID: 121983901978661093, guid: fd12cafdb76332a488e2a1f3782fe40f, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 121983901978661093, guid: fd12cafdb76332a488e2a1f3782fe40f, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 121983901978661093, guid: fd12cafdb76332a488e2a1f3782fe40f, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4582549600041979364, guid: fd12cafdb76332a488e2a1f3782fe40f, type: 3}
propertyPath: m_Name
value: DlgMap
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: fd12cafdb76332a488e2a1f3782fe40f, type: 3}
--- !u!224 &3994932288534442379 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 121983901978661093, guid: fd12cafdb76332a488e2a1f3782fe40f, type: 3}
m_PrefabInstance: {fileID: 3945582592032792942}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &4126319518786353711
PrefabInstance:
m_ObjectHideFlags: 0
@@ -59,5 +59,3 @@ MonoBehaviour:
prefab: {fileID: 9152579472324007262, guid: 2060bbc2e61f6db4590ab041243b6294, type: 3}
- id: Win_FriendList
prefab: {fileID: 7959803810568030828, guid: c3fe60ca49d530e4a9d03e185154c4f5, type: 3}
- id: Win_Map
prefab: {fileID: 4582549600041979364, guid: fd12cafdb76332a488e2a1f3782fe40f, type: 3}
+2 -2
View File
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2f616719007e072d5ecfde372c6429d4b26c7272e4a8759651656e8c832d1189
size 332427
oid sha256:ebf0f534d5dd4216e684348677df8c7195b2a5ef28c62f43038ce1dc5a24990e
size 319833
@@ -24,7 +24,7 @@ namespace BrewMonster
{
private static readonly int[] RequiredLevelArray = { 9, 14, 19, 24, 29, 34, 39, 44, 49, 54 };
private static readonly int[] RequiredSpArray = { 1000, 2400, 4600, 7700, 11800, 17300, 24600, 34200, 47000, 64000 };
private static readonly int[] RequiredItemArray = { 0 };
private static readonly int[] RequiredItemArray = { 0 ,0,0,0,0,0,0,0,0,0 };
private static readonly int[] RequiredMoneyArray = { 110, 250, 440, 680, 1090, 1540, 1990, 2480, 2980, 3480 };
@@ -3335,6 +3335,7 @@ namespace BrewMonster.UI
// AUIDialog pShow1 = null, pShow2 = null;
string dialogue1 = String.Empty, dialogue2 = String.Empty;
NPC_ESSENCE? pCurNPCEssence = GetGameUIMan().m_pCurNPCEssence;
uint npcID = pCurNPCEssence.HasValue ? pCurNPCEssence.Value.id : 0;
SERVICE_TYPE serviceNeedSetUpDialogue = SERVICE_TYPE.NPC_TALK;
AWARD_DATA ad;
@@ -3378,23 +3379,29 @@ namespace BrewMonster.UI
//CloseDialogue();
if (pCurNPCEssence.HasValue)
{
dialogue1 = "DialogNPCShop";
serviceNeedSetUpDialogue = (SERVICE_TYPE)idFunction;
/*
// old: handled locally (do NOT delete)
uint npcID = pCurNPCEssence.Value.id;
var dlg = CECUIManager.Instance.ShowUI("DialogNPCShop");
if (dlg != null && dlg is NPCShopUIManager shopManager)
{
shopManager.OpenNPCShop(npcID);
}
*/
}
}
else if (idFunction == (int)SERVICE_TYPE.NPC_INSTALL)
{
if (pCurNPCEssence.HasValue)
{
uint npcID = pCurNPCEssence.Value.id;
dialogue1 = "Win_Enchase";
// var dlgInstall =GetGameUIMan().GetDialog("Win_Enchase");
// dlgInstall.Show(true);
CECUIManager.Instance.ShowUI("Win_Enchase");
// CECUIManager.Instance.ShowUI("Win_Enchase"); // old: handled locally (do NOT delete)
}
//pShow1 = m_pAUIManager.GetDialog("Win_Enchase");
//pShow2 = m_pAUIManager.GetDialog("Win_Inventory");
@@ -3403,8 +3410,8 @@ namespace BrewMonster.UI
{
if (pCurNPCEssence.HasValue)
{
uint npcID = pCurNPCEssence.Value.id;
CECUIManager.Instance.ShowUI("Win_Disenchase");
dialogue1 = "Win_Disenchase";
// CECUIManager.Instance.ShowUI("Win_Disenchase"); // old: handled locally (do NOT delete)
// var dlgInstall = GetGameUIMan().GetDialog("Win_Disenchase");
// dlgInstall.Show(true);
}
@@ -3449,6 +3456,12 @@ namespace BrewMonster.UI
BMLogger.Log($"PopupCorrespondingServiceDialog - NPC_MAKE: produce_type={pMake.produce_type}, MakeSkillID={pMake.id_make_skill}");
if (pCurNPCEssence.HasValue)
{
dialogue1 = "Win_Produce";
serviceNeedSetUpDialogue = SERVICE_TYPE.NPC_MAKE;
}
// Dialog loading commented out - Win_Produce dialog not yet implemented
// Determine which dialog to use based on produce_type
//string dialogName = (pMake.produce_type == 2) ? "Win_Produce1" : "Win_Produce";
@@ -3519,6 +3532,8 @@ namespace BrewMonster.UI
// }
//}
/*
// old: handled locally (do NOT delete)
uint npcID = pCurNPCEssence.HasValue ? pCurNPCEssence.Value.id : 0;
AUIDialog dlg = CECUIManager.Instance.ShowUI("Win_Produce");
@@ -3544,6 +3559,7 @@ namespace BrewMonster.UI
dlgProduce.Show(true);
dlgProduce.OpenProduce(npcID);
}
*/
}
else if (idFunction == (int)SERVICE_TYPE.NPC_DECOMPOSE)
@@ -3781,25 +3797,52 @@ namespace BrewMonster.UI
pDataMan.get_data_ptr((uint)iService, ID_SPACE.ID_SPACE_ESSENCE, ref DataType);
var dlg1 = CECUIManager.Instance.ShowUI(dialogue1);
switch (serviceNeedSetUpDialogue)
if (dlg1 != null)
{
case SERVICE_TYPE.NPC_EQUIPBIND:
dlg1.SetData((uint)pData, "ptr_NPC_EQUIPBIND_SERVICE");
break;
case SERVICE_TYPE.NPC_COMPLETE_TASK when ad.m_ulCandItems > 1:
switch (serviceNeedSetUpDialogue)
{
CDlgAward pAward = (dlg1) as CDlgAward;
if (pAward != null)
case SERVICE_TYPE.NPC_EQUIPBIND:
dlg1.SetData((uint)pData, "ptr_NPC_EQUIPBIND_SERVICE");
break;
case SERVICE_TYPE.NPC_COMPLETE_TASK when ad.m_ulCandItems > 1:
{
pAward.UpdateAwardItem((ushort)opt.param, true);
}
CDlgAward pAward = dlg1 as CDlgAward;
if (pAward != null)
{
pAward.UpdateAwardItem((ushort)opt.param, true);
}
break;
break;
}
case SERVICE_TYPE.NPC_RANDPROP:
GetHostPlayer().PrepareNPCService(iService);
dlg1.SetDataPtr(pData, "ptr_NPC_RANDPROP_SERVICE");
break;
// Shop / Produce: post-process after ShowUI
case SERVICE_TYPE.NPC_SELL:
case SERVICE_TYPE.NPC_BUY:
{
NPCShopUIManager shopManager = dlg1 as NPCShopUIManager;
if (shopManager != null)
{
shopManager.OpenNPCShop(npcID);
}
break;
}
case SERVICE_TYPE.NPC_MAKE:
{
GetHostPlayer().PrepareNPCService(iService);
dlg1.SetDataPtr(pData, "ptr_NPC_MAKE_SERVICE");
DlgProduce dlgProduce = dlg1 as DlgProduce;
if (dlgProduce != null)
{
dlgProduce.OpenProduce(npcID);
}
break;
}
}
case SERVICE_TYPE.NPC_RANDPROP:
GetHostPlayer().PrepareNPCService(iService);
dlg1.SetDataPtr(pData, "ptr_NPC_RANDPROP_SERVICE");
break;
}
// pShow1.Show(true);
@@ -3826,8 +3869,9 @@ namespace BrewMonster.UI
var dlg2 = CECUIManager.Instance.ShowUI(dialogue2);
}
return true;
}
CloseDialogue();
return true;
}
@@ -24,8 +24,6 @@ namespace BrewMonster
public int m_nCurPanel2 = 1;
int currentListIndex = 0;
int currentOffsetIndex = 0;
int currentSelectedSlotIndex = -1;
CECSkill assignedSkill = null;
/// <summary>
/// Apply for a license remove later
@@ -44,9 +42,12 @@ namespace BrewMonster
public void SwitchShowSkillShortcut()
{
currentListIndex += 1;
if(currentListIndex == DlgAssignSlots.MAX_SKILL_GROUP)
{
currentListIndex = 0;
}
UpdateShortcuts();
}
public bool UpdateShortcuts()
{
CECShortcut pSC;
@@ -70,15 +71,6 @@ namespace BrewMonster
{
currentListIndex = 0;
}
currentOffsetIndex = 0;
for (int i = 0; i < a_pSCS.Count; i++)
{
if(i == currentListIndex)
{
break;
}
currentOffsetIndex += a_pSCS[i].GetShortcutNum();
}
// currentOffsetIndex = 0;
// for(int i = 0; i < currentListIndex; i++)
// {
@@ -92,7 +84,7 @@ namespace BrewMonster
for (int j = 0; j < nSlots; j++)
{
pCell = AUIImagePictureList[j];
pCell.SetSlotIndex(currentOffsetIndex + j);
pCell.SetSlotIndex(j);
if (pCell == null || !pCell.gameObject.activeInHierarchy) continue;
pSC = a_pSCS[currentListIndex].GetShortcut(j);
pClock = pCell.GetClockIcon();
@@ -339,7 +339,7 @@ namespace BrewMonster.UI
m_pDlgTask = GetDialog(CECUIHelper.DlgTaskName).GetComponent<DlgTask>();
m_pDlgTask.Show(false);
m_pDlgMiniMap = GetDialog("Win_Map").GetComponent<CDlgMiniMap>();
m_pDlgMiniMap = GameObject.FindObjectsByType<CDlgMiniMap>( FindObjectsSortMode.None).FirstOrDefault();
m_IconMap[(byte)EC_GAMEUI_ICONS.ICONS_SKILL] = (SKILL_ICONLIST_NAME, Resources.LoadAll<Sprite>(SKILL_ICONLIST_NAME));
m_IconMap[(byte)EC_GAMEUI_ICONS.ICONS_ACTION] = (ACTION_ICONLIST_NAME, Resources.LoadAll<Sprite>(ACTION_ICONLIST_NAME));
@@ -23,6 +23,7 @@ namespace BrewMonster
actionButton.onClick.AddListener(OnActionButtonClicked);
itemSkillButton.onClick.AddListener(OnItemButtonClicked);
buttonClose.onClick.AddListener(OnCloseButtonClicked);
actionButton.interactable = false;
itemSkillButton.interactable = false;
}
void OnEnable()
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long