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