public void AddOrUpdateEntry(uint key, GhostRoleClient role) { if (entries.ContainsKey(key) == false) { GameObject entry = Instantiate(ghostRoleEntryPrefab, listContainer); entries.Add(key, entry.GetComponent <GhostRoleWindowEntry>()); } entries[key].SetValues(key, role); UpdateNoRolesLabel(); }
public void SetValues(uint key, GhostRoleClient role) { Key = key; Role = role; nameLabel.text = Role.RoleData.Name; descLabel.text = Role.RoleData.Description; spriteHandler.SetSpriteSO(Role.RoleData.Sprite); playerCountLabel.text = GeneratePlayerCountLabelText(); if (Role.PlayerCount / Role.MaxPlayers > 0.8f || Role.MaxPlayers - Role.PlayerCount == 1) { playerCountLabel.color = warningColor; } Role.OnTimerExpired += RemoveEntry; GhostRoleManager.Instance.StartCoroutine(Countdown(Role.TimeRemaining)); }