private void UpdateAnimalMoodGameState() { var moodChange = new AnimalMoodChange { AnimalName = AnimalName, HappinessLevel = HappinessLevel.Value, HungrinessLevel = HungrinessLevel.Value, ThirstinessLevel = ThirstinessLevel.Value }; var entityId = new EntityId(nameof(GameSession), GameName); Entity.Current.SignalEntity <IGameSession>(entityId, proxy => proxy.UpdateAnimalMoodAsync(moodChange)); }
public Task UpdateAnimalMoodAsync(AnimalMoodChange mood) { var state = AnimalStates[mood.AnimalName]; state.HappinessLevel = mood.HappinessLevel; state.HungrinessLevel = mood.HungrinessLevel; state.ThirstinessLevel = mood.ThirstinessLevel; return(PublishEventAsync(new AnimalMoodChangedEvent { AnimalName = state.Name, HappinessLevel = state.HappinessLevel, HungrinessLevel = state.HungrinessLevel, ThirstinessLevel = state.ThirstinessLevel })); }