From: AlexejheroYTB Date: Thu, 12 Nov 2020 11:37:40 +0000 (+0200) Subject: Add task info to player info X-Git-Tag: v1.2.2~18^2~3 X-Git-Url: https://git.deb.at/?a=commitdiff_plain;h=2d78e008ac8a75a3d2564f141a110a8e5df9cf81;p=rhonda%2Fimpostor.git Add task info to player info --- diff --git a/src/Impostor.Api/Net/Inner/Objects/IInnerPlayerInfo.cs b/src/Impostor.Api/Net/Inner/Objects/IInnerPlayerInfo.cs index 2715d2d..23c45f5 100644 --- a/src/Impostor.Api/Net/Inner/Objects/IInnerPlayerInfo.cs +++ b/src/Impostor.Api/Net/Inner/Objects/IInnerPlayerInfo.cs @@ -1,4 +1,6 @@ -using Impostor.Api.Innersloth; +using System; +using System.Collections.Generic; +using Impostor.Api.Innersloth; namespace Impostor.Api.Net.Inner.Objects { @@ -43,5 +45,9 @@ namespace Impostor.Api.Net.Inner.Objects /// Gets the reason why the player is dead in the current game. /// DeathReason LastDeathReason { get; } + + List Tasks { get; } + + DateTimeOffset LastMurder { get; } } } \ No newline at end of file diff --git a/src/Impostor.Api/Net/Inner/Objects/ITaskInfo.cs b/src/Impostor.Api/Net/Inner/Objects/ITaskInfo.cs new file mode 100644 index 0000000..7e7fb2f --- /dev/null +++ b/src/Impostor.Api/Net/Inner/Objects/ITaskInfo.cs @@ -0,0 +1,15 @@ +using Impostor.Api.Net.Messages; + +namespace Impostor.Api.Net.Inner.Objects +{ + public interface ITaskInfo + { + uint Id { get; } + + bool Complete { get; } + + void Serialize(IMessageWriter writer); + + void Deserialize(IMessageReader reader); + } +} \ No newline at end of file diff --git a/src/Impostor.Server/Net/Inner/Objects/InnerGameData.TaskInfo.cs b/src/Impostor.Server/Net/Inner/Objects/InnerGameData.TaskInfo.cs index 5dfa5c2..40fcbb4 100644 --- a/src/Impostor.Server/Net/Inner/Objects/InnerGameData.TaskInfo.cs +++ b/src/Impostor.Server/Net/Inner/Objects/InnerGameData.TaskInfo.cs @@ -1,10 +1,11 @@ -using Impostor.Api.Net.Messages; +using Impostor.Api.Net.Inner.Objects; +using Impostor.Api.Net.Messages; namespace Impostor.Server.Net.Inner.Objects { internal partial class InnerGameData { - public class TaskInfo + public class TaskInfo : ITaskInfo { public uint Id { get; internal set; } diff --git a/src/Impostor.Server/Net/Inner/Objects/InnerGameData.cs b/src/Impostor.Server/Net/Inner/Objects/InnerGameData.cs index 9f18a52..d604248 100644 --- a/src/Impostor.Server/Net/Inner/Objects/InnerGameData.cs +++ b/src/Impostor.Server/Net/Inner/Objects/InnerGameData.cs @@ -172,12 +172,12 @@ namespace Impostor.Server.Net.Inner.Objects return; } - player.Tasks = new List(taskTypeIds.Length); + player.Tasks = new List(taskTypeIds.Length); for (var i = 0; i < taskTypeIds.Length; i++) { - player.Tasks.Add(new TaskInfo()); - player.Tasks[i].Id = (uint)i; + var task = new TaskInfo { Id = (uint)i }; + player.Tasks.Add(task); } } } diff --git a/src/Impostor.Server/Net/Inner/Objects/InnerPlayerInfo.cs b/src/Impostor.Server/Net/Inner/Objects/InnerPlayerInfo.cs index 13163dd..40bec7c 100644 --- a/src/Impostor.Server/Net/Inner/Objects/InnerPlayerInfo.cs +++ b/src/Impostor.Server/Net/Inner/Objects/InnerPlayerInfo.cs @@ -36,7 +36,7 @@ namespace Impostor.Server.Net.Inner.Objects public DeathReason LastDeathReason { get; internal set; } - public List Tasks { get; internal set; } + public List Tasks { get; internal set; } public DateTimeOffset LastMurder { get; set; } @@ -67,7 +67,7 @@ namespace Impostor.Server.Net.Inner.Objects IsImpostor = (flag & 2) > 0; IsDead = (flag & 4) > 0; var taskCount = reader.ReadByte(); - Tasks = new List(); + Tasks = new List(); for (var i = 0; i < taskCount; i++) { Tasks.Add(new InnerGameData.TaskInfo());