Пример #1
0
 public async Task UserLogin(string name)
 {
     name = name.ToLower();
     if (FiefdomActions.UserExist(name))
     {
         FiefdomActions.UserUpdateSessionId(name, Context.ConnectionId);
     }
     else
     {
         FiefdomActions.CreateNewFiefdom(name, Context.ConnectionId);
     }
     await Clients.All.SendAsync("ServerMessage", name + " joined the session");
 }
Пример #2
0
        public async Task RequestFiefdomData()
        {
            //int test = new FiefContext().FiefdomResources.Where(f => f.Id == 2).FirstOrDefault().Quantity;
            Fief fief = FiefdomActions.GetFiefdomBySessionId(Context.ConnectionId);

            if (fief != null)
            {
                await Clients.Caller.SendAsync("RecieveFiefdomData", fief.FiefdomPlot, fief.FiefdomResources, fief.Title);
            }
            else
            {
                await Clients.Caller.SendAsync("RecieveFiefdomData", null);
            }
        }
Пример #3
0
        public async Task RequestFiefdomData()
        {
            GameState     gameState;
            List <Market> baseMarket;
            List <Market> buyPrice  = new List <Market>();
            List <Market> sellPrice = new List <Market>();
            Fief          fief;

            using (var db = new FiefContext())
            {
                gameState  = db.GameState.FirstOrDefault();
                baseMarket = db.Market.ToList();
                fief       = db.Fiefdom.Where(f => f.SessionId == Context.ConnectionId).Include("FiefdomPlot").Include("FiefdomResources").FirstOrDefault();
            }

            for (int i = 0; i < baseMarket.Count; i++)
            {
                buyPrice.Add(new Market
                {
                    Type  = baseMarket[i].Type,
                    Price = FiefdomActions.GetMarketBuyPrice(baseMarket[i].Type, baseMarket[i].Price)
                });
                sellPrice.Add(new Market
                {
                    Type  = baseMarket[i].Type,
                    Price = FiefdomActions.GetMarketSellPrice(baseMarket[i].Type, baseMarket[i].Price)
                });
            }

            if (fief != null)
            {
                await Clients.Caller.SendAsync("RecieveFiefdomData", fief, gameState,
                                               new GameValues
                {
                    Ballots    = FiefdomActions.Ballots,
                    Edicts     = FiefdomActions.Edicts,
                    MarketTax  = FiefdomActions.MarketTax,
                    baseMarket = baseMarket,
                    buyMarket  = buyPrice,
                    sellMarket = sellPrice
                });
            }
            else
            {
                await Clients.Caller.SendAsync("RecieveFiefdomData", null);
            }
        }
Пример #4
0
 public async Task BuildPlot(int id, string type)
 {
     FiefdomActions.BuildPlot(Context.ConnectionId, id, type);
 }
Пример #5
0
 public async Task GetMarketPrice()
 {
     await Clients.Caller.SendAsync("ReceiveMarketPrices", FiefdomActions.GetMarketPrice());
 }
Пример #6
0
 public async Task SellResource(string type, int quantity)
 {
     FiefdomActions.SellResource(Context.ConnectionId, type, quantity);
 }
Пример #7
0
 public async Task SubmitVote(int ballot, string vote)
 {
     FiefdomActions.SubmitVote(Context.ConnectionId, ballot, vote);
 }
Пример #8
0
 public async Task BuyTitle()
 {
     FiefdomActions.BuyTitle(Context.ConnectionId);
 }