mirror of
https://github.com/Impostor/Impostor.git
synced 2026-10-20 01:46:11 +00:00
Expose PlayerName again to fix example plugin
This commit is contained in:
1 parent
58d00dc657
commit
94f19a38c5
7 files changed
+95
-78
No files matched your search
@@ -2,5 +2,6 @@
|
||||
{
|
||||
public interface IInnerPlayerControl
|
||||
{
|
||||
IInnerPlayerInfo PlayerInfo { get; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
namespace Impostor.Api.Net.Inner.Objects
|
||||
{
|
||||
public interface IInnerPlayerInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the name of the player as decided by the host.
|
||||
/// </summary>
|
||||
public string PlayerName { get; }
|
||||
}
|
||||
}
|
||||
@@ -1,67 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Impostor.Api.Innersloth;
|
||||
using Impostor.Api.Net.Messages;
|
||||
|
||||
namespace Impostor.Server.Net.Inner.Objects
|
||||
{
|
||||
internal partial class InnerGameData
|
||||
{
|
||||
public class PlayerInfo
|
||||
{
|
||||
public PlayerInfo(byte playerId)
|
||||
{
|
||||
PlayerId = playerId;
|
||||
}
|
||||
|
||||
public InnerPlayerControl Controller { get; internal set; }
|
||||
|
||||
public byte PlayerId { get; }
|
||||
|
||||
public string PlayerName { get; internal set; }
|
||||
|
||||
public byte ColorId { get; internal set; }
|
||||
|
||||
public uint HatId { get; internal set; }
|
||||
|
||||
public uint PetId { get; internal set; }
|
||||
|
||||
public uint SkinId { get; internal set; }
|
||||
|
||||
public bool Disconnected { get; internal set; }
|
||||
|
||||
public bool IsImpostor { get; internal set; }
|
||||
|
||||
public bool IsDead { get; internal set; }
|
||||
|
||||
public DeathReason LastDeathReason { get; internal set; }
|
||||
|
||||
public List<TaskInfo> Tasks { get; internal set; }
|
||||
|
||||
public void Serialize(IMessageWriter writer)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public void Deserialize(IMessageReader reader)
|
||||
{
|
||||
PlayerName = reader.ReadString();
|
||||
ColorId = reader.ReadByte();
|
||||
HatId = reader.ReadPackedUInt32();
|
||||
PetId = reader.ReadPackedUInt32();
|
||||
SkinId = reader.ReadPackedUInt32();
|
||||
var flag = reader.ReadByte();
|
||||
Disconnected = (flag & 1) > 0;
|
||||
IsImpostor = (flag & 2) > 0;
|
||||
IsDead = (flag & 4) > 0;
|
||||
var taskCount = reader.ReadByte();
|
||||
Tasks = new List<TaskInfo>();
|
||||
for (var i = 0; i < taskCount; i++)
|
||||
{
|
||||
Tasks.Add(new TaskInfo());
|
||||
Tasks[i].Deserialize(reader);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -17,13 +17,13 @@ namespace Impostor.Server.Net.Inner.Objects
|
||||
{
|
||||
private readonly ILogger<InnerGameData> _logger;
|
||||
private readonly Game _game;
|
||||
private readonly ConcurrentDictionary<byte, PlayerInfo> _allPlayers;
|
||||
private readonly ConcurrentDictionary<byte, InnerPlayerInfo> _allPlayers;
|
||||
|
||||
public InnerGameData(ILogger<InnerGameData> logger, Game game, IServiceProvider serviceProvider)
|
||||
{
|
||||
_logger = logger;
|
||||
_game = game;
|
||||
_allPlayers = new ConcurrentDictionary<byte, PlayerInfo>();
|
||||
_allPlayers = new ConcurrentDictionary<byte, InnerPlayerInfo>();
|
||||
|
||||
Components.Add(this);
|
||||
Components.Add(ActivatorUtilities.CreateInstance<InnerVoteBanSystem>(serviceProvider));
|
||||
@@ -31,9 +31,9 @@ namespace Impostor.Server.Net.Inner.Objects
|
||||
|
||||
public int PlayerCount => _allPlayers.Count;
|
||||
|
||||
public IReadOnlyDictionary<byte, PlayerInfo> Players => _allPlayers;
|
||||
public IReadOnlyDictionary<byte, InnerPlayerInfo> Players => _allPlayers;
|
||||
|
||||
public PlayerInfo? GetPlayerById(byte id)
|
||||
public InnerPlayerInfo? GetPlayerById(byte id)
|
||||
{
|
||||
if (id == byte.MaxValue)
|
||||
{
|
||||
@@ -89,7 +89,7 @@ namespace Impostor.Server.Net.Inner.Objects
|
||||
}
|
||||
else
|
||||
{
|
||||
var playerInfo = new PlayerInfo(message.Tag);
|
||||
var playerInfo = new InnerPlayerInfo(message.Tag);
|
||||
|
||||
playerInfo.Deserialize(reader);
|
||||
|
||||
@@ -132,7 +132,7 @@ namespace Impostor.Server.Net.Inner.Objects
|
||||
for (var i = 0; i < num; i++)
|
||||
{
|
||||
var playerId = reader.ReadByte();
|
||||
var playerInfo = new PlayerInfo(playerId);
|
||||
var playerInfo = new InnerPlayerInfo(playerId);
|
||||
|
||||
playerInfo.Deserialize(reader);
|
||||
|
||||
@@ -151,7 +151,7 @@ namespace Impostor.Server.Net.Inner.Objects
|
||||
internal void AddPlayer(InnerPlayerControl control)
|
||||
{
|
||||
var playerId = control.PlayerId;
|
||||
var playerInfo = new PlayerInfo(control.PlayerId);
|
||||
var playerInfo = new InnerPlayerInfo(control.PlayerId);
|
||||
|
||||
if (_allPlayers.TryAdd(playerId, playerInfo))
|
||||
{
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
using Impostor.Api.Net.Inner.Objects;
|
||||
|
||||
namespace Impostor.Server.Net.Inner.Objects
|
||||
{
|
||||
internal partial class InnerPlayerControl : IInnerPlayerControl
|
||||
{
|
||||
IInnerPlayerInfo IInnerPlayerControl.PlayerInfo => PlayerInfo;
|
||||
}
|
||||
}
|
||||
@@ -14,7 +14,7 @@ using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace Impostor.Server.Net.Inner.Objects
|
||||
{
|
||||
internal class InnerPlayerControl : InnerNetObject, IInnerPlayerControl
|
||||
internal partial class InnerPlayerControl : InnerNetObject
|
||||
{
|
||||
private readonly ILogger<InnerPlayerControl> _logger;
|
||||
private readonly IEventManager _eventManager;
|
||||
@@ -37,10 +37,9 @@ namespace Impostor.Server.Net.Inner.Objects
|
||||
|
||||
public byte PlayerId { get; private set; }
|
||||
|
||||
public InnerGameData.PlayerInfo PlayerInfo { get; internal set; }
|
||||
public InnerPlayerInfo PlayerInfo { get; internal set; }
|
||||
|
||||
public override async ValueTask HandleRpc(ClientPlayer sender, ClientPlayer? target, RpcCalls call,
|
||||
IMessageReader reader)
|
||||
public override async ValueTask HandleRpc(ClientPlayer sender, ClientPlayer? target, RpcCalls call, IMessageReader reader)
|
||||
{
|
||||
switch (call)
|
||||
{
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Impostor.Api.Innersloth;
|
||||
using Impostor.Api.Net.Inner.Objects;
|
||||
using Impostor.Api.Net.Messages;
|
||||
|
||||
namespace Impostor.Server.Net.Inner.Objects
|
||||
{
|
||||
internal class InnerPlayerInfo : IInnerPlayerInfo
|
||||
{
|
||||
public InnerPlayerInfo(byte playerId)
|
||||
{
|
||||
PlayerId = playerId;
|
||||
}
|
||||
|
||||
public InnerPlayerControl Controller { get; internal set; }
|
||||
|
||||
public byte PlayerId { get; }
|
||||
|
||||
public string PlayerName { get; internal set; }
|
||||
|
||||
public byte ColorId { get; internal set; }
|
||||
|
||||
public uint HatId { get; internal set; }
|
||||
|
||||
public uint PetId { get; internal set; }
|
||||
|
||||
public uint SkinId { get; internal set; }
|
||||
|
||||
public bool Disconnected { get; internal set; }
|
||||
|
||||
public bool IsImpostor { get; internal set; }
|
||||
|
||||
public bool IsDead { get; internal set; }
|
||||
|
||||
public DeathReason LastDeathReason { get; internal set; }
|
||||
|
||||
public List<InnerGameData.TaskInfo> Tasks { get; internal set; }
|
||||
|
||||
public void Serialize(IMessageWriter writer)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public void Deserialize(IMessageReader reader)
|
||||
{
|
||||
PlayerName = reader.ReadString();
|
||||
ColorId = reader.ReadByte();
|
||||
HatId = reader.ReadPackedUInt32();
|
||||
PetId = reader.ReadPackedUInt32();
|
||||
SkinId = reader.ReadPackedUInt32();
|
||||
var flag = reader.ReadByte();
|
||||
Disconnected = (flag & 1) > 0;
|
||||
IsImpostor = (flag & 2) > 0;
|
||||
IsDead = (flag & 4) > 0;
|
||||
var taskCount = reader.ReadByte();
|
||||
Tasks = new List<InnerGameData.TaskInfo>();
|
||||
for (var i = 0; i < taskCount; i++)
|
||||
{
|
||||
Tasks.Add(new InnerGameData.TaskInfo());
|
||||
Tasks[i].Deserialize(reader);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user