Merge branch 'master' of https://github.com/space-wizards/space-station-14
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
using System;
|
||||
using Robust.Shared.GameObjects;
|
||||
using Robust.Shared.Serialization;
|
||||
|
||||
namespace Content.Shared.GameObjects.Components
|
||||
{
|
||||
public class SharedComputerComponent : Component
|
||||
{
|
||||
public override string Name => "Computer";
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public enum ComputerVisuals
|
||||
{
|
||||
// Bool
|
||||
Powered,
|
||||
|
||||
// Bool
|
||||
Broken
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
using Robust.Shared.GameObjects;
|
||||
using Robust.Shared.GameObjects.Components.UserInterface;
|
||||
using Robust.Shared.IoC;
|
||||
using Robust.Shared.Prototypes;
|
||||
using Robust.Shared.Serialization;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
|
||||
namespace Content.Shared.GameObjects.Components.VendingMachines
|
||||
{
|
||||
public class SharedVendingMachineComponent : Component
|
||||
{
|
||||
public override string Name => "VendingMachine";
|
||||
public override uint? NetID => ContentNetIDs.VENDING_MACHINE;
|
||||
|
||||
public List<VendingMachineInventoryEntry> Inventory = new List<VendingMachineInventoryEntry>();
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public enum VendingMachineVisuals
|
||||
{
|
||||
VisualState,
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public enum VendingMachineVisualState
|
||||
{
|
||||
Normal,
|
||||
Off,
|
||||
Broken,
|
||||
Eject,
|
||||
Deny,
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public class VendingMachineEjectMessage : BoundUserInterfaceMessage
|
||||
{
|
||||
public readonly string ID;
|
||||
public VendingMachineEjectMessage(string id)
|
||||
{
|
||||
ID = id;
|
||||
}
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public enum VendingMachineUiKey
|
||||
{
|
||||
Key,
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public class InventorySyncRequestMessage : BoundUserInterfaceMessage
|
||||
{
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public class VendingMachineInventoryMessage : BoundUserInterfaceMessage
|
||||
{
|
||||
public readonly List<VendingMachineInventoryEntry> Inventory;
|
||||
public VendingMachineInventoryMessage(List<VendingMachineInventoryEntry> inventory)
|
||||
{
|
||||
Inventory = inventory;
|
||||
}
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public class VendingMachineInventoryEntry
|
||||
{
|
||||
public string ID;
|
||||
public uint Amount;
|
||||
public VendingMachineInventoryEntry(string id, uint amount)
|
||||
{
|
||||
ID = id;
|
||||
Amount = amount;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -23,5 +23,6 @@
|
||||
public const uint LATHE_DATABASE = 1017;
|
||||
public const uint MATERIAL_STORAGE = 1018;
|
||||
public const uint HAND_TELEPORTER = 1019;
|
||||
public const uint VENDING_MACHINE = 1020;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -114,7 +114,7 @@ namespace Content.Shared.GameObjects
|
||||
// This works for now though.
|
||||
public static IEnumerable<(IComponent, Verb)> GetVerbs(IEntity entity)
|
||||
{
|
||||
foreach (var component in entity.GetComponentInstances())
|
||||
foreach (var component in entity.GetAllComponents())
|
||||
{
|
||||
var type = component.GetType();
|
||||
foreach (var nestedType in type.GetNestedTypes(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static))
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
using Robust.Shared.Prototypes;
|
||||
using Robust.Shared.Serialization;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using YamlDotNet.RepresentationModel;
|
||||
|
||||
namespace Content.Shared.VendingMachines
|
||||
{
|
||||
[Serializable, NetSerializable, Prototype("vendingMachineInventory")]
|
||||
public class VendingMachineInventoryPrototype : IPrototype, IIndexedPrototype
|
||||
{
|
||||
private string _id;
|
||||
private string _name;
|
||||
private string _description;
|
||||
private double _animationDuration;
|
||||
private string _spriteName;
|
||||
private Dictionary<string, uint> _startingInventory;
|
||||
|
||||
public string ID => _id;
|
||||
public string Name => _name;
|
||||
public string Description => _description;
|
||||
public double AnimationDuration => _animationDuration;
|
||||
public string SpriteName => _spriteName;
|
||||
public Dictionary<string, uint> StartingInventory => _startingInventory;
|
||||
|
||||
public void LoadFrom(YamlMappingNode mapping)
|
||||
{
|
||||
var serializer = YamlObjectSerializer.NewReader(mapping);
|
||||
|
||||
serializer.DataField(ref _id, "id", string.Empty);
|
||||
serializer.DataField(ref _name, "name", string.Empty);
|
||||
serializer.DataField(ref _description, "description", string.Empty);
|
||||
serializer.DataField<double>(ref _animationDuration, "animationDuration", 0);
|
||||
serializer.DataField(ref _spriteName, "spriteName", string.Empty);
|
||||
serializer.DataField(ref _startingInventory, "startingInventory", new Dictionary<string, uint>());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user