You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

61 lines
1.6 KiB

using System;
using UnityEngine;
namespace ET
{
public class SyncTimeComponentAwakeSystem: AwakeSystem<SyncTimeComponent>
{
public override void Awake(SyncTimeComponent self)
{
self.Timer = TimerComponent.Instance.NewRepeatedTimer(1000, TimerType.SyncTime, self);
}
}
public class SyncTimeComponentDestroySystem: DestroySystem<SyncTimeComponent>
{
public override void Destroy(SyncTimeComponent self)
{
if (self.Parent == null)
{
return;
}
TimerComponent.Instance?.Remove(ref self.Timer);
}
}
[Timer(TimerType.SyncTime)]
public class SyncTimeComponentTimer : ATimer<SyncTimeComponent>
{
public override void Run(SyncTimeComponent self)
{
try
{
if (self.IsDisposed || self.Parent == null)
{
return;
}
if (self.DomainScene() == null)
{
return;
}
self.SyncTime().Coroutine();
}
catch (Exception e)
{
Log.Error(e.ToString());
}
}
}
public static class SyncTimeComponentSystem
{
public static async ETTask SyncTime(this SyncTimeComponent self)
{
var unit = UnitHelper.GetMyUnitFromZoneScene(self.ZoneScene());
int result = await UnitHelper.GetUnitGameTime(unit);
}
}
}