Пример #1
0
        public Task DepositCreditsAsync(CreditsDeposit deposit)
        {
            var state = PlayerStates[deposit.PlayerName];

            state.Credits += deposit.Amount;

            return(PublishEventAsync(new CreditsChangedEvent
            {
                PlayerName = deposit.PlayerName,
                Credits = state.Credits
            }));
        }
        private void DepositCreditsToGameState(int amount)
        {
            var creditsDeposit = new CreditsDeposit
            {
                PlayerName = OwnerName,
                Amount     = amount
            };

            var entityId = new EntityId(nameof(GameSession), GameName);

            Entity.Current.SignalEntity <IGameSession>(entityId,
                                                       proxy => proxy.DepositCreditsAsync(creditsDeposit));
        }