Files
crystall-punk-14/Content.Shared/_CP14/Fishing/Components/CP14FishingProcessComponent.cs

66 lines
1.5 KiB
C#
Raw Permalink Normal View History

2024-12-09 02:29:33 +10:00
using System.Numerics;
using Content.Shared._CP14.Fishing.Core;
using Content.Shared._CP14.Fishing.Prototypes;
using Content.Shared._CP14.Fishing.Systems;
using Robust.Shared.GameStates;
using Robust.Shared.Prototypes;
namespace Content.Shared._CP14.Fishing.Components;
2024-12-15 00:40:43 +10:00
[Access(typeof(CP14SharedFishingProcessSystem))]
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
2024-12-09 02:29:33 +10:00
public sealed partial class CP14FishingProcessComponent : Component
{
/**
* Boxes
*/
[ViewVariables, AutoNetworkedField]
2024-12-15 01:16:29 +10:00
public Player? Player;
2024-12-09 02:29:33 +10:00
[ViewVariables, AutoNetworkedField]
2024-12-15 01:16:29 +10:00
public Fish? Fish;
2024-12-09 02:29:33 +10:00
/**
* Progress
*/
[ViewVariables, AutoNetworkedField]
public float Progress;
/**
* Saved entities
*/
[ViewVariables, AutoNetworkedField]
2024-12-15 00:40:43 +10:00
public EntityUid? FishingRod = null;
2024-12-09 02:29:33 +10:00
[ViewVariables, AutoNetworkedField]
2024-12-15 00:40:43 +10:00
public EntityUid? User = null;
2024-12-09 02:29:33 +10:00
[ViewVariables, AutoNetworkedField]
2024-12-15 00:40:43 +10:00
public EntityUid? FishingPool = null;
2024-12-09 02:29:33 +10:00
/**
* Loot
*/
[ViewVariables, AutoNetworkedField]
public EntProtoId LootProtoId;
/**
* Style
*/
[ViewVariables]
2024-12-15 01:16:29 +10:00
public CP14FishingProcessStyleSheetPrototype? StyleSheet;
2024-12-09 02:29:33 +10:00
/**
* Normalized
*/
2024-12-15 01:16:29 +10:00
public Vector2 LootPositionNormalized => Vector2.UnitY * Fish?.Position ?? Vector2.Zero;
public Vector2 PlayerPositionNormalized => Vector2.UnitY * Player?.Position ?? Vector2.Zero;
public Vector2 PlayerHalfSizeNormalized => Vector2.UnitY * Player?.HalfSize ?? Vector2.Zero;
2024-12-09 02:29:33 +10:00
}