コード例 #1
0
        public JsonResult Index(string itemsBoughtViewModel)
        {
            var           profiles = _context.PlayerProfiles.ToList();
            var           user     = _context.Users.Where(u => u.UserName == User.Identity.Name).FirstOrDefault();
            PlayerProfile pp       = _context.PlayerProfiles.Where(p => p == user.PlayerProfile)
                                     .Include(p => p.AvailableItems)
                                     .Include(p => p.AvailableTitles)
                                     .SingleOrDefault();

            ItemsBoughtViewModel itemsBought = JsonConvert.DeserializeObject <ItemsBoughtViewModel>(itemsBoughtViewModel.Trim('"'));

            foreach (var itemId in itemsBought.ItemsId)
            {
                Item item = _context.Items.SingleOrDefault(i => i.Id == itemId);
                if (item != null)
                {
                    if (pp.MICoins - item.Price >= 0)
                    {
                        pp.MICoins -= item.Price;
                        PlayerItem playerItem = new PlayerItem()
                        {
                            Item = item, Player = pp
                        };
                        pp.AvailableItems.Add(playerItem);
                    }
                    else
                    {
                        return(Json(false));
                    }
                }
            }
            foreach (var titleId in itemsBought.TitlesId)
            {
                Title title = _context.Titles.SingleOrDefault(i => i.Id == titleId);
                if (title != null)
                {
                    if (pp.MICoins - title.Price >= 0)
                    {
                        pp.MICoins -= title.Price;
                        PlayerTitle playerTitle = new PlayerTitle()
                        {
                            Title = title, Player = pp
                        };
                        pp.AvailableTitles.Add(playerTitle);
                    }
                    else
                    {
                        return(Json(false));
                    }
                }
            }
            _context.SaveChanges();
            return(Json(true));
        }
コード例 #2
0
        public PlayerProfile CreatePlayerProfile(string userName)
        {
            PlayerProfile playerProfile = new PlayerProfile()
            {
                Pseudo = userName.Split('@')[0]
            };

            _context.PlayerProfiles.Add(playerProfile);

            var user = _context.Users.SingleOrDefault(u => u.UserName.Equals(userName));

            user.PlayerProfile = playerProfile;

            Title       title       = _context.Titles.FirstOrDefault(t => t.Text.Equals("Noob"));
            PlayerTitle PlayerTitle = new PlayerTitle()
            {
                Player = playerProfile, Title = title, IsSelected = true
            };

            _context.PlayerTitles.Add(PlayerTitle);

            playerProfile.AvailableTitles.Add(PlayerTitle);

            Project project = GenerateDemoProject();

            _context.Add(project);

            PlayerProject playerProject = new PlayerProject()
            {
                Project = project, Player = playerProfile
            };

            _context.PlayerProjects.Add(playerProject);

            playerProfile.PlayerProjects.Add(playerProject);

            _context.SaveChanges();
            return(playerProfile);
        }
コード例 #3
0
 // Update is called once per frame
 void Update()
 {
     foreach (Player p in PlayerManager.Instance.Players)
     {
         var playerTitle = playerTitles.Find(o => o.Player == p);
         if (playerTitle != null)
         {
             UpdatePos(playerTitle);
         }
         else
         {
             PlayerTitle t = new PlayerTitle();
             t.Title = Instantiate(TitlePrefab);
             t.Title.rectTransform.SetParent(TitlePrefab.transform.parent);
             t.Title.rectTransform.localScale    = Vector3.one;
             t.Title.rectTransform.localRotation = Quaternion.identity;
             t.Title.gameObject.SetActive(true);
             t.Title.text = p.PlayerId.ToString();
             t.Player     = p;
             playerTitles.Add(t);
         }
     }
 }
コード例 #4
0
 public static string GetTitledPlayers(PlayerTitle title) => $"{apiBase}/titled/{title.ToString()}";
コード例 #5
0
 /// <summary>
 /// List of titled-player usernames
 /// </summary>
 /// <param name="title"></param>
 /// <returns></returns>
 public async Task <PlayerUsernameList> GetTitledPlayersAsync(PlayerTitle title)
 {
     return(await GetAsync <PlayerUsernameList>(Endpoints.Player.GetTitledPlayers(title)).ConfigureAwait(false));
 }
コード例 #6
0
 public static string GetTitledPlayers(PlayerTitle title)
 {
     return($"{apiBase}/titled/{title}");
 }
コード例 #7
0
 private void UpdatePos(PlayerTitle title)
 {
     title.Title.rectTransform.localPosition = WorldToUIPoint(Canvas, title.Player.transform, title.Title.rectTransform);
     //title.Title.rectTransform.localPosition = WordToScenePoint(Canvas, title.Player.transform.position);
     //title.Title.rectTransform.localPosition = Camera.main.WorldToScreenPoint(title.Player.transform.position);
 }