CTT/Unity/Assets/HotfixView/Event/ChangeSkinEvent.cs

37 lines
1017 B
C#

using Cal.DataTable;
using ET.EventType;
using ET;
using System;
using System.Collections.Generic;
namespace ET
{
public class ChangeSkinEvent : AEvent<ChangeSkin>
{
public override async ETTask Run(ChangeSkin args)
{
long id = args.Id;
int skinId = args.skinId;
var zoneScene = args.zoneScene;
Unit unit = zoneScene.GetComponent<UnitComponent>().Get(id);
if (!unit)
{
Log.Error($"unit is invalid where id = {id}");
return;
}
SkinBase skinBase =SkinBaseCategory.Instance.Get(skinId);
if (skinBase == null)
{
Log.Error($"没有skinId = {skinId}");
return;
}
UnitView unitView = unit.GetComponent<UnitView>();
if (unitView)
{
await unitView.ChangeSkin(skinBase.PrfabId);
}
await ETTask.CompletedTask;
}
}
}