mirror of
https://github.com/NotAKidoS/NAK_CVR_Mods.git
synced 2025-09-02 14:29:25 +00:00
Stickers: added subscription check on outbound mod network calls
This commit is contained in:
parent
52315f5d51
commit
958f07ed08
3 changed files with 76 additions and 8 deletions
|
@ -6,6 +6,25 @@ public static partial class ModNetwork
|
||||||
{
|
{
|
||||||
#region Mod Network Internals
|
#region Mod Network Internals
|
||||||
|
|
||||||
|
// private static bool _isEnabled = true;
|
||||||
|
//
|
||||||
|
// public static bool IsEnabled
|
||||||
|
// {
|
||||||
|
// get => _isEnabled;
|
||||||
|
// set
|
||||||
|
// {
|
||||||
|
// if (_isEnabled == value)
|
||||||
|
// return;
|
||||||
|
//
|
||||||
|
// _isEnabled = value;
|
||||||
|
//
|
||||||
|
// if (_isEnabled) Subscribe();
|
||||||
|
// else Unsubscribe();
|
||||||
|
//
|
||||||
|
// Reset(); // reset buffers and metadata
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
public static bool IsSendingTexture { get; private set; }
|
public static bool IsSendingTexture { get; private set; }
|
||||||
private static bool _isSubscribedToModNetwork;
|
private static bool _isSubscribedToModNetwork;
|
||||||
|
|
||||||
|
@ -15,6 +34,16 @@ public static partial class ModNetwork
|
||||||
|
|
||||||
_isSubscribedToModNetwork = ModNetworkManager.IsSubscribed(ModId);
|
_isSubscribedToModNetwork = ModNetworkManager.IsSubscribed(ModId);
|
||||||
if (!_isSubscribedToModNetwork) StickerMod.Logger.Error("Failed to subscribe to Mod Network! This should not happen.");
|
if (!_isSubscribedToModNetwork) StickerMod.Logger.Error("Failed to subscribe to Mod Network! This should not happen.");
|
||||||
|
else StickerMod.Logger.Msg("Subscribed to Mod Network.");
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void Unsubscribe()
|
||||||
|
{
|
||||||
|
ModNetworkManager.Unsubscribe(ModId);
|
||||||
|
|
||||||
|
_isSubscribedToModNetwork = ModNetworkManager.IsSubscribed(ModId);
|
||||||
|
if (_isSubscribedToModNetwork) StickerMod.Logger.Error("Failed to unsubscribe from Mod Network! This should not happen.");
|
||||||
|
else StickerMod.Logger.Msg("Unsubscribed from Mod Network.");
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion Mod Network Internals
|
#endregion Mod Network Internals
|
||||||
|
|
|
@ -38,6 +38,9 @@ public static partial class ModNetwork
|
||||||
|
|
||||||
public static void SendPlaceSticker(int stickerSlot, Vector3 position, Vector3 forward, Vector3 up)
|
public static void SendPlaceSticker(int stickerSlot, Vector3 position, Vector3 forward, Vector3 up)
|
||||||
{
|
{
|
||||||
|
if (!_isSubscribedToModNetwork)
|
||||||
|
return;
|
||||||
|
|
||||||
if (!IsConnectedToGameNetwork())
|
if (!IsConnectedToGameNetwork())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -55,6 +58,9 @@ public static partial class ModNetwork
|
||||||
|
|
||||||
public static void SendClearSticker(int stickerSlot)
|
public static void SendClearSticker(int stickerSlot)
|
||||||
{
|
{
|
||||||
|
if (!_isSubscribedToModNetwork)
|
||||||
|
return;
|
||||||
|
|
||||||
if (!IsConnectedToGameNetwork())
|
if (!IsConnectedToGameNetwork())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -68,6 +74,9 @@ public static partial class ModNetwork
|
||||||
|
|
||||||
public static void SendClearAllStickers()
|
public static void SendClearAllStickers()
|
||||||
{
|
{
|
||||||
|
if (!_isSubscribedToModNetwork)
|
||||||
|
return;
|
||||||
|
|
||||||
if (!IsConnectedToGameNetwork())
|
if (!IsConnectedToGameNetwork())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -80,6 +89,9 @@ public static partial class ModNetwork
|
||||||
|
|
||||||
private static void SendStartTexture(int stickerSlot, Guid textureHash, int chunkCount, int width, int height)
|
private static void SendStartTexture(int stickerSlot, Guid textureHash, int chunkCount, int width, int height)
|
||||||
{
|
{
|
||||||
|
if (!_isSubscribedToModNetwork)
|
||||||
|
return;
|
||||||
|
|
||||||
if (!IsConnectedToGameNetwork())
|
if (!IsConnectedToGameNetwork())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -97,6 +109,9 @@ public static partial class ModNetwork
|
||||||
|
|
||||||
public static void SendTextureChunk(int chunkIdx, byte[] chunkData)
|
public static void SendTextureChunk(int chunkIdx, byte[] chunkData)
|
||||||
{
|
{
|
||||||
|
if (!_isSubscribedToModNetwork)
|
||||||
|
return;
|
||||||
|
|
||||||
if (!IsConnectedToGameNetwork())
|
if (!IsConnectedToGameNetwork())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -111,6 +126,9 @@ public static partial class ModNetwork
|
||||||
|
|
||||||
public static void SendEndTexture()
|
public static void SendEndTexture()
|
||||||
{
|
{
|
||||||
|
if (!_isSubscribedToModNetwork)
|
||||||
|
return;
|
||||||
|
|
||||||
if (!IsConnectedToGameNetwork())
|
if (!IsConnectedToGameNetwork())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -123,6 +141,9 @@ public static partial class ModNetwork
|
||||||
|
|
||||||
public static void SendRequestTexture(int stickerSlot, Guid textureHash)
|
public static void SendRequestTexture(int stickerSlot, Guid textureHash)
|
||||||
{
|
{
|
||||||
|
if (!_isSubscribedToModNetwork)
|
||||||
|
return;
|
||||||
|
|
||||||
if (!IsConnectedToGameNetwork())
|
if (!IsConnectedToGameNetwork())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -137,6 +158,9 @@ public static partial class ModNetwork
|
||||||
|
|
||||||
public static void SendTexture(int stickerSlot)
|
public static void SendTexture(int stickerSlot)
|
||||||
{
|
{
|
||||||
|
if (!_isSubscribedToModNetwork)
|
||||||
|
return;
|
||||||
|
|
||||||
if (!IsConnectedToGameNetwork() || IsSendingTexture)
|
if (!IsConnectedToGameNetwork() || IsSendingTexture)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,6 @@ using ABI_RC.Core.UI;
|
||||||
using ABI_RC.Systems.GameEventSystem;
|
using ABI_RC.Systems.GameEventSystem;
|
||||||
using NAK.Stickers.Networking;
|
using NAK.Stickers.Networking;
|
||||||
using NAK.Stickers.Utilities;
|
using NAK.Stickers.Utilities;
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
namespace NAK.Stickers;
|
namespace NAK.Stickers;
|
||||||
|
|
||||||
|
@ -65,6 +64,29 @@ public partial class StickerSystem
|
||||||
|
|
||||||
#region Data
|
#region Data
|
||||||
|
|
||||||
|
// private bool _isEnabled = true;
|
||||||
|
//
|
||||||
|
// public bool IsEnabled
|
||||||
|
// {
|
||||||
|
// get => _isEnabled;
|
||||||
|
// set
|
||||||
|
// {
|
||||||
|
// if (_isEnabled == value)
|
||||||
|
// return;
|
||||||
|
//
|
||||||
|
// _isEnabled = value;
|
||||||
|
// if (!_isEnabled) ClearAllStickers();
|
||||||
|
// ModNetwork.IsEnabled = _isEnabled;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
private string SelectedStickerName => ModSettings.Hidden_SelectedStickerNames.Value[_selectedStickerSlot];
|
||||||
|
|
||||||
|
private const float StickerKillTime = 30f;
|
||||||
|
private const float StickerCooldown = 0.2f;
|
||||||
|
private readonly Dictionary<string, StickerData> _playerStickers = new();
|
||||||
|
internal const string PlayerLocalId = "_PLAYERLOCAL";
|
||||||
|
|
||||||
private int _selectedStickerSlot;
|
private int _selectedStickerSlot;
|
||||||
public int SelectedStickerSlot
|
public int SelectedStickerSlot
|
||||||
{
|
{
|
||||||
|
@ -98,12 +120,5 @@ public partial class StickerSystem
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private string SelectedStickerName => ModSettings.Hidden_SelectedStickerNames.Value[_selectedStickerSlot];
|
|
||||||
|
|
||||||
private const float StickerKillTime = 30f;
|
|
||||||
private const float StickerCooldown = 0.2f;
|
|
||||||
private readonly Dictionary<string, StickerData> _playerStickers = new();
|
|
||||||
internal const string PlayerLocalId = "_PLAYERLOCAL";
|
|
||||||
|
|
||||||
#endregion Data
|
#endregion Data
|
||||||
}
|
}
|
Loading…
Add table
Add a link
Reference in a new issue