(client) feat:实现身体贴图加载

This commit is contained in:
m0_75251201
2025-07-24 23:19:48 +08:00
parent 8471f00b64
commit c4ddc0d693
20 changed files with 613 additions and 258 deletions

View File

@ -1,3 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Base;
@ -12,6 +13,8 @@ namespace Managers
public GameObject entityLevel;
public EntityPrefab entityPrefab;
public EntityPrefab defaultEntityPrefab;
public void Tick()
{
@ -57,6 +60,7 @@ namespace Managers
if (entityPrefab == null)
{
Debug.LogError("Error: entityPrefab is null. Please assign a valid prefab.");
GenerateDefaultEntity(pos);
return;
}
@ -64,6 +68,7 @@ namespace Managers
if (pawnDef == null)
{
Debug.LogError("Error: PawnDef is null. Cannot generate entity without a valid PawnDef.");
GenerateDefaultEntity(pos);
return;
}
@ -79,6 +84,7 @@ namespace Managers
if (entityComponent == null)
{
Debug.LogError($"Error: EntityPrefab component not found on the instantiated object: {entity.name}");
GenerateDefaultEntity(pos);
return;
}
@ -96,12 +102,32 @@ namespace Managers
{
// 捕获并记录任何异常
Debug.LogError($"An error occurred while generating the entity: {ex.Message}");
GenerateDefaultEntity(pos);
}
}
public void GenerateDefaultEntity(Vector3 pos)
{
var entity = Instantiate(entityPrefab.gameObject, pos, Quaternion.identity, entityLevel.transform);
var entityComponent = entity.GetComponent<EntityPrefab>();
const string factionKey = "default";
if (!factionEntities.ContainsKey(factionKey))
{
factionEntities[factionKey] = new List<EntityPrefab>();
}
factionEntities[factionKey].Add(entityComponent);
}
protected override void OnStart()
{
factionEntities.Clear();
}
private void Start()
{
var pre = Resources.Load<GameObject>("Default/DefaultEntity");
defaultEntityPrefab = pre.GetComponent<EntityPrefab>();
}
}
}