/// <summary> /// Show the UI for team victory, given the specified winner. /// </summary> /// <param name="team">Target team</param> public static void ShowWinnerInfoUI(ActiveTeamData team) { Function.Call(Hash.PLAY_MISSION_COMPLETE_AUDIO, "MICHAEL_BIG_01"); Wait(1550); scaleform.CallFunction("SHOW_MISSION_PASSED_MESSAGE", string.Format("{0} takes Victory!", team.Color.Name), "", 100, true, 0, true); scaleformDisplayTimer.Start(); }
/// <summary> /// Register score for the team. /// </summary> /// <param name="score"></param> public static async void RegisterScoreForTeam(ActiveTeamData team, int score) { var tScore = score / 100; if (tScore > 0) { team.Score = await UIManager.QueueTeamInfoProgressBar(team, tScore); } }
/// <summary> /// Randomize active teams. /// </summary> public static void GetNewTeams() { var teamData = XMLHelper.ReadValues <TeamInfo>(@"scripts\AirSuperiority\assets.xml", "TeamInfo", "name", "imageAsset", "altAsset"); for (int i = 0; i < Config.MaxTeams; i++) { var tCl = GetColorFromTeamIndex(i); var tInfo = teamData.Where(x => !_activeTeams.Any(y => y.TeamInfo.FriendlyName == x.FriendlyName)).GetRandomItem(); var team = new ActiveTeamData(i, rGroups[i], tCl, tInfo, GroundSpawns[i], JetSpawns[i]); UIManager.UpdateTeamInfoFriendlyName(team); UIManager.UpdateTeamInfoFlagAsset(team); _activeTeams.Add(team); } }
/// <summary> /// Assign this ground asset a team. /// </summary> /// <param name="newTeam"></param> public void AssignTeam(ActiveTeamData newTeam) { team = newTeam; }
/// <summary> /// Add a team score interpolation to the queue. /// </summary> /// <param name="team">Target team</param> /// <param name="score">Amount of score to add</param> /// <returns></returns> public static async Task <int> QueueTeamInfoProgressBar(ActiveTeamData team, int score) { return(await Task.Factory.StartNew(() => InterpolateTeamScore(team.Index, team.Score + score))); }
/// <summary> /// Update the UI flag icon for the specified team. /// </summary> /// <param name="team">Target team</param> public static void UpdateTeamInfoFlagAsset(ActiveTeamData team) { _teamImages[team.Index] = team.TeamInfo.ImageAsset; }
/// <summary> /// Update friendly name in the UI for the specified team. /// </summary> /// <param name="team"></param> public static void UpdateTeamInfoFriendlyName(ActiveTeamData team) { _teamNames[team.Index] = team.TeamInfo.FriendlyName; }