public override Task OnActivateAsync() { _tickEmitter = GrainFactory.GetPartitionGrain <ITickEmitter>(this); _players = new HashSet <IPlayer>(); _discoveryEntities = new HashSet <IEntity>(); return(base.OnActivateAsync()); }
public Task UnsubscribeTickEmitter(ITickEmitter tickEmitter) { if (State.IsTickEmitterActive) { State.IsTickEmitterActive = false; MarkDirty(); _fixedUpdate.Stop(); } return(Task.CompletedTask); }
public Task SubscribeTickEmitter(ITickEmitter tickEmitter) { if (!State.IsTickEmitterActive) { State.IsTickEmitterActive = true; MarkDirty(); if (_players.Count != 0) { return(_fixedUpdate.Start(World)); } } return(Task.CompletedTask); }
protected override void InitializePreLoadComponent() { SetComponent(new StateComponent <StateHolder>()); _tickEmitter = GrainFactory.GetPartitionGrain <ITickEmitter>(this); }