54 lines
1.3 KiB
C#
54 lines
1.3 KiB
C#
|
using System;
|
|||
|
using System.Net.Sockets;
|
|||
|
|
|||
|
namespace ET
|
|||
|
{
|
|||
|
[ActorMessageHandler]
|
|||
|
public class C2M_GetSkillHandler : AMActorLocationRpcHandler<Unit, C2M_GetSkill, M2C_GetSkill>
|
|||
|
{
|
|||
|
protected override async ETTask Run(Unit unit, C2M_GetSkill request, M2C_GetSkill response, Action reply)
|
|||
|
{
|
|||
|
|
|||
|
UnitSkillComponent unitSkillComponent = unit.GetComponent<UnitSkillComponent>();
|
|||
|
if (unitSkillComponent==null)
|
|||
|
{
|
|||
|
Log.Error("unitSkillComponent == null");
|
|||
|
reply();
|
|||
|
return;
|
|||
|
}
|
|||
|
foreach (var item in unitSkillComponent.GetLearnedSkills())
|
|||
|
{
|
|||
|
SkillInfo skillInfo = new SkillInfo()
|
|||
|
{
|
|||
|
SkillId = (int)item.Id,
|
|||
|
SkillLevel = item.Level
|
|||
|
};
|
|||
|
response.SkillInfoLsit.Add(skillInfo);
|
|||
|
}
|
|||
|
foreach (var item in unitSkillComponent.GetUnlearnedSkills())
|
|||
|
{
|
|||
|
SkillInfo skillInfo = new SkillInfo()
|
|||
|
{
|
|||
|
SkillId = (int)item.Id,
|
|||
|
SkillLevel = item.Level
|
|||
|
};
|
|||
|
response.SkillInfoLsit.Add(skillInfo);
|
|||
|
}
|
|||
|
UserSetting setting = unit.GetComponent<UserSetting>();
|
|||
|
if (setting == null)
|
|||
|
{
|
|||
|
Log.Error("setting == null");
|
|||
|
reply();
|
|||
|
return;
|
|||
|
}
|
|||
|
var arr = setting.GetAutoSkills();
|
|||
|
foreach (var item in arr)
|
|||
|
{
|
|||
|
response.AutoSkillList.Add(item);
|
|||
|
|
|||
|
}
|
|||
|
reply();
|
|||
|
await ETTask.CompletedTask;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|