Remove login from Impostor.Api assembly

This commit is contained in:
AeonLucid committed 2020-10-24 21:56:51 +02:00
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
{
+1 -5
View File
@@ -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,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
}
}
@@ -1,9 +1,9 @@
namespace Impostor.Api.Innersloth.Data
namespace Impostor.Api.Innersloth
{
public enum DeathReason
{
Exile = 0,
Kill = 1,
Disconnect = 2
Disconnect = 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,
}
}
@@ -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,4 +1,4 @@
namespace Impostor.Api.Innersloth.Data
namespace Impostor.Api.Innersloth
{
public enum GameStates : byte
{
@@ -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,7 +1,7 @@
using System;
using System.Linq;
namespace Impostor.Api.Innersloth.Net.Objects.Systems
namespace Impostor.Api.Innersloth
{
internal class SystemTypeHelpers
{
@@ -1,4 +1,4 @@
namespace Impostor.Api.Innersloth.Net.Objects.Systems
namespace Impostor.Api.Innersloth
{
public enum SystemTypes : byte
{
+6 -6
View File
@@ -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();
+18
View File
@@ -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
{
}
}
+1 -1
View File
@@ -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
{
-2
View File
@@ -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
{
@@ -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
{
-2
View File
@@ -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,4 +1,4 @@
namespace Impostor.Api.Innersloth.Net
namespace Impostor.Server.Net.Inner
{
public static class GameDataTag
{
@@ -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()
{
@@ -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);
@@ -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)
{
@@ -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)
{
@@ -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)
{
@@ -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
{
@@ -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
{
@@ -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)
{
@@ -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();
}
@@ -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
{
@@ -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)
{
@@ -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)
{
@@ -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,4 +1,4 @@
namespace Impostor.Api.Innersloth.Net.Objects.Systems
namespace Impostor.Server.Net.Inner.Objects.Systems
{
public interface IActivatable
{
@@ -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
{
@@ -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,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,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,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
{
@@ -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,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,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,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,4 +1,4 @@
namespace Impostor.Api.Innersloth.Net
namespace Impostor.Server.Net.Inner
{
public enum RpcCalls : byte
{
@@ -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 -1
View File
@@ -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
{
+5 -5
View File
@@ -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;
+1 -1
View File
@@ -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;
-2
View File
@@ -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;
}
}
+3 -7
View File
@@ -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; }