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)); }
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); }
// 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); } } }
public static string GetTitledPlayers(PlayerTitle title) => $"{apiBase}/titled/{title.ToString()}";
/// <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)); }
public static string GetTitledPlayers(PlayerTitle title) { return($"{apiBase}/titled/{title}"); }
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); }