Skip to content

Commit afeacf4

Browse files
committed
Add extra icons and display them in the avatar nametag
1 parent ff60230 commit afeacf4

File tree

5 files changed

+31
-6
lines changed

5 files changed

+31
-6
lines changed
18 KB
Loading
15.9 KB
Loading

MultiplayerExtensions/Environment/MpexAvatarNameTag.cs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,16 +100,23 @@ private void HandleMpexData(IConnectedPlayer player, MpexPlayerData data)
100100

101101
private void SetPlatformData(MpPlayerData data)
102102
{
103+
Sprite icon = null;
103104
switch (data.Platform)
104105
{
105106
case Platform.Steam:
106-
SetIcon(PlayerIconSlot.Platform, _spriteManager.IconSteam64);
107+
icon = _spriteManager.IconSteam64;
107108
break;
108109
case Platform.OculusQuest:
110+
icon = _spriteManager.IconMeta64;
111+
break;
109112
case Platform.OculusPC:
110-
SetIcon(PlayerIconSlot.Platform, _spriteManager.IconOculus64);
113+
icon = _spriteManager.IconOculus64;
114+
break;
115+
default:
116+
icon = _spriteManager.IconToaster64;
111117
break;
112118
}
119+
SetIcon(PlayerIconSlot.Platform, icon);
113120
}
114121

115122
private void SetIcon(PlayerIconSlot slot, Sprite sprite)

MultiplayerExtensions/MultiplayerExtensions.csproj

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -182,8 +182,12 @@
182182
<Reference Include="System.Xml" />
183183
</ItemGroup>
184184
<ItemGroup>
185+
<EmbeddedResource Include="Assets\IconMeta64.png" />
186+
<EmbeddedResource Include="Assets\IconToaster64.png" />
185187
<EmbeddedResource Include="manifest.json" />
188+
<None Remove="Assets\IconMeta64.png" />
186189
<None Remove="Assets\IconSteam64.png" />
190+
<None Remove="Assets\IconToaster64.png" />
187191
<None Remove="UI\MpexEnvironmentViewController.bsml" />
188192
<None Remove="UI\MpexGameplaySetup.bsml" />
189193
<None Remove="UI\MpexMiscViewController.bsml" />
@@ -209,9 +213,6 @@
209213
</PackageReference>
210214
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
211215
</ItemGroup>
212-
<ItemGroup>
213-
<Folder Include="Assets" />
214-
</ItemGroup>
215216
<Target Name="PreBuild" BeforeTargets="BeforeBuild" Condition="'$(NCRUNCH)' != '1'">
216217
<Error Text="The BeatSaberModdingTools.Tasks nuget package doesn't seem to be installed." Condition="'$(BSMTTaskAssembly)' == ''" />
217218
<GetCommitInfo ProjectDir="$(ProjectDir)">

MultiplayerExtensions/Utilities/SpriteManager.cs

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
11
using SiraUtil.Logging;
22
using System;
33
using System.Reflection;
4+
using System.Security.Policy;
45
using UnityEngine;
56
using Zenject;
67

78
namespace MultiplayerExtensions.Utilities
89
{
9-
public class SpriteManager : IInitializable
10+
public class SpriteManager : IInitializable, IDisposable
1011
{
1112
public Sprite IconOculus64 { get; private set; } = null!;
1213
public Sprite IconSteam64 { get; private set; } = null!;
14+
public Sprite IconMeta64 { get; private set; } = null!;
15+
public Sprite IconToaster64 { get; private set; } = null!;
1316

1417
private readonly SiraLog _logger;
1518

@@ -23,6 +26,20 @@ public void Initialize()
2326
{
2427
IconOculus64 = GetSpriteFromResources("MultiplayerExtensions.Assets.IconOculus64.png");
2528
IconSteam64 = GetSpriteFromResources("MultiplayerExtensions.Assets.IconSteam64.png");
29+
IconMeta64 = GetSpriteFromResources("MultiplayerExtensions.Assets.IconMeta64.png");
30+
IconToaster64 = GetSpriteFromResources("MultiplayerExtensions.Assets.IconToaster64.png");
31+
}
32+
33+
public void Dispose()
34+
{
35+
if (IconOculus64 != null) Sprite.Destroy(IconOculus64);
36+
IconOculus64 = null;
37+
if (IconSteam64 != null) Sprite.Destroy(IconSteam64);
38+
IconSteam64 = null;
39+
if (IconMeta64 != null) Sprite.Destroy(IconMeta64);
40+
IconMeta64 = null;
41+
if (IconToaster64 != null) Sprite.Destroy(IconToaster64);
42+
IconToaster64 = null;
2643
}
2744

2845
private Sprite GetSpriteFromResources(string resourcePath, float pixelsPerUnit = 10.0f)

0 commit comments

Comments
 (0)