Data-oriented Construction System (#2152)

- Powerful
- Data-oriented
- Approved by PJB
- Powered by node graphs and AI pathfinding
- Coded by the same nerd who brought you atmos

Co-authored-by: Exp <theexp111@gmail.com>
This commit is contained in:
Víctor Aguilera Puerto
2020-10-08 17:41:23 +02:00
committed by GitHub
parent a6647e8de1
commit 745401a41e
261 changed files with 3886 additions and 11986 deletions

View File

@@ -5,6 +5,7 @@ using Content.Shared.Damage;
using Content.Shared.Damage.DamageContainer;
using Content.Shared.Damage.ResistanceSet;
using Content.Shared.Interfaces.GameObjects.Components;
using Mono.Collections.Generic;
using Robust.Shared.GameObjects;
using Robust.Shared.Interfaces.GameObjects;
using Robust.Shared.IoC;
@@ -157,6 +158,9 @@ namespace Content.Shared.GameObjects.Components.Damage
{
var writeFlags = new List<DamageFlag>();
if (Flags == DamageFlag.None)
return writeFlags;
foreach (var flag in (DamageFlag[]) Enum.GetValues(typeof(DamageFlag)))
{
if ((Flags & flag) == flag)

View File

@@ -16,6 +16,23 @@ namespace Content.Shared.GameObjects.Components.Interactable
Multitool = 1 << 5,
}
public static class ToolQualityHelpers
{
public static string GetToolName(this ToolQuality quality)
{
return quality switch
{
ToolQuality.Anchoring => "Wrench",
ToolQuality.Prying => "Crowbar",
ToolQuality.Screwing => "Screwdriver",
ToolQuality.Cutting => "Wirecutters",
ToolQuality.Welding => "Welding tool",
ToolQuality.Multitool => "Multitool",
_ => throw new ArgumentOutOfRangeException()
};
}
}
public class SharedToolComponent : Component
{
public override string Name => "Tool";

View File

@@ -0,0 +1,11 @@
using System;
using Robust.Shared.Serialization;
namespace Content.Shared.GameObjects.Components
{
[Serializable, NetSerializable]
public enum ReinforcedWallVisuals
{
DeconstructionStage,
}
}

View File

@@ -0,0 +1,10 @@
using Robust.Shared.GameObjects;
namespace Content.Shared.GameObjects.Components
{
[RegisterComponent]
public class SharedCanBuildWindowOnTopComponent : Component
{
public override string Name => "CanBuildWindowOnTop";
}
}

View File

@@ -125,6 +125,7 @@ namespace Content.Shared.GameObjects.Components
{
Metal,
Glass,
Plasteel,
Cable,
Gold,
Phoron,

View File

@@ -0,0 +1,9 @@
using Robust.Shared.GameObjects;
namespace Content.Shared.GameObjects.Components
{
public class SharedWindowComponent : Component
{
public override string Name => "Window";
}
}