public async void UpdatePlayer(Player player, int rank, string status, string crewTag, PlayerIcon icon, HudColor rowColor, HudColor statusColor) { PlayerRow p = playerRows.Find(pr => { return(pr.Player.ServerId == player.ServerId); }); p.Status = status; p.PlayerRank = rank; p.CrewTag = crewTag; p.Icon = icon; p.RowColor = rowColor; p.StatusColor = statusColor; await UpdateList(); }
public async void UpdatePlayer(int index, int rank, string status, string crewTag, PlayerIcon icon, HudColor rowColor, HudColor statusColor) { PlayerRow p = playerRows[index]; p.Status = status; p.PlayerRank = rank; p.CrewTag = crewTag; p.Icon = icon; p.RowColor = rowColor; p.StatusColor = statusColor; await UpdateList(); }
private async Task UpdateList() { //for (var i = 0; i < 32; i++) //{ // PushScaleformMovieFunctionN("SET_DATA_SLOT_EMPTY"); // PushScaleformMovieFunctionParameterInt(3); // PushScaleformMovieFunctionParameterInt(i); // PopScaleformMovieFunctionVoid(); //} //await BaseScript.Delay(0); if (playerRows.Count > 0) { for (var i = 0; i < playerRows.Count; i++) { PlayerRow pr = playerRows[i]; if (pr.RowIndex != i) { pr.RowIndex = i; playerRows[i] = pr; } PushScaleformMovieFunctionN("SET_DATA_SLOT"); // call scaleform function PushScaleformMovieFunctionParameterInt(3); // frontend menu column PushScaleformMovieFunctionParameterInt(i); // row index PushScaleformMovieFunctionParameterInt(0); // menu ID PushScaleformMovieFunctionParameterInt(0); // unique ID PushScaleformMovieFunctionParameterInt(2); // type (2 = AS_ONLINE_IN_SESSION) PushScaleformMovieFunctionParameterInt(pr.PlayerRank); // rank value / (initialIndex 1337) PushScaleformMovieFunctionParameterBool(false); // isSelectable PushScaleformMovieFunctionParameterString(pr.Player.Name); // playerName PushScaleformMovieFunctionParameterInt((int)pr.RowColor); // rowColor PushScaleformMovieFunctionParameterBool(false); // reduceColors (if true: removes color from left bar & reduces color opacity on row itself.) PushScaleformMovieFunctionParameterInt(0); // unused PushScaleformMovieFunctionParameterInt((int)pr.Icon); // right player icon. PushScaleformMovieFunctionParameterInt(0); // unused PushScaleformMovieFunctionParameterString($"..+{pr.CrewTag}"); // crew label text. PushScaleformMovieFunctionParameterBool(false); // should be a thing to toggle blinking of (kick) icon, but doesn't seem to work. PushScaleformMovieFunctionParameterString(pr.Status); // badge/status tag text PushScaleformMovieFunctionParameterInt((int)pr.StatusColor); // badge/status tag background color PopScaleformMovieFunctionVoid(); // done } } else { await BaseScript.Delay(0); } //await BaseScript.Delay(500); //UpdateDetails(); //PushScaleformMovieFunctionN("DISPLAY_DATA_SLOT"); //PushScaleformMovieFunctionParameterInt(0); //PopScaleformMovieFunctionVoid(); //UpdateSettings(); //PushScaleformMovieFunctionN("DISPLAY_DATA_SLOT"); //PushScaleformMovieFunctionParameterInt(1); //PopScaleformMovieFunctionVoid(); //await UpdateList(); PushScaleformMovieFunctionN("DISPLAY_DATA_SLOT"); PushScaleformMovieFunctionParameterInt(3); PopScaleformMovieFunctionVoid(); ///// ACTIVATE THE FIRST COLUMN (FOCUS). //PushScaleformMovieFunctionN("SET_COLUMN_FOCUS"); //PushScaleformMovieFunctionParameterInt(0); // column index // _loc7_ //PushScaleformMovieFunctionParameterInt(1); // highlightIndex // _loc6_ //PushScaleformMovieFunctionParameterInt(1); // scriptSetUniqID // _loc4_ //PushScaleformMovieFunctionParameterInt(0); // scriptSetMenuState // _loc5_ //PopScaleformMovieFunctionVoid(); }