Exemplo n.º 1
0
        public Repository()
        {
            //Сингтоны движка и сессии
            Engine      = GameEngine.getInstance();
            Engine.Buy += (user) =>
            {
                return(BuyRepo?.Invoke(user)); //Надеюсь, меня не исключат за это говно;
            };
            Engine.BuybackFromPrison += (user) =>
            {
                return(BuybackFromPrisonRepo?.Invoke(user));
            };
            Engine.GetUsersProperties += (user) =>
            {
                GetUsersPropertiesRepo?.Invoke(user);
            };
            Engine.JailRelease += (user) =>
            {
                JailReleaseRepo?.Invoke(user);
            };
            Engine.SetPrison += (user) =>
            {
                SetPrisonRepo?.Invoke(user);
            };
            Engine.Dice += (user, a, b) =>
            {
                DiceRepo?.Invoke(user, a, b);
            };
            Engine.CurrentCell += (user, position) =>
            {
                CurrentCellRepo?.Invoke(user, position);
            };
            Engine.GetCardPick += (user, card) =>
            {
                GetCardPickRepo?.Invoke(user, card);
            };
            Engine.NoEnoughMoney += (user) =>
            {
                NoEnoughMoneyRepo?.Invoke(user);
            };
            Engine.Transaction += (user, priviouse_m, current_m) =>
            {
                TransactionRepo?.Invoke(user, priviouse_m, current_m);
            };
            Engine.SetHouse += (user) =>
            {
                return(ByeHouseRepo?.Invoke(user));
            };
            Engine.RemoveFromGame += (user) =>
            {
                Session.Users.Remove(user);
                if (Session.Users.Count == 1)
                {
                    if (Session.Users.Last() != null)
                    {
                        EndGame?.Invoke(Session.Users.Last());
                    }
                }
            };

            Session = Session.getInstance();
        }