mirror of
https://github.com/misternebula/quantum-space-buddies.git
synced 2025-03-21 07:20:50 +00:00
change HasBeenPickedUp to HasBeenInteractedWith, move to itemstate
This commit is contained in:
parent
d2a48a7782
commit
68e166543e
@ -6,6 +6,7 @@ namespace QSB.ItemSync;
|
||||
public class ItemState
|
||||
{
|
||||
public ItemStateType State;
|
||||
public bool HasBeenInteractedWith;
|
||||
|
||||
// on ground
|
||||
public Transform Parent;
|
||||
|
@ -58,7 +58,7 @@ internal class DropItemMessage : QSBWorldObjectMessage<IQSBItem,
|
||||
var sector = Data.sectorId != -1 ? Data.sectorId.GetWorldObject<QSBSector>().AttachedObject : null;
|
||||
|
||||
WorldObject.DropItem(worldPos, worldNormal, parent, sector, customDropTarget);
|
||||
WorldObject.HasBeenPickedUp = true;
|
||||
WorldObject.ItemState.HasBeenInteractedWith = true;
|
||||
WorldObject.ItemState.State = ItemStateType.OnGround;
|
||||
WorldObject.ItemState.LocalPosition = Data.localPosition;
|
||||
WorldObject.ItemState.Parent = parent;
|
||||
|
@ -32,7 +32,7 @@ internal class MoveToCarryMessage : QSBWorldObjectMessage<IQSBItem, uint>
|
||||
};
|
||||
|
||||
WorldObject.PickUpItem(itemSocket);
|
||||
WorldObject.HasBeenPickedUp = true;
|
||||
WorldObject.ItemState.HasBeenInteractedWith = true;
|
||||
WorldObject.ItemState.State = ItemStateType.Held;
|
||||
WorldObject.ItemState.HoldingPlayer = player;
|
||||
|
||||
|
@ -27,7 +27,7 @@ internal class SocketItemMessage : QSBMessage<(SocketMessageType Type, int Socke
|
||||
var qsbItem = Data.ItemId.GetWorldObject<IQSBItem>();
|
||||
|
||||
qsbItemSocket.PlaceIntoSocket(qsbItem);
|
||||
qsbItem.HasBeenPickedUp = true;
|
||||
qsbItem.ItemState.HasBeenInteractedWith = true;
|
||||
qsbItem.ItemState.State = ItemStateType.Socketed;
|
||||
qsbItem.ItemState.Socket = qsbItemSocket.AttachedObject;
|
||||
|
||||
|
@ -20,7 +20,7 @@ internal class ItemToolPatches : QSBPatch
|
||||
{
|
||||
var qsbItem = item.GetWorldObject<IQSBItem>();
|
||||
QSBPlayerManager.LocalPlayer.HeldItem = qsbItem;
|
||||
qsbItem.HasBeenPickedUp = true;
|
||||
qsbItem.ItemState.HasBeenInteractedWith = true;
|
||||
qsbItem.ItemState.State = ItemStateType.Held;
|
||||
qsbItem.ItemState.HoldingPlayer = QSBPlayerManager.LocalPlayer;
|
||||
qsbItem.SendMessage(new MoveToCarryMessage(QSBPlayerManager.LocalPlayer.PlayerId));
|
||||
@ -44,7 +44,7 @@ internal class ItemToolPatches : QSBPatch
|
||||
{
|
||||
var item = socket.GetSocketedItem();
|
||||
var qsbItem = item.GetWorldObject<IQSBItem>();
|
||||
qsbItem.HasBeenPickedUp = true;
|
||||
qsbItem.ItemState.HasBeenInteractedWith = true;
|
||||
QSBPlayerManager.LocalPlayer.HeldItem = qsbItem;
|
||||
new SocketItemMessage(SocketMessageType.StartUnsocket, socket, item).Send();
|
||||
}
|
||||
|
@ -5,7 +5,6 @@ namespace QSB.ItemSync.WorldObjects.Items;
|
||||
|
||||
public interface IQSBItem : IWorldObject
|
||||
{
|
||||
bool HasBeenPickedUp { get; set; }
|
||||
ItemState ItemState { get; }
|
||||
|
||||
ItemType GetItemType();
|
||||
|
@ -14,7 +14,6 @@ namespace QSB.ItemSync.WorldObjects.Items;
|
||||
public class QSBItem<T> : WorldObject<T>, IQSBItem
|
||||
where T : OWItem
|
||||
{
|
||||
public bool HasBeenPickedUp { get; set; }
|
||||
public ItemState ItemState { get; } = new();
|
||||
|
||||
private Transform _lastParent;
|
||||
@ -87,7 +86,7 @@ public class QSBItem<T> : WorldObject<T>, IQSBItem
|
||||
|
||||
public override void SendInitialState(uint to)
|
||||
{
|
||||
if (!HasBeenPickedUp)
|
||||
if (!ItemState.HasBeenInteractedWith)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user