Skip to content

Commit

Permalink
Merge pull request #1258 from PyPlanet/feature/1087
Browse files Browse the repository at this point in the history
Live Rankings: clickable player names to switch spectator target.
  • Loading branch information
TheMaximum committed Aug 26, 2023
2 parents e7d0bd3 + ff84126 commit 6496927
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 7 deletions.
40 changes: 40 additions & 0 deletions pyplanet/apps/contrib/live_rankings/templates/widget.Script.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
main() {
declare Boolean Prev_DistractionFreeMode = False;
declare netwrite Boolean Net_DistractionFreeMode for UI;

if (Net_DistractionFreeMode == True) {
Page.GetClassChildren("distraction-hide", Page.MainFrame, True);
foreach (Control in Page.GetClassChildren_Result) {
Control.Hide();
}
}

while(True) {
yield;

foreach (Event in PendingEvents) {
if (Event.Type == CMlScriptEvent::Type::MouseClick && Event.Control.HasClass("toggleSpec")) {
if (InputPlayer.RequestsSpectate) {
declare frame <=> Event.Control.Parent;
SetSpectateTarget(frame.DataAttributeGet("login"));
}
}
}

if (Prev_DistractionFreeMode != Net_DistractionFreeMode) {
Prev_DistractionFreeMode = Net_DistractionFreeMode;

if (Net_DistractionFreeMode == True) {
Page.GetClassChildren("distraction-hide", Page.MainFrame, True);
foreach (Control in Page.GetClassChildren_Result) {
Control.Hide();
}
} else {
Page.GetClassChildren("distraction-hide", Page.MainFrame, True);
foreach (Control in Page.GetClassChildren_Result) {
Control.Show();
}
}
}
}
}
18 changes: 11 additions & 7 deletions pyplanet/apps/contrib/live_rankings/templates/widget.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,25 @@
{% block content %}
{% if times != None %}
{% for time in times %}
<frame pos="0 -{{ (loop.index0 * 3.25) }}">
<frame pos="0 -{{ (loop.index0 * 3.25) }}" data-login="{{time.login}}">
<quad pos="0 0" z-index="0" size="4 3" bgcolor="00000070"/>
<label pos="2 -1.5" z-index="1" size="4 3" text="{{ time.index }}" textsize="0.3" textfont="RajdhaniMono" textemboss="1" halign="center" valign="center2"/>
<quad pos="4.25 0" z-index="0" size="20.5 3" bgcolor="00000070"/>
<label pos="4.5 -1.5" z-index="1" size="20 3" text="{{ time.nickname }}" textsize="0.2" textfont="RajdhaniMono" textemboss="1" halign="left" valign="center2"/>
<label pos="2 -1.5" z-index="1" size="4 3" text="{{ time.index }}" textsize="0.3" textfont="RajdhaniMono" textemboss="1" halign="center" valign="center2"/>
<quad pos="4.25 0" z-index="0" size="20.5 3" bgcolor="00000070" class="toggleSpec" scriptevents="1"/>
<label pos="4.5 -1.5" z-index="1" size="20 3" text="{{ time.nickname }}" textsize="0.2" textfont="RajdhaniMono" textemboss="1" halign="left" valign="center2" class="toggleSpec" scriptevents="1"/>
<quad pos="25 0" z-index="0" size="10 3" bgcolor="00000070"/>
<label pos="30 -1.5" z-index="1" size="10 3" text="{{ time.color }}{{ time.score }}" textsize="0.2" textfont="RajdhaniMono" textemboss="1" halign="center" valign="center2"/>
<label pos="30 -1.5" z-index="1" size="10 3" text="{{ time.color }}{{ time.score }}" textsize="0.2" textfont="RajdhaniMono" textemboss="1" halign="center" valign="center2"/>
{% if time.cp_difference != None and time.cp_difference != 0 %}
<quad pos="35.25 0" z-index="0" size="7 3" bgcolor="00000070"/>
<label pos="38.75 -1.5" size="7 3" z-index="1" textsize="0.2" halign="center" valign="center2" text="$fff+{{ time.cp_difference }} cp" textfont="RajdhaniMono" textemboss="1"/>
<label pos="38.75 -1.5" size="7 3" z-index="1" textsize="0.2" halign="center" valign="center2" text="$fff+{{ time.cp_difference }} cp" textfont="RajdhaniMono" textemboss="1"/>
{% elif time.points_added != None and time.points_added != 0 %}
<quad pos="35.25 0" z-index="0" size="7 3" bgcolor="00000070"/>
<label pos="38.75 -1.5" size="7 3" z-index="1" textsize="0.2" halign="center" valign="center2" text="$0f3+{{ time.points_added }}" textfont="RajdhaniMono" textemboss="1"/>
<label pos="38.75 -1.5" size="7 3" z-index="1" textsize="0.2" halign="center" valign="center2" text="$0f3+{{ time.points_added }}" textfont="RajdhaniMono" textemboss="1"/>
{% endif %}
</frame>
{% endfor %}
{% endif %}
{% endblock %}

{% block maniascript %}
<script><!-- {% include 'live_rankings/widget.Script.txt' %} --></script>
{% endblock %}
1 change: 1 addition & 0 deletions pyplanet/apps/contrib/live_rankings/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ def get_widget_records(self, player=None):
if index == player_index:
list_record['color'] = '$0f3'

list_record['login'] = record['login']
list_record['nickname'] = record['nickname']

if self.format_times:
Expand Down

0 comments on commit 6496927

Please sign in to comment.