Skip to content
This repository has been archived by the owner on Sep 16, 2023. It is now read-only.

Item update #12

Merged
merged 3 commits into from
Jan 17, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CursedMod/CursedMod.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,8 @@
<Compile Include="Features\Wrappers\Facility\Rooms\Cursed079Camera.cs" />
<Compile Include="Features\Wrappers\Facility\Rooms\CursedLightningController.cs" />
<Compile Include="Features\Wrappers\Facility\Rooms\CursedRoom.cs" />
<Compile Include="Features\Wrappers\Item\CursedItem.cs" />
<Compile Include="Features\Wrappers\Item\CursedPickup.cs" />
<Compile Include="Features\Wrappers\Player\CursedPlayer.cs" />
<Compile Include="Features\Wrappers\Player\CursedPlayerHitBox.cs" />
<Compile Include="Features\Wrappers\Player\Dummies\CursedDummy.cs" />
Expand Down
45 changes: 45 additions & 0 deletions CursedMod/Features/Wrappers/Item/CursedItem.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
using CursedMod.Features.Wrappers.Player;
using InventorySystem.Items;
using UnityEngine;

namespace CursedMod.Features.Wrappers.Item;

public class CursedItem
{
public ItemBase Base { get; }

public CursedItem(ItemBase itemBase)
{
Base = itemBase;
}

public ItemType ItemType => Base.ItemTypeId;

public ushort Serial => Base.ItemSerial;

public float Weight => Base.Weight;

public CursedPlayer Owner => Base.Owner == null ? null : CursedPlayer.Get(Base.Owner);

public GameObject GameObject => Base.gameObject;

public Transform Transform => Base.transform;

public Vector3 Podition
{
get => Transform.position;
set => Transform.position = value;
}

public Quaternion Rotation
{
get => Transform.rotation;
set => Transform.rotation = value;
}

public Vector3 Scale
{
get => Transform.localScale;
set => Transform.localScale = value;
}
}
47 changes: 47 additions & 0 deletions CursedMod/Features/Wrappers/Item/CursedPickup.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
using CursedMod.Features.Wrappers.Player;
using InventorySystem.Items.Pickups;
using UnityEngine;

namespace CursedMod.Features.Wrappers.Item;

public class CursedPickup
{
public ItemPickupBase Base { get; }

public CursedPickup(ItemPickupBase ItemPickupBase)
{
Base = ItemPickupBase;
}

public PickupSyncInfo Info => Base.Info;

public ItemType ItemType => Info.ItemId;

public ushort Serial => Info.Serial;

public CursedPlayer PreviousOwner => Base.PreviousOwner.Hub == null ? null : CursedPlayer.Get(Base.PreviousOwner.Hub);

public GameObject GameObject => Base.gameObject;

public Transform Transform => Base.transform;

public Vector3 Position => Transform.position;

public Quaternion Rotation => Transform.rotation;

public Vector3 Scale => Transform.localScale;

public float Weight
{
get => Base.Info.Weight;
set => Base.Info.Weight = value;
}

public bool IsLocked
{
get => Base.Info.Locked;
set => Base.Info.Locked = value;
}

public void Destroy() => Base.DestroySelf();
}
11 changes: 10 additions & 1 deletion CursedMod/Features/Wrappers/Player/CursedPlayer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
using CommandSystem;
using CursedMod.Features.Enums;
using CursedMod.Features.Wrappers.Facility;
using CursedMod.Features.Wrappers.Item;
using CursedMod.Features.Wrappers.Player.Dummies;
using CustomPlayerEffects;
using Footprinting;
Expand Down Expand Up @@ -361,14 +362,22 @@ public bool HasNoClip

public ItemBase AddItem(ItemType itemType) => Inventory.ServerAddItem(itemType);

public void DropItem(ItemBase pickupBase) => Inventory.ServerDropItem(pickupBase.ItemSerial);
public void DropItem(CursedItem item) => Inventory.ServerDropItem(item.Serial);

public void DropItem(ItemBase itemBase) => Inventory.ServerDropItem(itemBase.ItemSerial);

public void DropItem(CursedPickup pickup) => Inventory.ServerDropItem(pickup.Serial);

public void DropItem(ItemPickupBase pickupBase) => Inventory.ServerDropItem(pickupBase.Info.Serial);

public void RemoveItem(CursedItem item) => Inventory.ServerRemoveItem(item.Serial, item.Base.PickupDropModel);

public void RemoveItem(ItemBase itemBase) => Inventory.ServerRemoveItem(itemBase.ItemSerial, itemBase.PickupDropModel);

public void RemoveItem(ItemPickupBase pickupBase) => Inventory.ServerRemoveItem(pickupBase.Info.Serial, pickupBase);

public void RemoveItem(CursedPickup pickup) => Inventory.ServerRemoveItem(pickup.Serial, pickup.Base);

public void SetAmmo(ItemType itemType, ushort amount) => Inventory.ServerSetAmmo(itemType, amount);

public void AddAmmo(ItemType itemType, ushort amount) => Inventory.ServerAddAmmo(itemType, amount);
Expand Down