add mass-media system (#18251)
* Add Console, PDA news tab, and ringstone popup * Add English localization * Add mass-media console board to Advanced Entertainment resrarch * Fix misprint * Deleting unused libraries * Fix round restart problem * Fixing restart problem * Just another fix * Сode optimization * Code optimization
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
using Robust.Shared.Serialization;
|
||||
using Content.Shared.MassMedia.Systems;
|
||||
|
||||
namespace Content.Shared.MassMedia.Components;
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public enum NewsReadUiKey : byte
|
||||
{
|
||||
Key
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public sealed class NewsReadBoundUserInterfaceState : BoundUserInterfaceState
|
||||
{
|
||||
public NewsArticle Article;
|
||||
public int TargetNum;
|
||||
public int TotalNum;
|
||||
|
||||
public NewsReadBoundUserInterfaceState(NewsArticle article, int targetNum, int totalNum)
|
||||
{
|
||||
Article = article;
|
||||
TargetNum = targetNum;
|
||||
TotalNum = totalNum;
|
||||
}
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public sealed class NewsReadEmptyBoundUserInterfaceState : BoundUserInterfaceState
|
||||
{
|
||||
public NewsReadEmptyBoundUserInterfaceState()
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public sealed class NewsReadNextMessage : BoundUserInterfaceMessage
|
||||
{
|
||||
public NewsReadNextMessage()
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public sealed class NewsReadPrevMessage : BoundUserInterfaceMessage
|
||||
{
|
||||
public NewsReadPrevMessage()
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public sealed class NewsReadArticleRequestMessage : BoundUserInterfaceMessage
|
||||
{
|
||||
public NewsReadArticleRequestMessage()
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
using Robust.Shared.Serialization;
|
||||
using Content.Shared.MassMedia.Systems;
|
||||
|
||||
namespace Content.Shared.MassMedia.Components;
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public enum NewsWriteUiKey : byte
|
||||
{
|
||||
Key
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public sealed class NewsWriteBoundUserInterfaceState : BoundUserInterfaceState
|
||||
{
|
||||
public NewsArticle[] Articles;
|
||||
|
||||
public NewsWriteBoundUserInterfaceState(NewsArticle[] articles)
|
||||
{
|
||||
Articles = articles;
|
||||
}
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public sealed class NewsWriteShareMessage : BoundUserInterfaceMessage
|
||||
{
|
||||
public NewsArticle Article;
|
||||
|
||||
public NewsWriteShareMessage(NewsArticle article)
|
||||
{
|
||||
Article = article;
|
||||
}
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public sealed class NewsWriteDeleteMessage : BoundUserInterfaceMessage
|
||||
{
|
||||
public int ArticleNum;
|
||||
|
||||
public NewsWriteDeleteMessage(int num)
|
||||
{
|
||||
ArticleNum = num;
|
||||
}
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public sealed class NewsWriteArticlesRequestMessage : BoundUserInterfaceMessage
|
||||
{
|
||||
public NewsWriteArticlesRequestMessage()
|
||||
{
|
||||
}
|
||||
}
|
||||
9
Content.Shared/MassMedia/Systems/SharedNewsSystem.cs
Normal file
9
Content.Shared/MassMedia/Systems/SharedNewsSystem.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
namespace Content.Shared.MassMedia.Systems;
|
||||
|
||||
[Serializable]
|
||||
public struct NewsArticle
|
||||
{
|
||||
public string Name;
|
||||
public string Content;
|
||||
public TimeSpan ShareTime;
|
||||
}
|
||||
@@ -32,6 +32,12 @@ public sealed class PdaShowMusicMessage : BoundUserInterfaceMessage
|
||||
public PdaShowMusicMessage() { }
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public sealed class PdaOpenNewsMessage : BoundUserInterfaceMessage
|
||||
{
|
||||
public PdaOpenNewsMessage() { }
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public sealed class PdaRequestUpdateInterfaceMessage : BoundUserInterfaceMessage
|
||||
{
|
||||
|
||||
@@ -13,17 +13,19 @@ namespace Content.Shared.PDA
|
||||
public string? StationName;
|
||||
public bool HasUplink;
|
||||
public bool CanPlayMusic;
|
||||
public bool HasNewsTab;
|
||||
public string? Address;
|
||||
|
||||
public PdaUpdateState(bool flashlightEnabled, bool hasPen, PdaIdInfoText pdaOwnerInfo,
|
||||
string? stationName, bool hasUplink = false,
|
||||
bool canPlayMusic = false, string? address = null)
|
||||
bool canPlayMusic = false, bool hasNewsTab = false, string? address = null)
|
||||
{
|
||||
FlashlightEnabled = flashlightEnabled;
|
||||
HasPen = hasPen;
|
||||
PdaOwnerInfo = pdaOwnerInfo;
|
||||
HasUplink = hasUplink;
|
||||
CanPlayMusic = canPlayMusic;
|
||||
HasNewsTab = hasNewsTab;
|
||||
StationName = stationName;
|
||||
Address = address;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user