cun
This commit is contained in:
@@ -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
|
||||
{
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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:
|
||||
@@ -298,6 +298,11 @@ namespace Assets.MyGame.Scripts.Net
|
||||
User_GetEmailByPage,
|
||||
|
||||
|
||||
// ---------------- Rank ----------------
|
||||
/// <summary>排行榜(用户列表分页)(POST)</summary>
|
||||
Rank_GetUserList,
|
||||
|
||||
|
||||
// ---------------- Customer ----------------
|
||||
/// <summary>发起会话(POST)</summary>
|
||||
Customer_Start,
|
||||
|
||||
Reference in New Issue
Block a user