AR宠物信息本地数据模拟接口更新,更新GetImageNameFromUrl方法获取文件得接口方式

This commit is contained in:
YL 2025-04-08 15:08:13 +08:00
parent beef2134b7
commit df82fc539c
15 changed files with 233 additions and 30 deletions

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 7435b49f78a441d48812d2a76bfb060a
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,50 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 33db15ab7111df346b5fe8279606ff1a, type: 3}
m_Name: PetResponseData
m_EditorClassIdentifier:
responseData:
code: 0
message:
data:
- id: 3
openid: oCD4_4zqcfgo-X66d7pdb7Mn0a3w
pic: https://arp3.arsnowslide.com/0cc96a251c44408b9c54cec443483d33.jpg?versionId=G00111959395337FFFFF981700E681A1
name: "\u7EFF\u65C5"
type: "\u732B,\u77ED\u6BDB\u732B,\u82F1\u56FD\u7CFB,\u84DD\u732B"
master: "\u5468123"
place: "\u5317\u4EAC\u5E02,\u4E1C\u57CE\u533A,\u4E1C\u534E\u95E8\u8857\u9053"
phone: 17625008824
- id: 13
openid: oCD4_4zqcfgo-X66d7pdb7Mn0a3w
pic: https://arp3.arsnowslide.com/d040da81741b4f2c8fa822e8602d2447.jpg?versionId=G0011195AC2F8E1EFFFF900F02341730
name: 123
type: "\u732B,\u77ED\u6BDB\u732B,\u82F1\u56FD\u7CFB,\u84DD\u732B"
master: 1234
place: "\u5317\u4EAC\u5E02,\u4E1C\u57CE\u533A,\u4E1C\u534E\u95E8\u8857\u9053"
phone: 17625008823
- id: 41
openid: oCD4_4zqcfgo-X66d7pdb7Mn0a3w
pic: https://arp3.arsnowslide.com/3bd541c8f8764d5d8b3b23d17cf30fca.jpg?versionId=G0011195D6D920D6FFFF90100409F154
name: 123123
type: "\u732B,\u957F\u6BDB\u732B,\u6CE2\u65AF\u7CFB,\u4F20\u7EDF\u6CE2\u65AF"
master: 123
place: "\u5317\u4EAC\u5E02,\u4E1C\u57CE\u533A,\u4E1C\u534E\u95E8\u8857\u9053"
phone: 17625008824
- id: 42
openid: oCD4_4zqcfgo-X66d7pdb7Mn0a3w
pic: https://arp3.arsnowslide.com/af2a0b228c6f44b1851964f71e3a2944.png?versionId=G0011195D6D9741AFFFF9014049D2C5D
name: 123
type: "\u732B,\u957F\u6BDB\u732B,\u6CE2\u65AF\u7CFB,\u4F20\u7EDF\u6CE2\u65AF"
master: 3123
place: "\u5317\u4EAC\u5E02,\u4E1C\u57CE\u533A,\u4E1C\u534E\u95E8\u8857\u9053"
phone: 17625008824

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 04f48c27d993680479d1ceea6b330a91
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -306,9 +306,9 @@ RectTransform:
- {fileID: 1851341283828806142}
m_Father: {fileID: 2427834482497326629}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 175, y: -150}
m_SizeDelta: {x: 300, y: 300}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2026667239695996285
@ -457,9 +457,9 @@ RectTransform:
m_Children: []
m_Father: {fileID: 2427834482497326629}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 175, y: -325}
m_SizeDelta: {x: 132.48, y: 50}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2949946672030507112
@ -619,7 +619,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0, g: 0, b: 0, a: 1}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 6e10d8de84bfaf648b8384725c901dd4
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -35,7 +35,7 @@ namespace GameLogic
url = url.Substring(0, queryIndex);
// 获取URL中的文件名部分
string fileName = Path.GetFileName(url);
string fileName = Path.GetFileNameWithoutExtension(url);
return fileName;
}
catch (Exception ex)

View File

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

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e4df0229621efba4c84ec39ef52bf6b9
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 51b0d8babe78a204388b55bb41e5d6e0
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,29 @@
using UnityEngine;
using System.Collections.Generic;
[CreateAssetMenu(fileName = "PetResponseData", menuName = "ScriptableObjects/PetResponseData")]
public class PetResponseScriptableObject : ScriptableObject
{
[System.Serializable]
public class PetData
{
public int id;
public string openid;
public string pic;
public string name;
public string type;
public string master;
public string place;
public string phone;
}
[System.Serializable]
public class ResponseData
{
public int code;
public string message;
public List<PetData> data;
}
public ResponseData responseData;
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 33db15ab7111df346b5fe8279606ff1a

View File

@ -2,13 +2,18 @@ using Cysharp.Threading.Tasks;
using UnityEngine;
using UnityEngine.UI;
using TEngine;
using System.Threading.Tasks;
using UnityEngine.Networking;
using Sirenix.Utilities.Editor.Expressions;
namespace GameLogic
{
[Window(UILayer.UI)]
class UIPetInfoWindow : UIWindow
{
private UIPetinfoWidget m_PetinfoWidget;
public PetResponseScriptableObject petData; // 宠物数据本地配置
private const string PET_DATA_PATH = "PetResponseData"; // 宠物数据本地配置路径
#region
private Button m_btnAddtionPet;
private GameObject m_goParent;
@ -32,7 +37,6 @@ namespace GameLogic
private async UniTaskVoid OnClickAddtionPetBtn() // 新增宠物
{
await UniTask.Yield();
CreatePetInfoPrefab();
}
private async UniTaskVoid OnClickCancleBtn() // 取消删除
{
@ -45,10 +49,64 @@ namespace GameLogic
}
#endregion
// 创建宠物信息
private void CreatePetInfoPrefab()
protected override void OnCreate()
{
m_PetinfoWidget = CreateWidgetByPath<UIPetinfoWidget>(m_goParent.transform, "UIPetinfoWidget");
base.OnCreate();
LoadPetData();
}
// 加载数据获取图片和图片名创建widget
private async void LoadPetData()
{
petData = GameModule.Resource.LoadAsset<PetResponseScriptableObject>(PET_DATA_PATH);
if (petData == null)
{
Debug.LogError("加载宠物ScriptableObject配置数据路径错误" + PET_DATA_PATH);
}
else
{
Debug.Log("宠物数据PetResponseScriptableObject加载完成.");
if (petData.responseData.data != null && petData.responseData.data.Count > 0)
{
foreach (var tmpDta in petData.responseData.data)
{
//Sprite sprite = await LoadSprite(tmpDta.pic);
Texture2D texture = await LoadTexture(tmpDta.pic);
Sprite sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f));
var Name = ImageUtility.GetImageNameFromUrl(tmpDta.pic);
if (sprite != null)
{
CreatePetInfoPrefab(sprite, Name);
}
else
{
Debug.LogError($"宠物图片加载失败: {tmpDta.name}");
}
}
}
else
{
Debug.Log("No pet data found in the response.");
}
}
}
// 加载纹理
private async Task<Texture2D> LoadTexture(string url)
{
var token = this.gameObject.GetCancellationTokenOnDestroy();
var trackImg = await ImageUtility.UnityWebDownloadTexture2D(url, token);
return trackImg;
}
// 创建宠物信息,设置widget信息
private void CreatePetInfoPrefab(Sprite sp, string petName)
{
CreateWidgetByPath<UIPetinfoWidget>(m_goParent.transform, "UIPetinfoWidget").SetPetBanData(sp, petName);
}
// 显示tip面板

View File

@ -44,6 +44,6 @@ MonoBehaviour:
m_RegistryInfoDraft:
m_Modified: 0
m_ErrorMessage:
m_UserModificationsInstanceId: -880
m_OriginalInstanceId: -884
m_UserModificationsInstanceId: -882
m_OriginalInstanceId: -886
m_LoadAssets: 0

View File

@ -478,7 +478,7 @@ MonoBehaviour:
m_SkipHidden: 0
m_SearchArea: 1
m_Folders:
- Assets/Plugins/ARFoundationRemoteInstaller
- Assets/Plugins
m_Globs: []
m_ProductIds:
m_AnyWithAssetOrigin: 0
@ -496,7 +496,7 @@ MonoBehaviour:
scrollPos: {x: 0, y: 0}
m_SelectedIDs: b0230000
m_LastClickedID: 9136
m_ExpandedIDs: 00000000c4140100b6210100b8210100ba210100bc210100be210100c0210100c2210100c4210100c6210100c8210100ca210100cc210100ce210100d0210100d2210100d4210100d6210100d8210100da210100dc210100de210100e0210100e2210100e4210100e6210100e8210100ea210100ec210100ee210100f0210100f2210100f4210100f6210100f8210100fa210100fc210100fe21010000220100022201000422010006220100082201000a2201000c2201000e22010010220100122201001422010016220100182201001a2201001c2201001e22010020220100222201002422010026220100282201002a2201002c2201002e22010030220100322201003422010036220100382201003a2201003c2201003e22010040220100422201004422010046220100482201004a2201004c2201004e22010050220100522201005422010056220100582201005a2201005c2201005e22010060220100622201006422010066220100682201006a2201006c2201006e22010070220100722201007422010076220100782201007a2201007c2201007e22010080220100822201008422010086220100882201008a2201008c2201008e22010090220100922201009422010096220100982201009a2201009c2201009e220100a0220100a2220100a4220100a6220100a8220100aa220100ac220100ae220100b0220100b2220100b4220100b6220100b8220100ba220100bc220100be220100c0220100c2220100c4220100c6220100c8220100
m_ExpandedIDs: 00000000321b0100341b0100361b0100381b01003a1b01003c1b01003e1b0100401b0100421b0100441b0100461b0100481b01004a1b01004c1b01004e1b0100501b0100521b0100541b0100561b0100581b01005a1b01005c1b01005e1b0100601b0100621b0100641b0100661b0100681b01006a1b01006c1b01006e1b0100701b0100721b0100741b0100761b0100781b01007a1b01007c1b01007e1b0100801b0100821b0100841b0100861b0100881b01008a1b01008c1b01008e1b0100901b0100921b0100941b0100961b0100981b01009a1b01009c1b01009e1b0100a01b0100a21b0100a41b0100a61b0100a81b0100aa1b0100ac1b0100ae1b0100b01b0100b21b0100b41b0100b61b0100b81b0100ba1b0100bc1b0100be1b0100c01b0100c21b0100c41b0100c61b0100c81b0100ca1b0100cc1b0100ce1b0100d01b0100d21b0100d41b0100d61b0100d81b0100da1b0100dc1b0100de1b0100e01b0100e21b0100e41b0100e61b0100e81b0100ea1b0100ec1b0100ee1b0100f01b0100f21b0100f41b0100f61b0100f81b0100fa1b0100fc1b0100fe1b0100001c0100021c0100041c0100061c0100081c01000a1c01000c1c01000e1c0100101c0100121c0100141c0100161c0100181c01001a1c01001c1c01001e1c0100201c0100221c0100241c0100261c0100281c01002a1c01002c1c01002e1c0100301c0100321c0100341c0100361c0100381c01003a1c01003c1c01003e1c0100401c0100421c0100441c0100461c0100
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
@ -525,7 +525,7 @@ MonoBehaviour:
scrollPos: {x: 0, y: 764}
m_SelectedIDs:
m_LastClickedID: 0
m_ExpandedIDs: 00000000c4140100b6210100b8210100ba210100bc210100be210100c0210100c2210100c4210100c6210100c8210100ca210100cc210100ce210100d0210100d2210100d4210100d6210100d8210100da210100dc210100de210100e0210100e2210100e4210100e6210100e8210100ea210100ec210100ee210100f0210100f2210100f4210100f6210100f8210100fa210100fc210100fe21010000220100022201000422010006220100082201000a2201000c2201000e22010010220100122201001422010016220100182201001a2201001c2201001e22010020220100222201002422010026220100282201002a2201002c2201002e22010030220100322201003422010036220100382201003a2201003c2201003e22010040220100422201004422010046220100482201004a2201004c2201004e22010050220100522201005422010056220100582201005a2201005c2201005e22010060220100622201006422010066220100682201006a2201006c2201006e22010070220100722201007422010076220100782201007a2201007c2201007e22010080220100822201008422010086220100882201008a2201008c2201008e22010090220100922201009422010096220100982201009a2201009c2201009e220100a0220100a2220100a4220100a6220100a8220100aa220100ac220100ae220100b0220100b2220100b4220100b6220100b8220100ba220100bc220100be220100c0220100c2220100c4220100c6220100c8220100
m_ExpandedIDs: 00000000321b0100341b0100361b0100381b01003a1b01003c1b01003e1b0100401b0100421b0100441b0100461b0100481b01004a1b01004c1b01004e1b0100501b0100521b0100541b0100561b0100581b01005a1b01005c1b01005e1b0100601b0100621b0100641b0100661b0100681b01006a1b01006c1b01006e1b0100701b0100721b0100741b0100761b0100781b01007a1b01007c1b01007e1b0100801b0100821b0100841b0100861b0100881b01008a1b01008c1b01008e1b0100901b0100921b0100941b0100961b0100981b01009a1b01009c1b01009e1b0100a01b0100a21b0100a41b0100a61b0100a81b0100aa1b0100ac1b0100ae1b0100b01b0100b21b0100b41b0100b61b0100b81b0100ba1b0100bc1b0100be1b0100c01b0100c21b0100c41b0100c61b0100c81b0100ca1b0100cc1b0100ce1b0100d01b0100d21b0100d41b0100d61b0100d81b0100da1b0100dc1b0100de1b0100e01b0100e21b0100e41b0100e61b0100e81b0100ea1b0100ec1b0100ee1b0100f01b0100f21b0100f41b0100f61b0100f81b0100fa1b0100fc1b0100fe1b0100001c0100021c0100041c0100061c0100081c01000a1c01000c1c01000e1c0100101c0100121c0100141c0100161c0100181c01001a1c01001c1c01001e1c0100201c0100221c0100241c0100261c0100281c01002a1c01002c1c01002e1c0100301c0100321c0100341c0100361c0100381c01003a1c01003c1c01003e1c0100401c0100421c0100441c0100461c0100
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name: