完成游戏UI界面数据配置及其UI脚本互传参数使用的是事件回调

This commit is contained in:
YL 2025-04-11 16:42:44 +08:00
parent 4973722652
commit 7620e157c8
8 changed files with 97 additions and 21 deletions

View File

@ -249,7 +249,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0, g: 0, b: 0, a: 1}
m_Color: {r: 0.31132078, g: 0.3098523, b: 0.3098523, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1

View File

@ -40,8 +40,7 @@ public partial class GameApp : Singleton<GameApp>
/// </summary>
private void StartGameLogic()
{
//LoadGame().Forget();
GameModule.UI.ShowUI<UIARGameWindow>();
LoadGame().Forget();
}
public async UniTask LoadGame()

View File

@ -0,0 +1,11 @@
using TEngine;
using UnityEngine;
namespace GameLogic
{
[EventInterface(EEventGroup.GroupUI)]
public interface UIARGameInterface
{
void GetCurGameName(string gamename);
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 1f936dd990018f3469315eb4967c0550

View File

@ -6,8 +6,9 @@ using TEngine;
namespace GameLogic
{
[Window(UILayer.UI)]
class UIARGameWidget : UIWidget
public class UIARGameWidget : UIWidget
{
private int _widgetId;
#region
private Image m_imgMask;
private Image m_imgGame;
@ -29,17 +30,40 @@ namespace GameLogic
private async UniTaskVoid OnClickSelectBtn()
{
await UniTask.Yield();
GameEvent.SendWidgetSelected(_widgetId);
OnClickSelect();
GameEvent.Send<string>("UIARGameInterface", m_textName.text);
}
#endregion
public void InitGameFunc(Sprite sP, string gameName, bool islock = true)
public void InitGameFunc(int widgetId, Sprite sP, string gameName, bool islock = true)
{
_widgetId = widgetId;
this.m_imgGame.sprite = sP;
this.m_textName.text = gameName;
LockFunc(islock);
GameEvent.AddWidgetSelectedListener(OnWidgetSelected);
}
protected override void OnDestroy()
{
base.OnDestroy();
GameEvent.RemoveWidgetSelectedListener(OnWidgetSelected);
}
private void OnWidgetSelected(int selectedWidgetId)
{
if (_widgetId == selectedWidgetId)
{
OnClickSelect();
}
else
{
OnClickSlectCancle();
}
}
/// <summary>

View File

@ -5,13 +5,16 @@ using TEngine;
using static PetResponseScriptableObject;
using System.Threading.Tasks;
using System.Xml.Linq;
using VoxelBusters.CoreLibrary;
namespace GameLogic
{
[Window(UILayer.UI)]
class UIARGameWindow : UIWindow
{
public ARGameScriptableObject aRGame; // 游戏数据本地配置
private string curgamename;
private ARGameScriptableObject aRGame; // 游戏数据本地配置
private const string GAME_DATA_PATH = "ARGameData"; // 游戏数据本地配置路径
#region
@ -29,15 +32,30 @@ namespace GameLogic
private async UniTaskVoid OnClickSureBtn()
{
await UniTask.Yield();
Debug.LogError(curgamename);
}
#endregion
protected override void RegisterEvent()
{
base.RegisterEvent();
GameEvent.AddEventListener<string>(
"UIARGameInterface",
(gamename) =>
{
this.curgamename = gamename;
});
}
protected override void OnCreate()
{
base.OnCreate();
LoadARGameData();
RegisterEvent();
}
private async void LoadARGameData()
@ -54,6 +72,7 @@ namespace GameLogic
if (aRGame.responseData.data != null && aRGame.responseData.data.Count > 0)
{
int widgetId = 0;
foreach (var tmp in aRGame.responseData.data)
{
Texture2D texture = await LoadTexture(tmp.GameImgURL);
@ -61,7 +80,7 @@ namespace GameLogic
var name = ImageUtility.GetImageNameFromUrl(tmp.GameName);
if (sprite != null && name != null)
{
CreatePetInfoPrefab(sprite, name, tmp.Lock);
CreateGameWidget(sprite, name, tmp.Lock,widgetId++);
}
else
{
@ -86,9 +105,9 @@ namespace GameLogic
}
// 创建宠物信息,设置widget信息
private void CreatePetInfoPrefab(Sprite sp, string petName,bool islock)
private void CreateGameWidget(Sprite sp, string petName,bool islock, int widgetId)
{
CreateWidgetByPath<UIARGameWidget>(m_goParentGroup.transform, "UIARGameWidget").InitGameFunc(sp, petName, islock);
CreateWidgetByPath<UIARGameWidget>(m_goParentGroup.transform, "UIARGameWidget").InitGameFunc(widgetId, sp, petName, islock);
}
}
}

View File

@ -593,5 +593,25 @@ namespace TEngine
{
_eventMgr.Init();
}
/// <summary>
/// AR游戏事件
/// </summary>
/// <param name="widgetId"></param>
public static void SendWidgetSelected(int widgetId)
{
_eventMgr.Dispatcher.Send(RuntimeId.ToRuntimeId("WidgetSelected"), widgetId);
}
public static bool AddWidgetSelectedListener(Action<int> handler)
{
return _eventMgr.Dispatcher.AddEventListener(RuntimeId.ToRuntimeId("WidgetSelected"), handler);
}
public static void RemoveWidgetSelectedListener(Action<int> handler)
{
_eventMgr.Dispatcher.RemoveEventListener(RuntimeId.ToRuntimeId("WidgetSelected"), handler);
}
}
}

View File

@ -19,7 +19,7 @@ MonoBehaviour:
width: 1920
height: 989
m_ShowMode: 4
m_Title: Inspector
m_Title: Hierarchy
m_RootView: {fileID: 2}
m_MinSize: {x: 875, y: 300}
m_MaxSize: {x: 10000, y: 10000}
@ -100,7 +100,7 @@ MonoBehaviour:
m_MinSize: {x: 400, y: 100}
m_MaxSize: {x: 32384, y: 16192}
vertical: 0
controlID: 931
controlID: 47
draggingID: 0
--- !u!114 &5
MonoBehaviour:
@ -357,7 +357,7 @@ MonoBehaviour:
scrollPos: {x: 0, y: 0}
m_SelectedIDs:
m_LastClickedID: 0
m_ExpandedIDs: 6c6bfaff366dfaff3e6dfaff486dfaff526dfaff666dfaff766dfafffc95faff2e9dfaff509dfaff549dfaffc69dfaffce9dfaffd89dfaffe29dfafff09dfafff69dfaff069efaff60a5faff66a5faffd2a5faffdaa5faffe4a5faffeea5faff02a6faff12a6faff66e8faff6ae8fafff202fbfffc02fbffd005fbff2806fbff3206fbff3c06fbff4406fbfff021fbffb024fbff0825fbff1225fbff1c25fbff2425fbffae86fbffb886fbffe486fbffec86fbfff686fbff0087fbff1487fbff2487fbffe297fbffeae2fbfff2e2fbfffce2fbff06e3fbff1ae3fbff2ae3fbffe006fcffea06fcfff406fcff0807fcff1007fcff1807fcff000bfcff080bfcff120bfcff1c0bfcff300bfcff400bfcffe2d8fcff520bfdff1824fdff5282fdff5c95fdffac9bfdff069cfdff209cfdff349cfdffe6a1fdffbcb6fdffc2b8fdff86fafffff4ffffff701a01008c1a0100c41a0100
m_ExpandedIDs: 1ac4ffff1ec4ffff18c6ffff20c6ffff2ac6ffff34c6ffff48c6ffff58c6ffff80ccffff16e1ffff20e1ffff2ae1ffff3ee1ffff4ee1ffffacefffffbcefffffc6efffffd0efffffe4effffff4efffff86fafffff4ffffff781a0100cc1a0100962c0100ea2c0100
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
@ -477,7 +477,8 @@ MonoBehaviour:
m_ShowAllHits: 0
m_SkipHidden: 0
m_SearchArea: 1
m_Folders: []
m_Folders:
- Packages/com.kybernetik.animancer
m_Globs: []
m_ProductIds:
m_AnyWithAssetOrigin: 0
@ -495,7 +496,7 @@ MonoBehaviour:
scrollPos: {x: 0, y: 0}
m_SelectedIDs: b0230000
m_LastClickedID: 9136
m_ExpandedIDs: 000000003e1b0100401b0100421b0100441b0100461b0100481b01004a1b01004c1b01004e1b0100501b0100521b0100541b0100561b0100581b01005a1b01005c1b01005e1b0100601b0100621b0100641b0100661b0100681b01006a1b01006c1b01006e1b0100701b0100721b0100741b0100761b0100781b01007a1b01007c1b01007e1b0100801b0100821b0100841b0100861b0100881b01008a1b01008c1b01008e1b0100901b0100921b0100941b0100961b0100981b01009a1b01009c1b01009e1b0100a01b0100a21b0100a41b0100a61b0100a81b0100aa1b0100ac1b0100ae1b0100b01b0100b21b0100b41b0100b61b0100b81b0100ba1b0100bc1b0100be1b0100c01b0100c21b0100c41b0100c61b0100c81b0100ca1b0100cc1b0100ce1b0100d01b0100d21b0100d41b0100d61b0100d81b0100da1b0100dc1b0100de1b0100e01b0100e21b0100e41b0100e61b0100e81b0100ea1b0100ec1b0100ee1b0100f01b0100f21b0100f41b0100f61b0100f81b0100fa1b0100fc1b0100fe1b0100001c0100021c0100041c0100061c0100081c01000a1c01000c1c01000e1c0100101c0100121c0100141c0100161c0100181c01001a1c01001c1c01001e1c0100201c0100221c0100241c0100261c0100281c01002a1c01002c1c01002e1c0100301c0100321c0100341c0100361c0100381c01003a1c01003c1c01003e1c0100401c0100421c0100441c0100461c0100481c01004a1c01004c1c01004e1c0100501c0100521c0100541c0100561c0100581c01005a1c01005c1c01005e1c0100601c0100621c0100641c0100661c0100681c01006a1c01006c1c01006e1c0100701c0100721c0100741c0100761c0100781c01007a1c01007c1c01007e1c0100801c0100821c0100841c0100861c0100881c01008a1c01008c1c01008e1c0100901c0100921c0100941c0100961c0100981c01009a1c01009c1c01009e1c0100a01c0100a21c0100a41c0100a61c0100a81c0100aa1c0100ac1c0100ae1c0100b01c0100b21c0100b41c0100b61c0100b81c0100ba1c0100bc1c0100be1c0100c01c0100c21c0100c41c0100c61c0100c81c0100ca1c0100cc1c0100ce1c0100d01c0100d21c0100d41c0100d61c0100d81c0100da1c0100dc1c0100de1c0100e01c0100e21c0100e41c0100
m_ExpandedIDs: 00000000481b01004a1b01004c1b01004e1b0100501b0100521b0100541b0100561b0100581b01005a1b01005c1b01005e1b0100601b0100621b0100641b0100661b0100681b01006a1b01006c1b01006e1b0100701b0100721b0100741b0100761b0100781b01007a1b01007c1b01007e1b0100801b0100821b0100841b0100861b0100881b01008a1b01008c1b01008e1b0100901b0100921b0100941b0100961b0100981b01009a1b01009c1b01009e1b0100a01b0100a21b0100a41b0100a61b0100a81b0100aa1b0100ac1b0100ae1b0100b01b0100b21b0100b41b0100b61b0100b81b0100ba1b0100bc1b0100be1b0100c01b0100c21b0100c41b0100c61b0100c81b0100ca1b0100cc1b0100ce1b0100d01b0100d21b0100d41b0100d61b0100d81b0100da1b0100dc1b0100de1b0100e01b0100e21b0100e41b0100e61b0100e81b0100ea1b0100ec1b0100ee1b0100f01b0100f21b0100f41b0100f61b0100f81b0100fa1b0100fc1b0100fe1b0100001c0100021c0100041c0100061c0100081c01000a1c01000c1c01000e1c0100101c0100121c0100141c0100161c0100181c01001a1c01001c1c01001e1c0100201c0100221c0100241c0100261c0100281c01002a1c01002c1c01002e1c0100301c0100321c0100341c0100361c0100381c01003a1c01003c1c01003e1c0100401c0100421c0100441c0100461c0100481c01004a1c01004c1c01004e1c0100501c0100521c0100541c0100561c0100581c01005a1c01005c1c01005e1c0100601c0100621c0100641c0100661c0100681c01006a1c01006c1c01006e1c0100701c0100721c0100741c0100761c0100781c01007a1c01007c1c01007e1c0100801c0100821c0100841c0100861c0100881c01008a1c01008c1c01008e1c0100901c0100921c0100941c0100961c0100981c01009a1c01009c1c01009e1c0100a01c0100a21c0100a41c0100a61c0100a81c0100aa1c0100ac1c0100ae1c0100b01c0100b21c0100b41c0100b61c0100b81c0100ba1c0100bc1c0100be1c0100c01c0100c21c0100c41c0100c61c0100c81c0100ca1c0100cc1c0100ce1c0100d01c0100d21c0100d41c0100d61c0100d81c0100da1c0100dc1c0100de1c0100e01c0100e21c0100e41c0100e61c0100e81c0100ea1c0100ec1c0100ee1c0100
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
@ -521,10 +522,10 @@ MonoBehaviour:
m_Icon: {fileID: 0}
m_ResourceFile:
m_AssetTreeState:
scrollPos: {x: 0, y: 99}
scrollPos: {x: 0, y: 867}
m_SelectedIDs:
m_LastClickedID: 0
m_ExpandedIDs: 000000003e1b0100401b0100421b0100441b0100461b0100481b01004a1b01004c1b01004e1b0100501b0100521b0100541b0100561b0100581b01005a1b01005c1b01005e1b0100601b0100621b0100641b0100661b0100681b01006a1b01006c1b01006e1b0100701b0100721b0100741b0100761b0100781b01007a1b01007c1b01007e1b0100801b0100821b0100841b0100861b0100881b01008a1b01008c1b01008e1b0100901b0100921b0100941b0100961b0100981b01009a1b01009c1b01009e1b0100a01b0100a21b0100a41b0100a61b0100a81b0100aa1b0100ac1b0100ae1b0100b01b0100b21b0100b41b0100b61b0100b81b0100ba1b0100bc1b0100be1b0100c01b0100c21b0100c41b0100c61b0100c81b0100ca1b0100cc1b0100ce1b0100d01b0100d21b0100d41b0100d61b0100d81b0100da1b0100dc1b0100de1b0100e01b0100e21b0100e41b0100e61b0100e81b0100ea1b0100ec1b0100ee1b0100f01b0100f21b0100f41b0100f61b0100f81b0100fa1b0100fc1b0100fe1b0100001c0100021c0100041c0100061c0100081c01000a1c01000c1c01000e1c0100101c0100121c0100141c0100161c0100181c01001a1c01001c1c01001e1c0100201c0100221c0100241c0100261c0100281c01002a1c01002c1c01002e1c0100301c0100321c0100341c0100361c0100381c01003a1c01003c1c01003e1c0100401c0100421c0100441c0100461c0100481c01004a1c01004c1c01004e1c0100501c0100521c0100541c0100561c0100581c01005a1c01005c1c01005e1c0100601c0100621c0100641c0100661c0100681c01006a1c01006c1c01006e1c0100701c0100721c0100741c0100761c0100781c01007a1c01007c1c01007e1c0100801c0100821c0100841c0100861c0100881c01008a1c01008c1c01008e1c0100901c0100921c0100941c0100961c0100981c01009a1c01009c1c01009e1c0100a01c0100a21c0100a41c0100a61c0100a81c0100aa1c0100ac1c0100ae1c0100b01c0100b21c0100b41c0100b61c0100b81c0100ba1c0100bc1c0100be1c0100c01c0100c21c0100c41c0100c61c0100c81c0100ca1c0100cc1c0100ce1c0100d01c0100d21c0100d41c0100d61c0100d81c0100da1c0100dc1c0100de1c0100e01c0100e21c0100e41c0100
m_ExpandedIDs: 00000000481b01004a1b01004c1b01004e1b0100501b0100521b0100541b0100561b0100581b01005a1b01005c1b01005e1b0100601b0100621b0100641b0100661b0100681b01006a1b01006c1b01006e1b0100701b0100721b0100741b0100761b0100781b01007a1b01007c1b01007e1b0100801b0100821b0100841b0100861b0100881b01008a1b01008c1b01008e1b0100901b0100921b0100941b0100961b0100981b01009a1b01009c1b01009e1b0100a01b0100a21b0100a41b0100a61b0100a81b0100aa1b0100ac1b0100ae1b0100b01b0100b21b0100b41b0100b61b0100b81b0100ba1b0100bc1b0100be1b0100c01b0100c21b0100c41b0100c61b0100c81b0100ca1b0100cc1b0100ce1b0100d01b0100d21b0100d41b0100d61b0100d81b0100da1b0100dc1b0100de1b0100e01b0100e21b0100e41b0100e61b0100e81b0100ea1b0100ec1b0100ee1b0100f01b0100f21b0100f41b0100f61b0100f81b0100fa1b0100fc1b0100fe1b0100001c0100021c0100041c0100061c0100081c01000a1c01000c1c01000e1c0100101c0100121c0100141c0100161c0100181c01001a1c01001c1c01001e1c0100201c0100221c0100241c0100261c0100281c01002a1c01002c1c01002e1c0100301c0100321c0100341c0100361c0100381c01003a1c01003c1c01003e1c0100401c0100421c0100441c0100461c0100481c01004a1c01004c1c01004e1c0100501c0100521c0100541c0100561c0100581c01005a1c01005c1c01005e1c0100601c0100621c0100641c0100661c0100681c01006a1c01006c1c01006e1c0100701c0100721c0100741c0100761c0100781c01007a1c01007c1c01007e1c0100801c0100821c0100841c0100861c0100881c01008a1c01008c1c01008e1c0100901c0100921c0100941c0100961c0100981c01009a1c01009c1c01009e1c0100a01c0100a21c0100a41c0100a61c0100a81c0100aa1c0100ac1c0100ae1c0100b01c0100b21c0100b41c0100b61c0100b81c0100ba1c0100bc1c0100be1c0100c01c0100c21c0100c41c0100c61c0100c81c0100ca1c0100cc1c0100ce1c0100d01c0100d21c0100d41c0100d61c0100d81c0100da1c0100dc1c0100de1c0100e01c0100e21c0100e41c0100e61c0100e81c0100ea1c0100ec1c0100ee1c0100
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
@ -1161,9 +1162,9 @@ MonoBehaviour:
m_AudioPlay: 0
m_DebugDrawModesUseInteractiveLightBakingData: 0
m_Position:
m_Target: {x: -1.1507996, y: 0.64142936, z: 100}
m_Target: {x: -3.7523134, y: 0.2954039, z: 146.70789}
speed: 2
m_Value: {x: -1.1507996, y: 0.64142936, z: 100}
m_Value: {x: -3.7523134, y: 0.2954039, z: 146.70789}
m_RenderMode: 0
m_CameraMode:
drawMode: 0
@ -1213,9 +1214,9 @@ MonoBehaviour:
speed: 2
m_Value: {x: 0, y: 0, z: 0, w: 1}
m_Size:
m_Target: 1.6007966
m_Target: 5.877483
speed: 2
m_Value: 1.6007966
m_Value: 5.877483
m_Ortho:
m_Target: 1
speed: 2