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

Commit

Permalink
Merge pull request #12 from MrAfitol/dev
Browse files Browse the repository at this point in the history
Item update
  • Loading branch information
Jesus-QC authored Jan 17, 2023
2 parents c2c43da + 040920f commit e8fc5be
Show file tree
Hide file tree
Showing 4 changed files with 104 additions and 1 deletion.
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

0 comments on commit e8fc5be

Please sign in to comment.