Merge pull request 'Update UI' (#189) from feature/update-ui into develop

Reviewed-on: https://git.pthub.vn/Unity/perfect-world-unity/pulls/189
This commit is contained in:
namth
2026-03-02 11:06:38 +00:00
14 changed files with 1630 additions and 65 deletions
File diff suppressed because it is too large Load Diff
@@ -11,6 +11,7 @@ GameObject:
- component: {fileID: 8841982213385894347}
- component: {fileID: 1981970930610958667}
- component: {fileID: 2949641406655472012}
- component: {fileID: 1500706965934165254}
m_Layer: 5
m_Name: AvatarNPCFrame
m_TagString: Untagged
@@ -75,6 +76,50 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &1500706965934165254
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1273460584854605297}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 0
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 2949641406655472012}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!1 &5010991128992349155
GameObject:
m_ObjectHideFlags: 0
@@ -125,6 +170,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: d072871c8791e284dbad61ce13ba6887, type: 3}
m_Name:
m_EditorClassIdentifier:
_NPCIconBtn: {fileID: 1500706965934165254}
_healthText: {fileID: 8148604647689649493}
_nameText: {fileID: 8459104239633154731}
_statText: {fileID: 7225922753763360209}
@@ -13,7 +13,7 @@ GameObject:
- component: {fileID: 369226366953714584}
- component: {fileID: 5824452892770569602}
m_Layer: 0
m_Name: Button
m_Name: ViewInfoBtn
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -116,7 +116,7 @@ MonoBehaviour:
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_Interactable: 0
m_TargetGraphic: {fileID: 369226366953714584}
m_OnClick:
m_PersistentCalls:
@@ -186,7 +186,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Invite
m_text: "Th\xF4ng tin"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2}
m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2}
@@ -322,7 +322,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Invite
m_text: "H\u1EA3o h\u1EEFu"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2}
m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2}
@@ -406,7 +406,7 @@ GameObject:
- component: {fileID: 3492245093881047436}
- component: {fileID: 3003899918887861263}
m_Layer: 0
m_Name: Button (3)
m_Name: AddFriendBtn
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -509,7 +509,7 @@ MonoBehaviour:
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_Interactable: 0
m_TargetGraphic: {fileID: 3492245093881047436}
m_OnClick:
m_PersistentCalls:
@@ -555,11 +555,11 @@ RectTransform:
- {fileID: 1669886433399658208}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -131.74634, y: 298}
m_SizeDelta: {x: -1613.0662, y: -755.5913}
m_Pivot: {x: 0.5, y: 0.5}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 400, y: -37.5}
m_SizeDelta: {x: 150, y: 425}
m_Pivot: {x: 0.5, y: 1}
--- !u!222 &13802954905842244
CanvasRenderer:
m_ObjectHideFlags: 0
@@ -709,7 +709,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Invite
m_text: "M\u1EADt th\u01B0"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2}
m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2}
@@ -793,7 +793,7 @@ GameObject:
- component: {fileID: 406036714762731199}
- component: {fileID: 5865049054598941117}
m_Layer: 0
m_Name: Button (6)
m_Name: CloseBtn
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -914,7 +914,7 @@ GameObject:
- component: {fileID: 813625907549247604}
- component: {fileID: 2850233128939703198}
m_Layer: 0
m_Name: Button (5)
m_Name: WhisperBtn
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -1017,7 +1017,7 @@ MonoBehaviour:
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_Interactable: 0
m_TargetGraphic: {fileID: 813625907549247604}
m_OnClick:
m_PersistentCalls:
@@ -1035,7 +1035,7 @@ GameObject:
- component: {fileID: 5920694446394689008}
- component: {fileID: 4902789969648325767}
m_Layer: 0
m_Name: Button (4)
m_Name: DualBtn
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -1292,7 +1292,7 @@ GameObject:
- component: {fileID: 2244784699714630255}
- component: {fileID: 3824246320618496704}
m_Layer: 0
m_Name: Button (1)
m_Name: TeamInviteBtn
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -1395,7 +1395,7 @@ MonoBehaviour:
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_Interactable: 0
m_TargetGraphic: {fileID: 2244784699714630255}
m_OnClick:
m_PersistentCalls:
@@ -1465,7 +1465,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Invite
m_text: "Giao d\u1ECBch"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2}
m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2}
@@ -1549,7 +1549,7 @@ GameObject:
- component: {fileID: 5543320715835409967}
- component: {fileID: 3975306851607848952}
m_Layer: 0
m_Name: Button (2)
m_Name: TradeBtn
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -1652,7 +1652,7 @@ MonoBehaviour:
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_Interactable: 0
m_TargetGraphic: {fileID: 5543320715835409967}
m_OnClick:
m_PersistentCalls:
@@ -1722,7 +1722,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Invite
m_text: "\u0110\xF3ng"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2}
m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2}
@@ -1858,7 +1858,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Invite
m_text: "T\u1ED5 \u0111\u1ED9i"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2}
m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2}
+95 -3
View File
@@ -892,8 +892,9 @@ GameObject:
- component: {fileID: 2091984348760918456}
- component: {fileID: 7421153329155037236}
- component: {fileID: 2013061949432893537}
- component: {fileID: 3809367002469310901}
m_Layer: 5
m_Name: EscapeBtn
m_Name: CheatBtn
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -1001,6 +1002,25 @@ MonoBehaviour:
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!114 &3809367002469310901
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 934635620553056957}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 87e48b7c6bcd168488be9b7f20929389, type: 3}
m_Name:
m_EditorClassIdentifier:
_panelConsole: {fileID: 0}
_consoleInput: {fileID: 0}
_btnSend: {fileID: 0}
_btnOpen: {fileID: 0}
_btnClose: {fileID: 0}
_btnNoCooldown: {fileID: 0}
_btnToggleAutoWrath: {fileID: 2013061949432893537}
--- !u!1 &1131583467895984856
GameObject:
m_ObjectHideFlags: 0
@@ -5524,7 +5544,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Escape
m_text: Inf Fury
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
@@ -8097,7 +8117,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 776624419558043962, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3}
propertyPath: m_text
value: 44650
value: 74850388
objectReference: {fileID: 0}
- target: {fileID: 848034462487949471, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3}
propertyPath: m_AnchorMax.y
@@ -13614,10 +13634,46 @@ PrefabInstance:
serializedVersion: 3
m_TransformParent: {fileID: 3233441867675090637}
m_Modifications:
- target: {fileID: 129645434728095412, guid: 76408ccdbeb4c654291462fcff24a8c5, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 129645434728095412, guid: 76408ccdbeb4c654291462fcff24a8c5, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 129645434728095412, guid: 76408ccdbeb4c654291462fcff24a8c5, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 129645434728095412, guid: 76408ccdbeb4c654291462fcff24a8c5, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2328170557809189909, guid: 76408ccdbeb4c654291462fcff24a8c5, type: 3}
propertyPath: m_btnOpenCharacter
value:
objectReference: {fileID: 3803409312124193147}
- target: {fileID: 3450976418008317958, guid: 76408ccdbeb4c654291462fcff24a8c5, type: 3}
propertyPath: m_AnchoredPosition.x
value: 3.0769196
objectReference: {fileID: 0}
- target: {fileID: 3951120581356990872, guid: 76408ccdbeb4c654291462fcff24a8c5, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3951120581356990872, guid: 76408ccdbeb4c654291462fcff24a8c5, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3951120581356990872, guid: 76408ccdbeb4c654291462fcff24a8c5, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3951120581356990872, guid: 76408ccdbeb4c654291462fcff24a8c5, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4823752405346273106, guid: 76408ccdbeb4c654291462fcff24a8c5, type: 3}
propertyPath: m_Name
value: HUDPlayer
@@ -13702,6 +13758,42 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7087492923537698131, guid: 76408ccdbeb4c654291462fcff24a8c5, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7087492923537698131, guid: 76408ccdbeb4c654291462fcff24a8c5, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7087492923537698131, guid: 76408ccdbeb4c654291462fcff24a8c5, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7087492923537698131, guid: 76408ccdbeb4c654291462fcff24a8c5, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7708887638066944733, guid: 76408ccdbeb4c654291462fcff24a8c5, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7924665791547601326, guid: 76408ccdbeb4c654291462fcff24a8c5, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7924665791547601326, guid: 76408ccdbeb4c654291462fcff24a8c5, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7924665791547601326, guid: 76408ccdbeb4c654291462fcff24a8c5, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7924665791547601326, guid: 76408ccdbeb4c654291462fcff24a8c5, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -1268,7 +1268,18 @@ namespace BrewMonster.Scripts
{
if (m_pHost.IsFlying())
{
break;
if (CECUIManager.Instance != null)
{
string message = $"Please deactive the fly mode to start the path finding.";
CECUIManager.Instance.ShowMessageBox(
"Fly Mode", // 飞行模式
message, // 消息
BrewMonster.MessageBoxType.YesButton
);
Finish();
return;
}
}
// Brush test is not fully ported yet; pass null for now (static movemap only).
@@ -68,10 +68,11 @@ namespace BrewMonster
void OnMsgRBtnClick()
{
int id = m_idSelTarget;
if (id == 0 || id == GetCharacterID() || !GPDataTypeHelper.ISPLAYERID(id))
return;
CECUIManager.Instance?.ShowPlayerOptionsDialog(id);
// already moved this to OnNPCIconBtnClick in HUDNPC.cs because mobile platform doesn't support right click.
// int id = m_idSelTarget;
// if (id == 0 || id == GetCharacterID() || !GPDataTypeHelper.ISPLAYERID(id))
// return;
// CECUIManager.Instance?.ShowPlayerOptionsDialog(id);
}
public void OnCommandSummon(int slot)
@@ -18,7 +18,7 @@ using UnityEngine.UI;
namespace BrewMonster.Scripts.Managers
{
public class EC_InventoryUI : AUIDialog, IRefreshLayout
public class EC_InventoryUI : AUIDialog
{
[Header("Pack Buttons (assign in Inspector)")]
@@ -30,9 +30,7 @@ namespace BrewMonster.Scripts.Managers
[SerializeField] private ItemInfo detailPanelRoot;
[SerializeField] private Vector2 detailPanelOffset = new Vector2(20f, 0f);
[SerializeField] private bool hideDetailOnStart = true;
[SerializeField] private EC_UIUtility.TextOutlet nameText;
[SerializeField] private EC_UIUtility.TextOutlet descriptionText;
[SerializeField] private EC_UIUtility.TextOutlet extendedDescText;
[SerializeField] private Button equipButton;
[SerializeField] private Button dropButton;
@@ -1023,8 +1021,6 @@ namespace BrewMonster.Scripts.Managers
// Get user-friendly name
string itemName = EC_IvtrItemUtils.Instance.ResolveItemName(item.m_tid);
nameText?.Set(string.IsNullOrEmpty(itemName) ? $"Item {item.m_tid}" : itemName);
// Centralised description:
// - For equipment, prefer EC_IvtrEquip description (includes stats, addons, sockets, etc.)
// - For other items, use EC_IvtrItem.GetDesc which reads from string tables.
@@ -1063,6 +1059,7 @@ namespace BrewMonster.Scripts.Managers
// Show panel first
// 先显示面板
ShowDetailPanel(true);
//Refresh the position of the description text. Used for UI logic purpose.
descriptionText.tmp.gameObject.GetComponent<ItemInfoText>()?.RefreshLayout();
}
@@ -1286,16 +1283,6 @@ namespace BrewMonster.Scripts.Managers
draggedItemSourceSlot = -1;
draggedItemSourcePackage = 0;
}
public void RefreshLayout()
{
var rectTransform = GetComponent<RectTransform>();
if (rectTransform == null)
{
return;
}
rectTransform.ForceUpdateRectTransforms();
LayoutRebuilder.ForceRebuildLayoutImmediate(rectTransform);
}
}
}
@@ -58,32 +58,38 @@ namespace BrewMonster.UI
void OnViewInfo(int characterId)
{
Debug.Log("OnViewInfo: " + characterId);
var list = new List<int> { characterId };
UnityGameSession.GetRoleBaseInfo(1, list);
}
void OnTeamInvite(int characterId)
{
Debug.Log("OnTeamInvite: " + characterId);
UnityGameSession.c2s_CmdTeamInvite(characterId);
}
void OnTrade(int characterId)
{
// TODO: c2s trade request when available
Debug.Log("OnTrade: " + characterId);
// TODO: c2s trade request when availableP
}
void OnAddFriend(int characterId)
{
Debug.Log("OnAddFriend: " + characterId);
// TODO: c2s add friend when available
}
void OnDuel(int characterId)
{
Debug.Log("OnDuel: " + characterId);
UnityGameSession.c2s_CmdDuelRequest(characterId);
}
void OnWhisper(int characterId)
{
Debug.Log("OnWhisper: " + characterId);
// TODO: open whisper/chat input with target when available
}
@@ -50,6 +50,14 @@ namespace BrewMonster.Scripts.UI
itemInfoPanel.transform.GetChild(0).gameObject.SetActive(false);
m_pBtn_Confirm.onClick.AddListener(OnCommand_confirm);
}
void OnEnable()
{
// Refresh to toggle state.
foreach (var toggle in _radioButtons)
{
toggle.isOn = false;
}
}
private void InitRadioBtns()
{
+32
View File
@@ -1,16 +1,48 @@
using TMPro;
using UnityEngine;
using UnityEngine.UI;
using BrewMonster.Network;
using CSNetwork.GPDataType;
namespace BrewMonster
{
public class HUDNPC : MonoBehaviour
{
[SerializeField] private Button _NPCIconBtn;
[SerializeField] private TextMeshProUGUI _healthText;
[SerializeField] private TextMeshProUGUI _nameText;
[SerializeField] private TextMeshProUGUI _statText;
[SerializeField] private Image healthImage;
private void OnEnable()
{
if (_NPCIconBtn != null)
{
_NPCIconBtn.onClick.AddListener(OnNPCIconBtnClick);
}
}
private void OnDisable()
{
if (_NPCIconBtn != null)
{
_NPCIconBtn.onClick.RemoveListener(OnNPCIconBtnClick);
}
}
private void OnNPCIconBtnClick()
{
var host = EC_Game.GetGameRun()?.GetHostPlayer();
if (host == null)
return;
int id = host.GetSelectedTarget();
if (id == 0 || id == host.GetCharacterID() || !GPDataTypeHelper.ISPLAYERID(id))
return;
CECUIManager.Instance?.ShowPlayerOptionsDialog(id, _NPCIconBtn.transform.position);
}
public void SetText(string healthText, string nameText, string statText)
{
_healthText.text = healthText;
+24 -1
View File
@@ -5,7 +5,7 @@ using CSNetwork.GPDataType;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
using System.Collections.Generic;
namespace BrewMonster
{
public class HUDPlayer : MonoBehaviour
@@ -15,9 +15,12 @@ namespace BrewMonster
public TextMeshProUGUI expText;
public TextMeshProUGUI nameText;
public TextMeshProUGUI levelText;
public TextMeshProUGUI spText;
public Image healthImage;
public Image manaImage;
public Image expImage;
public Image apImage;
public List<Toggle> apToggles;
[Tooltip("Optional. Assign to make this area open the character dialog on click. If unset, nothing opens.")]
[SerializeField] private Button m_btnOpenCharacter;
@@ -30,6 +33,8 @@ namespace BrewMonster
EventBus.Subscribe<CECHostPlayer.EXPToUpLevel>(UpdateNeededExp);
if (m_btnOpenCharacter != null)
m_btnOpenCharacter.onClick.AddListener(OnOpenCharacterClick);
}
private void OnDestroy()
@@ -55,9 +60,27 @@ namespace BrewMonster
manaText.text = $"{obj.iMP}/{obj.iMaxMP}";
expText.text = $"{((float)obj.iExp/neededExp)*100}%";
levelText.text = $"{obj.sLevel}";
spText.text = $"{obj.iAP%100}/100";
healthImage.fillAmount = (float)obj.iHP / (float)obj.iMaxHP;
manaImage.fillAmount = (float)obj.iMP / (float)obj.iMaxMP;
expImage.fillAmount = (float)obj.iExp / (float)neededExp;
apImage.fillAmount = (float)(obj.iAP%100) / (float)100;
int curAP = obj.iAP/100;
int maxAP = obj.iMaxAP/100;
for (int i = 0; i < apToggles.Count; i++)
{
if(i < maxAP)
{
apToggles[i].gameObject.SetActive(true);
apToggles[i].isOn = i < curAP;
}
else
{
apToggles[i].gameObject.SetActive(false);
}
}
}
private void OnOpenCharacterClick()
+5 -3
View File
@@ -421,6 +421,8 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 1fac4acd7d2948cb81a522265a3f3863, type: 3}
m_Name:
m_EditorClassIdentifier:
skillNameText: {fileID: 0}
imageProgress: {fileID: 0}
m_pBtn_Confirm: {fileID: 2022223185403607436}
_itemSize: {x: 6, y: 6}
_awardItemPrefab: {fileID: 421596072721705907}
@@ -769,7 +771,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: -4}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &9121733115126255695
@@ -923,7 +925,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: -4}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3662653153686734878
@@ -1903,7 +1905,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: -4}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1542407570922745670
+12 -12
View File
@@ -1018,7 +1018,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 335.91, y: -507.53912}
m_AnchoredPosition: {x: 335.91, y: -431.53912}
m_SizeDelta: {x: 651.82, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2731969899170380074
@@ -1692,9 +1692,9 @@ RectTransform:
- {fileID: 4504331075840543341}
m_Father: {fileID: 1361524257611413148}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 108.9562, y: -31.05}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 179.9124, y: 68.0217}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8804506040386004496
@@ -4482,9 +4482,9 @@ RectTransform:
- {fileID: 2027606699309904338}
m_Father: {fileID: 1361524257611413148}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 468.781, y: -31.05}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 179.9124, y: 68.0217}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6741821173640675138
@@ -10253,7 +10253,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 335.47, y: -263.3}
m_AnchoredPosition: {x: 335.47, y: -225.3}
m_SizeDelta: {x: 618.94, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5943966890611580968
@@ -11851,7 +11851,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 335.47, y: -530.58997}
m_AnchoredPosition: {x: 335.47, y: -454.59}
m_SizeDelta: {x: 618.94, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &9030098628201859511
@@ -13973,9 +13973,9 @@ RectTransform:
- {fileID: 911293677621153352}
m_Father: {fileID: 1361524257611413148}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 288.8686, y: -31.05}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 179.9124, y: 68.0217}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5623009994815814977
+2 -1
View File
@@ -462,13 +462,14 @@ public class CECUIManager : MonoSingleton<CECUIManager>
}
/// <summary>Shows the player options menu for the given character. Requires a prefab with id "DlgPlayerOptions" in DialogScriptTableObject.</summary>
public void ShowPlayerOptionsDialog(int characterId)
public void ShowPlayerOptionsDialog(int characterId, Vector2 position)
{
if (characterId == 0 || canvasDlg == null) return;
var gui = GetInGameUIMan();
if (_dlgPlayerOptions == null)
_dlgPlayerOptions = gui.GetDialog("DlgPlayerOptions");
_dlgPlayerOptions?.ShowForPlayer(characterId);
_dlgPlayerOptions.transform.position = position;
}
/// <summary>