Skip to content

Commit

Permalink
Merge branch 'master' into ahhh
Browse files Browse the repository at this point in the history
  • Loading branch information
AtomicLiquid committed Sep 22, 2023
2 parents 109e6aa + 3e2cd39 commit eac759a
Show file tree
Hide file tree
Showing 6 changed files with 30 additions and 24 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@

namespace EvoSC.Modules.Official.LiveRankingModule.Models;

public record LiveRankingWidgetPosition(int position, IPlayer player, string time, int cpIndex, bool isFinish);
public record LiveRankingWidgetPosition(int position, IPlayer player, string login, string time, int cpIndex, bool isFinish);
14 changes: 9 additions & 5 deletions src/Modules/LiveRankingModule/Services/LiveRankingService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
using EvoSC.Common.Remote.EventArgsModels;
using EvoSC.Common.Services.Attributes;
using EvoSC.Common.Services.Models;
using EvoSC.Common.Util;
using EvoSC.Manialinks.Interfaces;
using EvoSC.Modules.Official.LiveRankingModule.Interfaces;
using EvoSC.Modules.Official.LiveRankingModule.Models;
Expand All @@ -18,7 +19,7 @@ namespace EvoSC.Modules.Official.LiveRankingModule.Services;
public class LiveRankingService : ILiveRankingService
{
private const int ShowRows = 4;

private readonly ILogger<LiveRankingService> _logger;
private readonly IManialinkManager _manialinkManager;
private readonly LiveRankingStore _liveRankingStore;
Expand Down Expand Up @@ -50,7 +51,8 @@ public async Task OnEnableAsync()
_liveRankingStore.IncreaseRoundCounter();
_liveRankingStore.IncreaseTrackCounter();

await _manialinkManager.SendPersistentManialinkAsync("LiveRankingModule.LiveRanking", await GetWidgetData());
await _manialinkManager.SendPersistentManialinkAsync("LiveRankingModule.LiveRanking",
await GetWidgetData());
}

await Task.CompletedTask;
Expand Down Expand Up @@ -223,7 +225,7 @@ public async Task OnPodiumStartAsync(PodiumEventArgs args)
await CheckIsRoundsModeAsync();
await HideManialink();
}

public async Task HideNadeoScoreboard()
{
var hudSettings = new List<string>()
Expand Down Expand Up @@ -275,14 +277,16 @@ private LiveRankingWidgetPosition RankingToTime(ExpandedLiveRankingPosition rank

if (ranking.IsDnf)
{
return new LiveRankingWidgetPosition(i + 1, ranking.Player, formattedTime, ranking.CheckpointIndex + 1, ranking.IsFinish);
return new LiveRankingWidgetPosition(i + 1, ranking.Player, ranking.Player.GetLogin(), formattedTime,
ranking.CheckpointIndex + 1, ranking.IsFinish);
}

var isDeltaTime = i > 0;
var timeToFormat = isDeltaTime ? ranking.DiffToFirstPosition : ranking.CheckpointTime;
formattedTime = FormatTime(timeToFormat, isDeltaTime);

return new LiveRankingWidgetPosition(i + 1, ranking.Player, formattedTime, ranking.CheckpointIndex + 1, ranking.IsFinish);
return new LiveRankingWidgetPosition(i + 1, ranking.Player, ranking.Player.GetLogin(), formattedTime,
ranking.CheckpointIndex + 1, ranking.IsFinish);
}

private Task<bool> CheckIsRoundsModeAsync()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

<template>
<frame id="player_row_{{ ranking.player.AccountId }}" pos="0 {{ y }}">
<quad id="player_row_trigger"
<quad id="player_row_trigger_{{ ranking?.player?.AccountId }}"
size="{{ w + 10.0 }} {{ h }}"
ScriptEvents="1"
/>
Expand Down Expand Up @@ -110,13 +110,9 @@
<!--
*** OnMouseClick ***
***
if(Event.Control.ControlId == "player_row_trigger"){
foreach(Player in Players){
if(Player.User.WebServicesUserId == "{{ ranking?.player?.AccountId }}"){
if(!IsSpectatorClient) RequestSpectatorClient(True);
SetSpectateTarget(Player.User.Login);
}
}
if(Event.Control.ControlId == "player_row_trigger_{{ ranking?.player?.AccountId }}"){
if(!IsSpectatorClient) RequestSpectatorClient(True);
SetSpectateTarget("{{ ranking?.login }}");
continue;
}
***
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
using EvoSC.Common.Remote.EventArgsModels;
using EvoSC.Common.Services.Attributes;
using EvoSC.Common.Services.Models;
using EvoSC.Common.Util;
using EvoSC.Manialinks.Interfaces;
using EvoSC.Modules.Official.LiveRankingModule.Models;
using EvoSC.Modules.Official.LiveRankingModule.Utils;
Expand Down Expand Up @@ -137,6 +138,7 @@ private async Task<IEnumerable<LiveRankingWidgetPosition>> MapScoresForWidget(Sc
playerScores.Add(new LiveRankingWidgetPosition(
score.Rank,
player,
player.GetLogin(),
(score.MatchPoints + score.RoundPoints).ToString(),
-1,
false
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
<property type="string" name="playerRowBackgroundColor" default="999999"/>

<template>
<frame id="player_row_{{ ranking.player.AccountId }}" pos="0 {{ y }}">
<quad id="player_row_trigger"
<frame id="player_row_{{ ranking?.player?.AccountId }}" pos="0 {{ y }}">
<quad id="player_row_trigger_{{ ranking?.player?.AccountId }}"
size="{{ w + 10.0 }} {{ h }}"
ScriptEvents="1"
/>
Expand Down Expand Up @@ -87,13 +87,9 @@
<!--
*** OnMouseClick ***
***
if(Event.Control.ControlId == "player_row_trigger"){
foreach(Player in Players){
if(Player.User.WebServicesUserId == "{{ ranking?.player?.AccountId }}"){
if(!IsSpectatorClient) RequestSpectatorClient(True);
SetSpectateTarget(Player.User.Login);
}
}
if(Event.Control.ControlId == "player_row_trigger_{{ ranking?.player?.AccountId }}"){
if(!IsSpectatorClient) RequestSpectatorClient(True);
SetSpectateTarget("{{ ranking?.login }}");
continue;
}
***
Expand Down
10 changes: 9 additions & 1 deletion src/Modules/SponsorsModule/Controllers/SponsorsController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
using EvoSC.Common.Interfaces.Models.Enums;
using EvoSC.Common.Interfaces.Services;
using EvoSC.Common.Remote;
using EvoSC.Common.Util;
using EvoSC.Modules.Official.SponsorsModule.Interfaces;
using GbxRemoteNet.Events;

Expand All @@ -25,13 +26,20 @@ public SponsorsController(ISponsorsService sponsorsService, IPlayerManagerServic
[Subscribe(GbxRemoteEvent.PlayerConnect)]
public async Task OnPlayerJoin(object sender, PlayerConnectGbxEventArgs playerConnectArgs)
{
var player = await _playerManager.GetOnlinePlayerAsync(playerConnectArgs.Login);
var player = await _playerManager.GetOnlinePlayerAsync(PlayerUtils.ConvertLoginToAccountId(playerConnectArgs.Login));

if (player.State == PlayerState.Spectating)
{
await _sponsorsService.ShowWidget(playerConnectArgs.Login);
}
}

[Subscribe(GbxRemoteEvent.BeginMap)]
public async Task OnBeginMap(object sender, MapGbxEventArgs mapGbxEventArgs)
{
await _sponsorsService.ShowWidgetToAllSpectators();
}

[Subscribe(GbxRemoteEvent.PlayerInfoChanged)]
public Task OnPlayerInfoChange(object sender, PlayerInfoChangedGbxEventArgs playerInfoChangedArgs) =>
_sponsorsService.ShowOrHide(playerInfoChangedArgs);
Expand Down

0 comments on commit eac759a

Please sign in to comment.