mirror of
https://github.com/Impostor/Impostor.git
synced 2026-10-20 01:46:11 +00:00
Remove login from Impostor.Api assembly
This commit is contained in:
1 parent
f5e454856a
commit
58d00dc657
78 files changed
+241
-182
No files matched your search
@@ -1,11 +1,11 @@
|
||||
using Impostor.Api.Games;
|
||||
using Impostor.Api.Innersloth.Net.Objects;
|
||||
using Impostor.Api.Net.Inner.Objects;
|
||||
|
||||
namespace Impostor.Api.Events.Net
|
||||
{
|
||||
public class PlayerChatEvent : IGameEvent
|
||||
{
|
||||
public PlayerChatEvent(IGame game, InnerPlayerControl playerControl, string message)
|
||||
public PlayerChatEvent(IGame game, IInnerPlayerControl playerControl, string message)
|
||||
{
|
||||
Game = game;
|
||||
PlayerControl = playerControl;
|
||||
@@ -14,7 +14,7 @@ namespace Impostor.Api.Events.Net
|
||||
|
||||
public IGame Game { get; }
|
||||
|
||||
public InnerPlayerControl PlayerControl { get; }
|
||||
public IInnerPlayerControl PlayerControl { get; }
|
||||
|
||||
public string Message { get; }
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
using Impostor.Api.Games;
|
||||
using Impostor.Api.Innersloth.Net.Objects;
|
||||
using Impostor.Api.Net.Inner.Objects;
|
||||
|
||||
namespace Impostor.Api.Events.Net
|
||||
{
|
||||
public class PlayerDestroyedEvent : IGameEvent
|
||||
{
|
||||
public PlayerDestroyedEvent(IGame game, InnerPlayerControl playerControl)
|
||||
public PlayerDestroyedEvent(IGame game, IInnerPlayerControl playerControl)
|
||||
{
|
||||
Game = game;
|
||||
PlayerControl = playerControl;
|
||||
@@ -13,6 +13,6 @@ namespace Impostor.Api.Events.Net
|
||||
|
||||
public IGame Game { get; }
|
||||
|
||||
public InnerPlayerControl PlayerControl { get; }
|
||||
public IInnerPlayerControl PlayerControl { get; }
|
||||
}
|
||||
}
|
||||
@@ -1,11 +1,11 @@
|
||||
using Impostor.Api.Games;
|
||||
using Impostor.Api.Innersloth.Net.Objects;
|
||||
using Impostor.Api.Net.Inner.Objects;
|
||||
|
||||
namespace Impostor.Api.Events.Net
|
||||
{
|
||||
public class PlayerSpawnedEvent : IGameEvent
|
||||
{
|
||||
public PlayerSpawnedEvent(IGame game, InnerPlayerControl playerControl)
|
||||
public PlayerSpawnedEvent(IGame game, IInnerPlayerControl playerControl)
|
||||
{
|
||||
Game = game;
|
||||
PlayerControl = playerControl;
|
||||
@@ -13,6 +13,6 @@ namespace Impostor.Api.Events.Net
|
||||
|
||||
public IGame Game { get; }
|
||||
|
||||
public InnerPlayerControl PlayerControl { get; }
|
||||
public IInnerPlayerControl PlayerControl { get; }
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
using Impostor.Api.Innersloth.Net.Objects.Systems;
|
||||
using Impostor.Api.Innersloth;
|
||||
|
||||
namespace Impostor.Api
|
||||
{
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using System.Linq;
|
||||
using Impostor.Api.Games.Managers;
|
||||
using Impostor.Api.Innersloth.Data;
|
||||
using Impostor.Api.Innersloth;
|
||||
|
||||
namespace Impostor.Api.Games
|
||||
{
|
||||
|
||||
@@ -2,9 +2,8 @@
|
||||
using System.Net;
|
||||
using System.Threading.Tasks;
|
||||
using Impostor.Api.Innersloth;
|
||||
using Impostor.Api.Innersloth.Data;
|
||||
using Impostor.Api.Innersloth.Net;
|
||||
using Impostor.Api.Net;
|
||||
using Impostor.Api.Net.Inner;
|
||||
using Impostor.Api.Net.Messages;
|
||||
|
||||
namespace Impostor.Api.Games
|
||||
@@ -35,9 +34,6 @@ namespace Impostor.Api.Games
|
||||
|
||||
IClientPlayer GetClientPlayer(int clientId);
|
||||
|
||||
T FindObjectByNetId<T>(uint netId)
|
||||
where T : InnerNetObject;
|
||||
|
||||
/// <summary>
|
||||
/// Send the message to all players.
|
||||
/// </summary>
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
namespace Impostor.Api.Innersloth
|
||||
{
|
||||
public enum AlterGameTags : byte
|
||||
{
|
||||
ChangePrivacy = 1,
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
namespace Impostor.Api.Innersloth.Data
|
||||
namespace Impostor.Api.Innersloth
|
||||
{
|
||||
public enum ChatNoteType : byte
|
||||
{
|
||||
@@ -1,7 +0,0 @@
|
||||
namespace Impostor.Api.Innersloth.Data
|
||||
{
|
||||
public enum AlterGameTags : byte
|
||||
{
|
||||
ChangePrivacy = 1
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
namespace Impostor.Api.Innersloth.Data
|
||||
namespace Impostor.Api.Innersloth
|
||||
{
|
||||
public enum DeathReason
|
||||
{
|
||||
Exile = 0,
|
||||
Kill = 1,
|
||||
Disconnect = 2
|
||||
Disconnect = 2,
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
namespace Impostor.Api.Innersloth.Data
|
||||
namespace Impostor.Api.Innersloth
|
||||
{
|
||||
public enum DisconnectReason
|
||||
{
|
||||
@@ -49,6 +49,6 @@
|
||||
FocusLostBackground = 207,
|
||||
IntentionalLeaving = 208,
|
||||
FocusLost = 209,
|
||||
NewConnection = 210
|
||||
NewConnection = 210,
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
using System;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Data
|
||||
namespace Impostor.Api.Innersloth
|
||||
{
|
||||
[Flags]
|
||||
public enum GameKeywords : uint
|
||||
@@ -14,6 +14,6 @@ namespace Impostor.Api.Innersloth.Data
|
||||
Arabic = 32,
|
||||
Filipone = 64,
|
||||
Polish = 128,
|
||||
English = 256
|
||||
English = 256,
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,5 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using Impostor.Api.Innersloth.Data;
|
||||
using Impostor.Api.Net.Messages;
|
||||
|
||||
namespace Impostor.Api.Innersloth
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
namespace Impostor.Api.Innersloth.Data
|
||||
namespace Impostor.Api.Innersloth
|
||||
{
|
||||
public enum GameStates : byte
|
||||
{
|
||||
+2
-2
@@ -1,12 +1,12 @@
|
||||
using System;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Data
|
||||
namespace Impostor.Api.Innersloth
|
||||
{
|
||||
[Flags]
|
||||
public enum MapFlags
|
||||
{
|
||||
Skeld = 1,
|
||||
MiraHQ = 2,
|
||||
Polus = 4
|
||||
Polus = 4,
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace Impostor.Api.Innersloth.Data
|
||||
namespace Impostor.Api.Innersloth
|
||||
{
|
||||
public static class MapId
|
||||
{
|
||||
@@ -1,16 +0,0 @@
|
||||
using Impostor.Api.Innersloth.Net.Objects;
|
||||
using Impostor.Api.Innersloth.Net.Objects.Components;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Net
|
||||
{
|
||||
public interface IGameNet
|
||||
{
|
||||
InnerLobbyBehaviour LobbyBehaviour { get; }
|
||||
|
||||
InnerGameData GameData { get; }
|
||||
|
||||
InnerVoteBanSystem VoteBan { get; }
|
||||
|
||||
InnerShipStatus ShipStatus { get; }
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Net.Objects.Systems
|
||||
namespace Impostor.Api.Innersloth
|
||||
{
|
||||
internal class SystemTypeHelpers
|
||||
{
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
namespace Impostor.Api.Innersloth.Net.Objects.Systems
|
||||
namespace Impostor.Api.Innersloth
|
||||
{
|
||||
public enum SystemTypes : byte
|
||||
{
|
||||
@@ -1,7 +1,7 @@
|
||||
using System.Threading.Tasks;
|
||||
using Impostor.Api.Games;
|
||||
using Impostor.Api.Innersloth.Net;
|
||||
using Impostor.Api.Innersloth.Net.Objects;
|
||||
using Impostor.Api.Net.Inner;
|
||||
using Impostor.Api.Net.Inner.Objects;
|
||||
|
||||
namespace Impostor.Api.Net
|
||||
{
|
||||
@@ -25,16 +25,16 @@ namespace Impostor.Api.Net
|
||||
/// </summary>
|
||||
LimboStates Limbo { get; set; }
|
||||
|
||||
InnerPlayerControl Character { get; }
|
||||
IInnerPlayerControl Character { get; }
|
||||
|
||||
public bool IsHost { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Checks if the specified <see cref="InnerNetObject"/> is owned by <see cref="IClientPlayer"/>.
|
||||
/// Checks if the specified <see cref="IInnerNetObject"/> is owned by <see cref="IClientPlayer"/>.
|
||||
/// </summary>
|
||||
/// <param name="netObject">The <see cref="InnerNetObject"/>.</param>
|
||||
/// <param name="netObject">The <see cref="IInnerNetObject"/>.</param>
|
||||
/// <returns>Returns true if owned by <see cref="IClientPlayer"/>.</returns>
|
||||
bool IsOwner(InnerNetObject netObject);
|
||||
bool IsOwner(IInnerNetObject netObject);
|
||||
|
||||
ValueTask KickAsync();
|
||||
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
using Impostor.Api.Net.Inner.Objects;
|
||||
|
||||
namespace Impostor.Api.Net.Inner
|
||||
{
|
||||
/// <summary>
|
||||
/// Holds all data that is serialized over the network through GameData packets.
|
||||
/// </summary>
|
||||
public interface IGameNet
|
||||
{
|
||||
IInnerLobbyBehaviour LobbyBehaviour { get; }
|
||||
|
||||
IInnerGameData GameData { get; }
|
||||
|
||||
IInnerVoteBanSystem VoteBan { get; }
|
||||
|
||||
IInnerShipStatus ShipStatus { get; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
namespace Impostor.Api.Net.Inner
|
||||
{
|
||||
public interface IInnerNetObject
|
||||
{
|
||||
public uint NetId { get; }
|
||||
|
||||
public int OwnerId { get; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
namespace Impostor.Api.Net.Inner.Objects
|
||||
{
|
||||
public interface IInnerGameData : IInnerNetObject
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
namespace Impostor.Api.Net.Inner.Objects
|
||||
{
|
||||
public interface IInnerLobbyBehaviour : IInnerNetObject
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
namespace Impostor.Api.Net.Inner.Objects
|
||||
{
|
||||
public interface IInnerPlayerControl
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
namespace Impostor.Api.Net.Inner.Objects
|
||||
{
|
||||
public interface IInnerShipStatus : IInnerNetObject
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
namespace Impostor.Api.Net.Inner.Objects
|
||||
{
|
||||
public interface IInnerVoteBanSystem : IInnerNetObject
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -8,6 +8,6 @@ namespace Impostor.Api.Net
|
||||
PreSpawn = 1,
|
||||
NotLimbo = 2,
|
||||
WaitingForHost = 4,
|
||||
All = PreSpawn | NotLimbo | WaitingForHost
|
||||
All = PreSpawn | NotLimbo | WaitingForHost,
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
using Impostor.Api.Innersloth.Data;
|
||||
using Impostor.Api.Innersloth;
|
||||
|
||||
namespace Impostor.Api.Net.Messages.C2S
|
||||
{
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
using System;
|
||||
using Impostor.Api.Innersloth.Data;
|
||||
using Impostor.Api.Innersloth;
|
||||
|
||||
namespace Impostor.Api.Net.Messages.S2C
|
||||
{
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using Impostor.Api.Innersloth.Data;
|
||||
using Impostor.Api.Innersloth;
|
||||
|
||||
namespace Impostor.Api.Net.Messages.S2C
|
||||
{
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using Impostor.Api.Innersloth.Data;
|
||||
using Impostor.Api.Innersloth;
|
||||
|
||||
namespace Impostor.Api.Net.Messages.S2C
|
||||
{
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
using System.Threading.Tasks;
|
||||
using Impostor.Api.Events;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
|
||||
namespace Impostor.Api.Plugins
|
||||
{
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
using System.Collections.Concurrent;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Threading.Tasks;
|
||||
using Impostor.Api.Events;
|
||||
using Impostor.Api.Events.Managers;
|
||||
|
||||
@@ -4,7 +4,6 @@ using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using Impostor.Api.Events;
|
||||
|
||||
namespace Impostor.Server.Events.Register
|
||||
{
|
||||
|
||||
+6
-6
@@ -1,12 +1,12 @@
|
||||
using Impostor.Api.Games;
|
||||
using Impostor.Api.Innersloth.Net;
|
||||
using Impostor.Api.Net.Messages;
|
||||
using Impostor.Api.Net.Messages;
|
||||
using Impostor.Server.Net.Inner;
|
||||
using Impostor.Server.Net.State;
|
||||
|
||||
namespace Impostor.Api
|
||||
namespace Impostor.Server
|
||||
{
|
||||
public static class MessageReaderExtensions
|
||||
internal static class MessageReaderExtensions
|
||||
{
|
||||
public static T ReadNetObject<T>(this IMessageReader reader, IGame game)
|
||||
public static T ReadNetObject<T>(this IMessageReader reader, Game game)
|
||||
where T : InnerNetObject
|
||||
{
|
||||
return game.FindObjectByNetId<T>(reader.ReadPackedUInt32());
|
||||
@@ -1,13 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
using System.Threading.Tasks;
|
||||
using Impostor.Server.Net.Redirector;
|
||||
|
||||
namespace Impostor.Server.Extensions
|
||||
namespace Impostor.Server
|
||||
{
|
||||
public static class NodeLocatorExtensions
|
||||
{
|
||||
|
||||
@@ -3,14 +3,12 @@ using System.Threading.Tasks;
|
||||
using Impostor.Api;
|
||||
using Impostor.Api.Games;
|
||||
using Impostor.Api.Innersloth;
|
||||
using Impostor.Api.Innersloth.Data;
|
||||
using Impostor.Api.Net;
|
||||
using Impostor.Api.Net.Messages;
|
||||
using Impostor.Api.Net.Messages.C2S;
|
||||
using Impostor.Api.Net.Messages.S2C;
|
||||
using Impostor.Hazel;
|
||||
using Impostor.Server.Config;
|
||||
using Impostor.Server.Net.Hazel;
|
||||
using Impostor.Server.Net.Manager;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
using System;
|
||||
using Impostor.Api.Net;
|
||||
using Impostor.Server.Net.Hazel;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
|
||||
namespace Impostor.Server.Net.Factories
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
namespace Impostor.Api.Innersloth.Net
|
||||
namespace Impostor.Server.Net.Inner
|
||||
{
|
||||
public static class GameDataTag
|
||||
{
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Net
|
||||
namespace Impostor.Server.Net.Inner
|
||||
{
|
||||
public class GameObject
|
||||
internal class GameObject
|
||||
{
|
||||
public GameObject()
|
||||
{
|
||||
+5
-3
@@ -1,10 +1,12 @@
|
||||
using System.Threading.Tasks;
|
||||
using Impostor.Api.Net;
|
||||
using Impostor.Api.Net.Inner;
|
||||
using Impostor.Api.Net.Messages;
|
||||
using Impostor.Server.Net.State;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Net
|
||||
namespace Impostor.Server.Net.Inner
|
||||
{
|
||||
public abstract class InnerNetObject : GameObject
|
||||
internal abstract class InnerNetObject : GameObject, IInnerNetObject
|
||||
{
|
||||
private const int HostInheritId = -2;
|
||||
|
||||
@@ -14,7 +16,7 @@ namespace Impostor.Api.Innersloth.Net
|
||||
|
||||
public SpawnFlags SpawnFlags { get; internal set; }
|
||||
|
||||
public abstract ValueTask HandleRpc(IClientPlayer sender, IClientPlayer? target, RpcCalls call, IMessageReader reader);
|
||||
public abstract ValueTask HandleRpc(ClientPlayer sender, ClientPlayer? target, RpcCalls call, IMessageReader reader);
|
||||
|
||||
public abstract bool Serialize(IMessageWriter writer, bool initialState);
|
||||
|
||||
+7
-5
@@ -1,13 +1,15 @@
|
||||
using System;
|
||||
using System.Numerics;
|
||||
using System.Numerics;
|
||||
using System.Threading.Tasks;
|
||||
using Impostor.Api;
|
||||
using Impostor.Api.Innersloth;
|
||||
using Impostor.Api.Net;
|
||||
using Impostor.Api.Net.Messages;
|
||||
using Impostor.Server.Net.State;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Net.Objects.Components
|
||||
namespace Impostor.Server.Net.Inner.Objects.Components
|
||||
{
|
||||
public class InnerCustomNetworkTransform : InnerNetObject
|
||||
internal class InnerCustomNetworkTransform : InnerNetObject
|
||||
{
|
||||
private static readonly FloatRange XRange = new FloatRange(-40f, 40f);
|
||||
private static readonly FloatRange YRange = new FloatRange(-40f, 40f);
|
||||
@@ -46,7 +48,7 @@ namespace Impostor.Api.Innersloth.Net.Objects.Components
|
||||
return new Vector2(XRange.Lerp(v1), YRange.Lerp(v2));
|
||||
}
|
||||
|
||||
public override ValueTask HandleRpc(IClientPlayer sender, IClientPlayer? target, RpcCalls call, IMessageReader reader)
|
||||
public override ValueTask HandleRpc(ClientPlayer sender, ClientPlayer? target, RpcCalls call, IMessageReader reader)
|
||||
{
|
||||
if (call == RpcCalls.SnapTo)
|
||||
{
|
||||
+5
-3
@@ -1,12 +1,14 @@
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using Impostor.Api;
|
||||
using Impostor.Api.Net;
|
||||
using Impostor.Api.Net.Messages;
|
||||
using Impostor.Server.Net.State;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Net.Objects.Components
|
||||
namespace Impostor.Server.Net.Inner.Objects.Components
|
||||
{
|
||||
public class InnerPlayerPhysics : InnerNetObject
|
||||
internal class InnerPlayerPhysics : InnerNetObject
|
||||
{
|
||||
private readonly ILogger<InnerPlayerPhysics> _logger;
|
||||
|
||||
@@ -15,7 +17,7 @@ namespace Impostor.Api.Innersloth.Net.Objects.Components
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
public override ValueTask HandleRpc(IClientPlayer sender, IClientPlayer? target, RpcCalls call, IMessageReader reader)
|
||||
public override ValueTask HandleRpc(ClientPlayer sender, ClientPlayer? target, RpcCalls call, IMessageReader reader)
|
||||
{
|
||||
if (call != RpcCalls.EnterVent && call != RpcCalls.ExitVent)
|
||||
{
|
||||
+6
-3
@@ -1,13 +1,16 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Impostor.Api;
|
||||
using Impostor.Api.Net;
|
||||
using Impostor.Api.Net.Inner.Objects;
|
||||
using Impostor.Api.Net.Messages;
|
||||
using Impostor.Server.Net.State;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Net.Objects.Components
|
||||
namespace Impostor.Server.Net.Inner.Objects.Components
|
||||
{
|
||||
public class InnerVoteBanSystem : InnerNetObject
|
||||
internal class InnerVoteBanSystem : InnerNetObject, IInnerVoteBanSystem
|
||||
{
|
||||
private readonly ILogger<InnerVoteBanSystem> _logger;
|
||||
private readonly Dictionary<int, int[]> _votes;
|
||||
@@ -18,7 +21,7 @@ namespace Impostor.Api.Innersloth.Net.Objects.Components
|
||||
_votes = new Dictionary<int, int[]>();
|
||||
}
|
||||
|
||||
public override ValueTask HandleRpc(IClientPlayer sender, IClientPlayer? target, RpcCalls call, IMessageReader reader)
|
||||
public override ValueTask HandleRpc(ClientPlayer sender, ClientPlayer? target, RpcCalls call, IMessageReader reader)
|
||||
{
|
||||
if (call != RpcCalls.AddVote)
|
||||
{
|
||||
+3
-3
@@ -1,11 +1,11 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Impostor.Api.Innersloth.Data;
|
||||
using Impostor.Api.Innersloth;
|
||||
using Impostor.Api.Net.Messages;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Net.Objects
|
||||
namespace Impostor.Server.Net.Inner.Objects
|
||||
{
|
||||
public partial class InnerGameData
|
||||
internal partial class InnerGameData
|
||||
{
|
||||
public class PlayerInfo
|
||||
{
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
using Impostor.Api.Net.Messages;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Net.Objects
|
||||
namespace Impostor.Server.Net.Inner.Objects
|
||||
{
|
||||
public partial class InnerGameData
|
||||
internal partial class InnerGameData
|
||||
{
|
||||
public class TaskInfo
|
||||
{
|
||||
+10
-7
@@ -2,22 +2,24 @@
|
||||
using System.Collections.Concurrent;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Impostor.Api.Games;
|
||||
using Impostor.Api.Innersloth.Net.Objects.Components;
|
||||
using Impostor.Api;
|
||||
using Impostor.Api.Net;
|
||||
using Impostor.Api.Net.Inner.Objects;
|
||||
using Impostor.Api.Net.Messages;
|
||||
using Impostor.Server.Net.Inner.Objects.Components;
|
||||
using Impostor.Server.Net.State;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Net.Objects
|
||||
namespace Impostor.Server.Net.Inner.Objects
|
||||
{
|
||||
public partial class InnerGameData : InnerNetObject
|
||||
internal partial class InnerGameData : InnerNetObject, IInnerGameData
|
||||
{
|
||||
private readonly ILogger<InnerGameData> _logger;
|
||||
private readonly IGame _game;
|
||||
private readonly Game _game;
|
||||
private readonly ConcurrentDictionary<byte, PlayerInfo> _allPlayers;
|
||||
|
||||
public InnerGameData(ILogger<InnerGameData> logger, IGame game, IServiceProvider serviceProvider)
|
||||
public InnerGameData(ILogger<InnerGameData> logger, Game game, IServiceProvider serviceProvider)
|
||||
{
|
||||
_logger = logger;
|
||||
_game = game;
|
||||
@@ -41,7 +43,8 @@ namespace Impostor.Api.Innersloth.Net.Objects
|
||||
return _allPlayers.TryGetValue(id, out var player) ? player : null;
|
||||
}
|
||||
|
||||
public override ValueTask HandleRpc(IClientPlayer sender, IClientPlayer? target, RpcCalls call, IMessageReader reader)
|
||||
public override ValueTask HandleRpc(ClientPlayer sender, ClientPlayer? target, RpcCalls call,
|
||||
IMessageReader reader)
|
||||
{
|
||||
switch (call)
|
||||
{
|
||||
+5
-4
@@ -1,11 +1,13 @@
|
||||
using System.Threading.Tasks;
|
||||
using Impostor.Api.Games;
|
||||
using Impostor.Api.Net;
|
||||
using Impostor.Api.Net.Inner.Objects;
|
||||
using Impostor.Api.Net.Messages;
|
||||
using Impostor.Server.Net.State;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Net.Objects
|
||||
namespace Impostor.Server.Net.Inner.Objects
|
||||
{
|
||||
public class InnerLobbyBehaviour : InnerNetObject
|
||||
internal class InnerLobbyBehaviour : InnerNetObject, IInnerLobbyBehaviour
|
||||
{
|
||||
private readonly IGame _game;
|
||||
|
||||
@@ -16,8 +18,7 @@ namespace Impostor.Api.Innersloth.Net.Objects
|
||||
Components.Add(this);
|
||||
}
|
||||
|
||||
public override ValueTask HandleRpc(IClientPlayer sender, IClientPlayer? target, RpcCalls call,
|
||||
IMessageReader reader)
|
||||
public override ValueTask HandleRpc(ClientPlayer sender, ClientPlayer? target, RpcCalls call, IMessageReader reader)
|
||||
{
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
using Impostor.Api.Net.Messages;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Net.Objects
|
||||
namespace Impostor.Server.Net.Inner.Objects
|
||||
{
|
||||
public partial class InnerMeetingHud
|
||||
internal partial class InnerMeetingHud
|
||||
{
|
||||
public class PlayerVoteArea
|
||||
{
|
||||
+9
-7
@@ -1,21 +1,22 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Impostor.Api.Games;
|
||||
using Impostor.Api;
|
||||
using Impostor.Api.Net;
|
||||
using Impostor.Api.Net.Messages;
|
||||
using Impostor.Server.Net.State;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Net.Objects
|
||||
namespace Impostor.Server.Net.Inner.Objects
|
||||
{
|
||||
public partial class InnerMeetingHud : InnerNetObject
|
||||
internal partial class InnerMeetingHud : InnerNetObject
|
||||
{
|
||||
private readonly ILogger<InnerMeetingHud> _logger;
|
||||
private readonly IGame _game;
|
||||
private readonly IGameNet _gameNet;
|
||||
private readonly Game _game;
|
||||
private readonly GameNet _gameNet;
|
||||
private PlayerVoteArea[] _playerStates;
|
||||
|
||||
public InnerMeetingHud(ILogger<InnerMeetingHud> logger, IGame game)
|
||||
public InnerMeetingHud(ILogger<InnerMeetingHud> logger, Game game)
|
||||
{
|
||||
_logger = logger;
|
||||
_game = game;
|
||||
@@ -39,7 +40,8 @@ namespace Impostor.Api.Innersloth.Net.Objects
|
||||
.ToArray();
|
||||
}
|
||||
|
||||
public override ValueTask HandleRpc(IClientPlayer sender, IClientPlayer? target, RpcCalls call, IMessageReader reader)
|
||||
public override ValueTask HandleRpc(ClientPlayer sender, ClientPlayer? target, RpcCalls call,
|
||||
IMessageReader reader)
|
||||
{
|
||||
switch (call)
|
||||
{
|
||||
+11
-8
@@ -1,24 +1,26 @@
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using Impostor.Api;
|
||||
using Impostor.Api.Events.Managers;
|
||||
using Impostor.Api.Events.Net;
|
||||
using Impostor.Api.Games;
|
||||
using Impostor.Api.Innersloth.Data;
|
||||
using Impostor.Api.Innersloth.Net.Objects.Components;
|
||||
using Impostor.Api.Innersloth;
|
||||
using Impostor.Api.Net;
|
||||
using Impostor.Api.Net.Inner.Objects;
|
||||
using Impostor.Api.Net.Messages;
|
||||
using Impostor.Server.Net.Inner.Objects.Components;
|
||||
using Impostor.Server.Net.State;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Net.Objects
|
||||
namespace Impostor.Server.Net.Inner.Objects
|
||||
{
|
||||
public class InnerPlayerControl : InnerNetObject
|
||||
internal class InnerPlayerControl : InnerNetObject, IInnerPlayerControl
|
||||
{
|
||||
private readonly ILogger<InnerPlayerControl> _logger;
|
||||
private readonly IEventManager _eventManager;
|
||||
private readonly IGame _game;
|
||||
private readonly Game _game;
|
||||
|
||||
public InnerPlayerControl(ILogger<InnerPlayerControl> logger, IServiceProvider serviceProvider, IEventManager eventManager, IGame game)
|
||||
public InnerPlayerControl(ILogger<InnerPlayerControl> logger, IServiceProvider serviceProvider, IEventManager eventManager, Game game)
|
||||
{
|
||||
_logger = logger;
|
||||
_eventManager = eventManager;
|
||||
@@ -37,7 +39,8 @@ namespace Impostor.Api.Innersloth.Net.Objects
|
||||
|
||||
public InnerGameData.PlayerInfo PlayerInfo { get; internal set; }
|
||||
|
||||
public override async ValueTask HandleRpc(IClientPlayer sender, IClientPlayer? target, RpcCalls call, IMessageReader reader)
|
||||
public override async ValueTask HandleRpc(ClientPlayer sender, ClientPlayer? target, RpcCalls call,
|
||||
IMessageReader reader)
|
||||
{
|
||||
switch (call)
|
||||
{
|
||||
+12
-8
@@ -1,22 +1,25 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Impostor.Api.Games;
|
||||
using Impostor.Api.Innersloth.Net.Objects.Systems;
|
||||
using Impostor.Api.Innersloth.Net.Objects.Systems.ShipStatus;
|
||||
using Impostor.Api;
|
||||
using Impostor.Api.Innersloth;
|
||||
using Impostor.Api.Net;
|
||||
using Impostor.Api.Net.Inner.Objects;
|
||||
using Impostor.Api.Net.Messages;
|
||||
using Impostor.Server.Net.Inner.Objects.Systems;
|
||||
using Impostor.Server.Net.Inner.Objects.Systems.ShipStatus;
|
||||
using Impostor.Server.Net.State;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Net.Objects
|
||||
namespace Impostor.Server.Net.Inner.Objects
|
||||
{
|
||||
public class InnerShipStatus : InnerNetObject
|
||||
internal class InnerShipStatus : InnerNetObject, IInnerShipStatus
|
||||
{
|
||||
private readonly ILogger<InnerShipStatus> _logger;
|
||||
private readonly IGame _game;
|
||||
private readonly Game _game;
|
||||
private readonly Dictionary<SystemTypes, ISystemType> _systems;
|
||||
|
||||
public InnerShipStatus(ILogger<InnerShipStatus> logger, IGame game)
|
||||
public InnerShipStatus(ILogger<InnerShipStatus> logger, Game game)
|
||||
{
|
||||
_logger = logger;
|
||||
_game = game;
|
||||
@@ -43,7 +46,8 @@ namespace Impostor.Api.Innersloth.Net.Objects
|
||||
Components.Add(this);
|
||||
}
|
||||
|
||||
public override ValueTask HandleRpc(IClientPlayer sender, IClientPlayer? target, RpcCalls call, IMessageReader reader)
|
||||
public override ValueTask HandleRpc(ClientPlayer sender, ClientPlayer? target, RpcCalls call,
|
||||
IMessageReader reader)
|
||||
{
|
||||
switch (call)
|
||||
{
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
namespace Impostor.Api.Innersloth.Net.Objects.Systems
|
||||
namespace Impostor.Server.Net.Inner.Objects.Systems
|
||||
{
|
||||
public interface IActivatable
|
||||
{
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
using Impostor.Api.Net.Messages;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Net.Objects.Systems
|
||||
namespace Impostor.Server.Net.Inner.Objects.Systems
|
||||
{
|
||||
public interface ISystemType
|
||||
{
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Impostor.Api.Games;
|
||||
using Impostor.Api.Innersloth.Data;
|
||||
using Impostor.Api.Innersloth;
|
||||
using Impostor.Api.Net.Messages;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Net.Objects.Systems.ShipStatus
|
||||
namespace Impostor.Server.Net.Inner.Objects.Systems.ShipStatus
|
||||
{
|
||||
public class DoorsSystemType : ISystemType
|
||||
{
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
using Impostor.Api.Net.Messages;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Net.Objects.Systems.ShipStatus
|
||||
namespace Impostor.Server.Net.Inner.Objects.Systems.ShipStatus
|
||||
{
|
||||
public class HudOverrideSystemType : ISystemType, IActivatable
|
||||
{
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using Impostor.Api.Net.Messages;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Net.Objects.Systems.ShipStatus
|
||||
namespace Impostor.Server.Net.Inner.Objects.Systems.ShipStatus
|
||||
{
|
||||
public class LifeSuppSystemType : ISystemType, IActivatable
|
||||
{
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using Impostor.Api.Net.Messages;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Net.Objects.Systems.ShipStatus
|
||||
namespace Impostor.Server.Net.Inner.Objects.Systems.ShipStatus
|
||||
{
|
||||
public class MedScanSystem : ISystemType
|
||||
{
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
using System.Collections.Generic;
|
||||
using Impostor.Api.Net.Messages;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Net.Objects.Systems.ShipStatus
|
||||
namespace Impostor.Server.Net.Inner.Objects.Systems.ShipStatus
|
||||
{
|
||||
public class ReactorSystemType : ISystemType, IActivatable
|
||||
{
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
using Impostor.Api.Net.Messages;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Net.Objects.Systems.ShipStatus
|
||||
namespace Impostor.Server.Net.Inner.Objects.Systems.ShipStatus
|
||||
{
|
||||
public class SabotageSystemType : ISystemType
|
||||
{
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
using Impostor.Api.Net.Messages;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Net.Objects.Systems.ShipStatus
|
||||
namespace Impostor.Server.Net.Inner.Objects.Systems.ShipStatus
|
||||
{
|
||||
public class SecurityCameraSystemType : ISystemType
|
||||
{
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
using Impostor.Api.Net.Messages;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Net.Objects.Systems.ShipStatus
|
||||
namespace Impostor.Server.Net.Inner.Objects.Systems.ShipStatus
|
||||
{
|
||||
public class SwitchSystem : ISystemType, IActivatable
|
||||
{
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
namespace Impostor.Api.Innersloth.Net
|
||||
namespace Impostor.Server.Net.Inner
|
||||
{
|
||||
public enum RpcCalls : byte
|
||||
{
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
using System;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Net
|
||||
namespace Impostor.Server.Net.Inner
|
||||
{
|
||||
[Flags]
|
||||
public enum SpawnFlags : byte
|
||||
@@ -3,7 +3,6 @@ using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Impostor.Api.Innersloth;
|
||||
using Impostor.Api.Innersloth.Data;
|
||||
using Impostor.Api.Net;
|
||||
using Impostor.Api.Net.Manager;
|
||||
using Impostor.Api.Net.Messages;
|
||||
@@ -11,7 +10,6 @@ using Impostor.Api.Net.Messages.S2C;
|
||||
using Impostor.Hazel;
|
||||
using Impostor.Server.Config;
|
||||
using Impostor.Server.Net.Factories;
|
||||
using Impostor.Server.Net.Hazel;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace Impostor.Server.Net.Manager
|
||||
|
||||
@@ -10,9 +10,7 @@ using Impostor.Api.Events.Managers;
|
||||
using Impostor.Api.Games;
|
||||
using Impostor.Api.Games.Managers;
|
||||
using Impostor.Api.Innersloth;
|
||||
using Impostor.Api.Innersloth.Data;
|
||||
using Impostor.Server.Config;
|
||||
using Impostor.Server.Extensions;
|
||||
using Impostor.Server.Net.Redirector;
|
||||
using Impostor.Server.Net.State;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
using System.Threading.Tasks;
|
||||
using Impostor.Api.Innersloth;
|
||||
using Impostor.Api.Innersloth.Data;
|
||||
using Impostor.Api.Net.Messages;
|
||||
using Impostor.Api.Net.Messages.C2S;
|
||||
using Impostor.Api.Net.Messages.S2C;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using Impostor.Api.Games;
|
||||
using Impostor.Api.Net;
|
||||
using Impostor.Api.Net.Inner.Objects;
|
||||
|
||||
namespace Impostor.Server.Net.State
|
||||
{
|
||||
@@ -10,5 +11,8 @@ namespace Impostor.Server.Net.State
|
||||
|
||||
/// <inheritdoc />
|
||||
IGame IClientPlayer.Game => Game;
|
||||
|
||||
/// <inheritdoc />
|
||||
IInnerPlayerControl IClientPlayer.Character => Character;
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Impostor.Api.Innersloth.Net;
|
||||
using Impostor.Api.Innersloth.Net.Objects;
|
||||
using Impostor.Api.Net;
|
||||
using Impostor.Api.Net.Inner;
|
||||
using Impostor.Server.Net.Inner.Objects;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace Impostor.Server.Net.State
|
||||
@@ -48,7 +48,7 @@ namespace Impostor.Server.Net.State
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public bool IsOwner(InnerNetObject netObject)
|
||||
public bool IsOwner(IInnerNetObject netObject)
|
||||
{
|
||||
return Client.Id == netObject.OwnerId;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using Impostor.Api.Games;
|
||||
using Impostor.Api.Innersloth.Net;
|
||||
using Impostor.Api.Net;
|
||||
using Impostor.Api.Net.Inner;
|
||||
|
||||
namespace Impostor.Server.Net.State
|
||||
{
|
||||
|
||||
@@ -4,13 +4,13 @@ using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Impostor.Api;
|
||||
using Impostor.Api.Events.Net;
|
||||
using Impostor.Api.Innersloth.Data;
|
||||
using Impostor.Api.Innersloth.Net;
|
||||
using Impostor.Api.Innersloth.Net.Objects;
|
||||
using Impostor.Api.Innersloth.Net.Objects.Components;
|
||||
using Impostor.Api.Innersloth;
|
||||
using Impostor.Api.Net.Messages;
|
||||
using Impostor.Api.Net.Messages.S2C;
|
||||
using Impostor.Hazel;
|
||||
using Impostor.Server.Net.Inner;
|
||||
using Impostor.Server.Net.Inner.Objects;
|
||||
using Impostor.Server.Net.Inner.Objects.Components;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
@@ -237,7 +237,7 @@ namespace Impostor.Server.Net.State
|
||||
var netId = reader.ReadPackedUInt32();
|
||||
if (_allObjectsFast.TryGetValue(netId, out var obj))
|
||||
{
|
||||
obj.HandleRpc(sender, target, (RpcCalls) reader.ReadByte(), reader);
|
||||
await obj.HandleRpc(sender, target, (RpcCalls) reader.ReadByte(), reader);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Impostor.Api.Games;
|
||||
using Impostor.Api.Innersloth.Data;
|
||||
using Impostor.Api.Innersloth;
|
||||
using Impostor.Api.Net;
|
||||
using Impostor.Api.Net.Messages;
|
||||
using Impostor.Hazel;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Impostor.Api.Innersloth.Data;
|
||||
using Impostor.Api.Innersloth;
|
||||
using Impostor.Api.Net;
|
||||
using Impostor.Api.Net.Messages;
|
||||
using Impostor.Api.Net.Messages.S2C;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
using System.Threading.Tasks;
|
||||
using Impostor.Api;
|
||||
using Impostor.Api.Events;
|
||||
using Impostor.Api.Innersloth.Data;
|
||||
using Impostor.Api.Innersloth;
|
||||
using Impostor.Api.Net;
|
||||
using Impostor.Api.Net.Messages;
|
||||
using Impostor.Hazel;
|
||||
|
||||
@@ -7,8 +7,6 @@ using System.Threading.Tasks;
|
||||
using Impostor.Api.Events.Managers;
|
||||
using Impostor.Api.Games;
|
||||
using Impostor.Api.Innersloth;
|
||||
using Impostor.Api.Innersloth.Data;
|
||||
using Impostor.Api.Innersloth.Net;
|
||||
using Impostor.Api.Net;
|
||||
using Impostor.Api.Net.Messages;
|
||||
using Impostor.Api.Net.Messages.S2C;
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
using Impostor.Api.Net.Inner;
|
||||
using Impostor.Api.Net.Inner.Objects;
|
||||
|
||||
namespace Impostor.Server.Net.State
|
||||
{
|
||||
/// <inheritdoc />
|
||||
internal partial class GameNet : IGameNet
|
||||
{
|
||||
IInnerLobbyBehaviour IGameNet.LobbyBehaviour => LobbyBehaviour;
|
||||
|
||||
IInnerGameData IGameNet.GameData => GameData;
|
||||
|
||||
IInnerVoteBanSystem IGameNet.VoteBan => VoteBan;
|
||||
|
||||
IInnerShipStatus IGameNet.ShipStatus => ShipStatus;
|
||||
}
|
||||
}
|
||||
@@ -1,13 +1,9 @@
|
||||
using Impostor.Api.Innersloth.Net;
|
||||
using Impostor.Api.Innersloth.Net.Objects;
|
||||
using Impostor.Api.Innersloth.Net.Objects.Components;
|
||||
using Impostor.Server.Net.Inner.Objects;
|
||||
using Impostor.Server.Net.Inner.Objects.Components;
|
||||
|
||||
namespace Impostor.Server.Net.State
|
||||
{
|
||||
/// <summary>
|
||||
/// Holds all data that is serialized over the network through GameData packets.
|
||||
/// </summary>
|
||||
public class GameNet : IGameNet
|
||||
internal partial class GameNet
|
||||
{
|
||||
public InnerLobbyBehaviour LobbyBehaviour { get; internal set; }
|
||||
|
||||
|
||||
Reference in new issue
Block a user