|
@@ -69,7 +69,24 @@ namespace ET.Client
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ [Event]
|
|
|
+ [FriendOfAttribute(typeof(ET.Client.UnitRenderComponet))]
|
|
|
+ public class ShowVipNameEventHandler : BEvent<ShowVipName>
|
|
|
+ {
|
|
|
+ protected override async ETTask OnEvent(ShowVipName args)
|
|
|
+ {
|
|
|
+ await ETTask.CompletedTask;
|
|
|
+ var unitRender = ModelViewComponent.Instance.GetChild<UnitRenderComponet>(args.ObjId);
|
|
|
+ if (unitRender != null)
|
|
|
+ {
|
|
|
+ unitRender.NameBar.visible = true;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ Log.Error($"Not Found unitRender: {args.ObjId}");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
[Event]
|
|
|
public class SyncUnitPosEventHandler : BEvent<EventType.SyncUnitPosEvent>
|
|
|
{
|
|
@@ -108,7 +125,7 @@ namespace ET.Client
|
|
|
var unitRender = ModelViewComponent.Instance.GetChild<UnitRenderComponet>(args.Id);
|
|
|
if (unitRender != null)
|
|
|
{
|
|
|
- unitRender.SyncHeadBarHP(args.Value);
|
|
|
+ unitRender.SyncHeadBarHP(args.Value).Coroutine();
|
|
|
}
|
|
|
}
|
|
|
await ETTask.CompletedTask;
|
|
@@ -181,28 +198,31 @@ namespace ET.Client
|
|
|
if(pos.z < 0 || pos.x < 0 || pos.x > Screen.width || pos.y < 0 || pos.y > Screen.height)
|
|
|
{
|
|
|
//不在视野中
|
|
|
- self.HeadBar.visible = false;
|
|
|
+ self.HeadBar.SetXY(999999, 999999);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
pos.y = Screen.height - pos.y;
|
|
|
pos = GRoot.inst.GlobalToLocal(pos);
|
|
|
self.HeadBar.SetXY(pos.x, pos.y);
|
|
|
- self.HeadBar.visible = true;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- public static void SyncHeadBarHP(this UnitRenderComponet self, float value, bool bTween = false)
|
|
|
+ public static async ETTask SyncHeadBarHP(this UnitRenderComponet self, float newValue)
|
|
|
{
|
|
|
if (self.HPBar != null)
|
|
|
{
|
|
|
- if (bTween)
|
|
|
+ var old = self.HPBar.value;
|
|
|
+ if ((old - newValue) > 20 || (newValue - old > 20 && old > 0))
|
|
|
{
|
|
|
- self.HPBar.TweenValue(value, 0.6f);
|
|
|
+ self.HPBar.visible = true;
|
|
|
+ self.HPBar.TweenValue(newValue, 0.6f);
|
|
|
+ await TimerComponent.Instance.WaitAsync(700);
|
|
|
+ self.HPBar.visible = false;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- self.HPBar.value = value;
|
|
|
+ self.HPBar.value = newValue;
|
|
|
}
|
|
|
}
|
|
|
}
|