调整创建角色时位置设置时许
parent
bf449b73e8
commit
481236de65
|
|
@ -103,12 +103,17 @@ namespace Gameplay.Character
|
|||
|
||||
private async UniTask<Character> _Create(uint id,
|
||||
CharacterConfigData configData,
|
||||
int teamId)
|
||||
int teamId, Vector3 pos, float yaw)
|
||||
{
|
||||
DebugUtil.Log("Create Character id: {0} troopId: {1}",id, teamId);
|
||||
var character = new Character(id, configData, teamId);
|
||||
// TODO: 这里先不等待异步,后续在想具体哪种更好
|
||||
_ = character.LoadAsync();
|
||||
character.transData.disableEvent = true;
|
||||
character.transData.pos = pos;
|
||||
character.transData.yaw = yaw;
|
||||
character.transData.disableEvent = false;
|
||||
character.Node.GameObject.transform.position = pos;
|
||||
character.Node.GameObject.transform.localRotation = Quaternion.Euler(0, yaw, 0);
|
||||
await character.LoadAsync();
|
||||
await _AddCharacter(character);
|
||||
return character;
|
||||
}
|
||||
|
|
@ -154,7 +159,9 @@ namespace Gameplay.Character
|
|||
|
||||
public async UniTask<Character> CreateNPC(int npcId,
|
||||
int teamId,
|
||||
int level)
|
||||
int level,
|
||||
Vector3 pos,
|
||||
float yaw)
|
||||
{
|
||||
var uId = GUIDManager.GenGuid();
|
||||
var monsterConfig = TableManager.Instance.Tables.Monster.Get(npcId);
|
||||
|
|
@ -202,11 +209,11 @@ namespace Gameplay.Character
|
|||
configData.eyesColor = monsterTConfig.EmojiEyesColor;
|
||||
|
||||
|
||||
return await _Create(uId, configData, teamId);
|
||||
return await _Create(uId, configData, teamId, pos, yaw);
|
||||
}
|
||||
|
||||
public async UniTask<Character> CreateCharacter(CharacterDataInfo characterInfo,
|
||||
int teamId)
|
||||
int teamId, Vector3 pos, float yaw)
|
||||
{
|
||||
var cId = characterInfo.Cfg.RoleID;
|
||||
var characterData = TableManager.Instance.Tables.CharacterAttri.Get(cId);
|
||||
|
|
@ -279,7 +286,7 @@ namespace Gameplay.Character
|
|||
configData.eyeBrowsType = characterData.EmojiEyeBowsType;
|
||||
configData.eyesColor = characterData.EmojiEyesColor;
|
||||
|
||||
return await _Create(characterInfo.ID, configData, teamId);
|
||||
return await _Create(characterInfo.ID, configData, teamId, pos, yaw);
|
||||
}
|
||||
|
||||
private void _AddToTroop(Character c)
|
||||
|
|
|
|||
|
|
@ -80,10 +80,9 @@ namespace Gameplay.Level
|
|||
|
||||
// TODO: LT:临时处理,后续需要根据配置来
|
||||
var teamId = ETroopsId.Enemy1;
|
||||
var character = await _characterManager.CreateNPC(npcInfo.id, teamId, npcInfo.level);
|
||||
var pos = _map.BlockPosition2WorldPosition(npcInfo.position);
|
||||
character.transData.yaw =
|
||||
LevelUtils.SetCharaterToward(npcInfo.npcToward);
|
||||
var yaw = LevelUtils.SetCharaterToward(npcInfo.npcToward);
|
||||
var character = await _characterManager.CreateNPC(npcInfo.id, teamId, npcInfo.level, pos, yaw);
|
||||
character.transData.pos = pos;
|
||||
character.Node.SetPosition(pos);
|
||||
character.runtimeData.characterLevelData = new CharacterLevelData()
|
||||
|
|
@ -269,4 +268,4 @@ namespace Gameplay.Level
|
|||
return StringManager.Instance.GetLocalizeTextByKey(string.Format(DescKey, _id));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -304,7 +304,7 @@ namespace Gameplay.Level
|
|||
UITipsManager.ShowTips("上阵人数达到上限!");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
// 不是准备区域
|
||||
if (!_level.IsPreparingRegion(map.TGSCellIndex2BlockPosition(cellIndex)))
|
||||
{
|
||||
|
|
@ -366,13 +366,9 @@ namespace Gameplay.Level
|
|||
return;
|
||||
}
|
||||
|
||||
var character = await _level.CharacterManager.CreateCharacter(characterInfo, ETroopsId.Self);
|
||||
var character = await _level.CharacterManager.CreateCharacter(characterInfo, ETroopsId.Self, position, yaw);
|
||||
if (character != null)
|
||||
{
|
||||
character.transData.disableEvent = true;
|
||||
character.transData.pos = position;
|
||||
character.transData.yaw = yaw;
|
||||
character.transData.disableEvent = false;
|
||||
character.PrepareReady();
|
||||
await character.EnterBattle();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -330,7 +330,7 @@ namespace Gameplay.Level
|
|||
return;
|
||||
}
|
||||
|
||||
var character = await _level.CharacterManager.CreateCharacter(characterInfo, ETroopsId.Self);
|
||||
var character = await _level.CharacterManager.CreateCharacter(characterInfo, ETroopsId.Self, position, yaw);
|
||||
if (character != null)
|
||||
{
|
||||
character.transData.pos = position;
|
||||
|
|
|
|||
Loading…
Reference in New Issue