mirror of
https://github.com/DeltaV-Station/Delta-v.git
synced 2026-09-30 16:17:27 +00:00
* Initial port of goobstation factorio, missing disposals integration and faxing. Also ports impstations modification for robotic arms to have static power draw. Also adds automation slots to silos and advanced microwave. * Ports goobstation factorio fax automation, adds to the guidebook entry info about gas canisters. * Ported Goob Disposals. Removed part about taking mats out of storage silo cuz it ain't implemented yet. Seems to work. * Adds constructor circuitboard to research cuz I forgor
59 lines
1.5 KiB
C#
59 lines
1.5 KiB
C#
// SPDX-FileCopyrightText: 2025 deltanedas <@deltanedas:kde.org>
|
|
//
|
|
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
using Content.Shared.Containers.ItemSlots;
|
|
using Content.Shared.DeviceLinking;
|
|
using Robust.Shared.GameStates;
|
|
using Robust.Shared.Prototypes;
|
|
using Robust.Shared.Serialization;
|
|
|
|
namespace Content.Shared._Goobstation.Factory;
|
|
|
|
[RegisterComponent, NetworkedComponent, Access(typeof(SharedInteractorSystem))]
|
|
[AutoGenerateComponentState(fieldDeltas: true)]
|
|
public sealed partial class InteractorComponent : Component
|
|
{
|
|
[DataField]
|
|
public string ToolContainerId = "interactor_tool";
|
|
|
|
/// <summary>
|
|
/// Fixture to look for target items with.
|
|
/// </summary>
|
|
[DataField]
|
|
public string TargetFixtureId = "interactor_target";
|
|
|
|
/// <summary>
|
|
/// Entities currently colliding with <see cref="TargetFixtureId"/> and whether their CollisionWake was enabled.
|
|
/// When entities start to collide they get pushed to the end.
|
|
/// When picking up items the last value is taken.
|
|
/// This is essentially a FILO queue.
|
|
/// </summary>
|
|
[DataField, AutoNetworkedField]
|
|
public List<(NetEntity, bool)> TargetEntities = new();
|
|
}
|
|
|
|
[Serializable, NetSerializable]
|
|
public enum InteractorVisuals : byte
|
|
{
|
|
State
|
|
}
|
|
|
|
[Serializable, NetSerializable]
|
|
public enum InteractorLayers : byte
|
|
{
|
|
Hand,
|
|
Powered
|
|
}
|
|
|
|
[Serializable, NetSerializable]
|
|
public enum InteractorState : byte
|
|
{
|
|
// Inactive with no tool
|
|
Empty,
|
|
// Inactive with a tool
|
|
Inactive,
|
|
// Active, with or without a tool
|
|
Active
|
|
}
|