zxl
/
CTT
forked from Cal/CTT
1
0
Fork 0
CTT/Unity/Assets/Hotfix/Logic/Model/Module/Numeric/NumericWatcher_SkinId.cs

29 lines
831 B
C#
Raw Normal View History

2021-04-08 20:09:59 +08:00
using ET;
namespace ET
{
[NumericWatcher(NumericType.SkinId)]
public class NumericWatcher_SkinId : INumericWatcher
{
public async ETTask Run(Entity entity, float old, float value)
{
Log.Info($"@{entity.Id}改变 SkinId:{old} -> {value}");
2021-04-11 19:50:39 +08:00
Unit unit = entity.As<Unit>();
2021-04-08 20:09:59 +08:00
int skinId = MathHelper.RoundToInt(value);
if (skinId == 0)
{
Log.Error($"skinId == 0 where id = {unit.Id}");
return;
}
await Game.EventSystem.Publish(new ET.EventType.ChangeSkin
{
zoneScene = entity.ZoneScene(),
2021-04-08 20:09:59 +08:00
Id = unit.Id,
skinId = skinId
});
unit.RefreshPosition();
await ETTask.CompletedTask;
}
}
}