protected override void OnAdd(EUnit unit) { var unitData = unit.GetData <UnitData>(); var helloWorldData = unit.GetData <HelloWorldData>(); Observable.Interval(TimeSpan.FromSeconds(1)).Subscribe(_ => { Log.I(helloWorldData.helloWorld); }).AddTo(unitData.disposable); }
public void DestroyUnit(GUnit unit) { var unitData = unit.GetData <UnitData>(); dataMgr.ClearDataToCached(unit.UnitId); unit.UpdateMeetModuleList(); unitData.disposable?.Dispose(); unitData.disposable = null; if (!string.IsNullOrEmpty(unitData.tag)) { unitMgr.ClearCache(unitData.tag); } dataMgr.ClearCachedData(unit.UnitId); unitMgr.RemoveUnit(unit.UnitId); }