public void ShowReward(int playerCount, List <string> ids, List <RewardScreenManager.RewardIcons> rewards, int rewardsToGive) { _nextRoundStarted = false; // Check if we only care about positive rewards if (PSL_GameConfig.RewardType == "Positive") { rewards = rewards.Where(r => r.Positive).ToList(); } // check if in single player if (SP_Manager.Instance.IsSinglePlayer()) { rewards = rewards.Where(r => r.SupportsSinglePlayer).ToList(); } else { rewards = rewards.Where(r => r.SupportsMultiplayer).ToList(); } var rand = UnityEngine.Random.Range(0, rewards.Count); var rewardData = rewards[rand]; if (_rewardObjectInScene != null) { Destroy(_rewardObjectInScene); } _type = rewardData.Type; _currentlyHighlighting = 0; _playerIds = ids; _currentId = 0; _rewardData = rewards; UpdateHighlighted(); _playerCount = playerCount; var gameManager = GameObject.Find("GameManager").GetComponent <GameManager>(); _rewardObjectInScene = Instantiate(_rewardObject, _chest.transform.position, Quaternion.identity); _rewardObjectInScene.GetComponent <RewardSetup>().Setup(Localization.Get(rewardData.LocalizationKey), rewardData.Icon); var i = 0; foreach (var reward in Rewards) { var playerName = gameManager.GetPlayer(ids[i]).SyncNickName; reward.SetName(playerName); i++; } }
public void RewardSelected(RewardScreenManager.RewardType type, string playerId) { transform.GetComponentInParent <RewardScreenManager>().SetReward(type, playerId); }