This commit is contained in:
2026-06-21 22:38:18 +08:00
parent 5f2c6d8ecd
commit c335d04ae3
46 changed files with 604 additions and 1009 deletions
@@ -373,6 +373,10 @@ public class MonsterContral : MonoBehaviour
/// <param name="nextPos">下一帧目标位置</param>
private void ApplyFacingDirection(Vector2 nextPos)
{
Transform child = transform.GetChild(0);
Vector3 localPos = Vector3.zero;
localPos.z = depthOffset;
child.localPosition = localPos;
if (!isRotate) return;
Vector2 toNext = nextPos - (Vector2)transform.position;
@@ -396,8 +400,7 @@ public class MonsterContral : MonoBehaviour
// 是否为子物体单独控制朝向和深度
if (ischild0)
{
Transform child = transform.GetChild(0);
Vector3 localPos = Vector3.zero;
//// 父物体朝向
switch (forwordXYZ)
@@ -477,8 +480,7 @@ public class MonsterContral : MonoBehaviour
// case "Z": localPos.x = depthOffset; break;
// case "-Z": localPos.x = -depthOffset; break;
//}
localPos.z = depthOffset;
child.localPosition = localPos;
}
else
{
+19 -1
View File
@@ -32,6 +32,9 @@ public class GameManager : MonoSingleton<GameManager>
/// <summary>头像字典(name → sprite),从 Resources/Avatar 加载</summary>
private Dictionary<string, Sprite> avatarSpriteDict = new Dictionary<string, Sprite>();
/// <summary>默认头像(新账号无头像时使用)</summary>
private Sprite defaultAvatar;
/// <summary>触发头像更新事件</summary>
public void TriggerAvatarChanged(Sprite sprite)
{
@@ -74,10 +77,25 @@ public class GameManager : MonoSingleton<GameManager>
public Sprite GetAvatarSprite(string avatarName)
{
if (avatarSpriteDict.Count == 0) InitAvatarCache();
avatarSpriteDict.TryGetValue(avatarName, out var sprite);
if (string.IsNullOrEmpty(avatarName) || !avatarSpriteDict.TryGetValue(avatarName, out var sprite))
sprite = GetDefaultAvatar();
return sprite;
}
private Sprite GetDefaultAvatar()
{
if (defaultAvatar == null && avatarSpriteDict.Count > 0)
{
// 取缓存中第一个头像作为默认
foreach (var kv in avatarSpriteDict)
{
defaultAvatar = kv.Value;
break;
}
}
return defaultAvatar;
}
/// <summary>
/// 更换头像:上传服务端 → 更新本地 → 触发全局刷新
/// </summary>
+3
View File
@@ -147,6 +147,9 @@ namespace Assets.MyGame.Scripts.Net
dic_API[APIType.User_GetNoReadCount] = "/api/User/GetNoReadCount";
dic_API[APIType.User_GetEmailByPage] = "/api/User/GetEmailByPage";
// ---------------- Rank ----------------
dic_API[APIType.Rank_GetUserList] = "/api/User/GetUserList";
// ---------------- Customer ----------------
dic_API[APIType.Customer_Start] = "/customerapi/Customer/start";
dic_API[APIType.Customer_Message] = "/customerapi/Customer/message";
@@ -0,0 +1,15 @@
using System;
namespace Assets.MyGame.Scripts.Net.APIRequest.Params
{
/// <summary>
/// 通用分页查询参数(排行榜/用户列表共用)
/// </summary>
[Serializable]
public class BaseListPageParam : RequestParamBase
{
public string keyWord;
public int pageIndex;
public int pageSize;
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 4cddc697ed7d2f640b59af8f06ab52f8
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -2,6 +2,7 @@
using Assets.MyGame.Scripts.Net.APIRequest;
using Assets.MyGame.Scripts.Net.APIRequest.Objs;
using Assets.MyGame.Scripts.Net.APIRequest.Params;
using Assets.MyGame.Scripts.Net.APIResponses;
using Assets.MyGame.Scripts.Net.APIResponses.HomeMain_User;
using Newtonsoft.Json.Linq;
using System;
@@ -96,6 +97,18 @@ namespace Assets.MyGame.Scripts.Net
#endregion
#region Rank
/// <summary>
/// 获取排行榜(用户列表分页)(POST)
/// </summary>
public static void GetRankList(BaseListPageParam req, Action<List<UserListItemDto>> callback)
{
APIManager.Response<List<UserListItemDto>>(APIType.Rank_GetUserList, req, callback);
}
#endregion
#region Notice_公告
/// <summary>
@@ -63,6 +63,10 @@ public class UserBaseInfo
}
}
action?.Invoke(avatarSprite);
// 兜底:下载或加载失败 → 用默认头像
if (avatarSprite == null)
action?.Invoke(GameManager.Instance.GetAvatarSprite(null));
}
public void UpdateAvatar(System.Action<Sprite> action)
{
@@ -0,0 +1,18 @@
using System;
namespace Assets.MyGame.Scripts.Net.APIResponses
{
/// <summary>
/// 用户列表项DTO(排行榜用)
/// </summary>
[Serializable]
public class UserListItemDto
{
public string id;
public string number;
public string userName;
public string avatarUrl;
public string mobile;
public long createTime;
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: e7f3e620112ad5b4aa52623a9a739847
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
+5
View File
@@ -298,6 +298,11 @@ namespace Assets.MyGame.Scripts.Net
User_GetEmailByPage,
// ---------------- Rank ----------------
/// <summary>排行榜(用户列表分页)(POST)</summary>
Rank_GetUserList,
// ---------------- Customer ----------------
/// <summary>发起会话(POST)</summary>
Customer_Start,