2023-12-22 22:51:17 +00:00
|
|
|
using System.Collections.Generic;
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
[CreateAssetMenu(menuName = "ScriptableObjects/Item", order = 1)]
|
|
|
|
public class Item : ScriptableObject
|
|
|
|
{
|
|
|
|
public int itemId;
|
|
|
|
|
|
|
|
public string itemName;
|
|
|
|
|
|
|
|
[Space(3f)]
|
|
|
|
public List<ItemGroup> spawnPositionTypes = new List<ItemGroup>();
|
|
|
|
|
|
|
|
[Space(3f)]
|
|
|
|
public bool twoHanded;
|
|
|
|
|
|
|
|
public bool twoHandedAnimation;
|
|
|
|
|
|
|
|
public bool canBeGrabbedBeforeGameStart;
|
|
|
|
|
|
|
|
[Space(3f)]
|
|
|
|
public float weight = 1f;
|
|
|
|
|
|
|
|
public bool itemIsTrigger;
|
|
|
|
|
|
|
|
public bool holdButtonUse;
|
|
|
|
|
|
|
|
public bool itemSpawnsOnGround = true;
|
|
|
|
|
|
|
|
[Space(5f)]
|
|
|
|
public bool isConductiveMetal;
|
|
|
|
|
|
|
|
[Header("Scrap-collection")]
|
|
|
|
public bool isScrap;
|
|
|
|
|
|
|
|
public int creditsWorth;
|
|
|
|
|
|
|
|
public bool lockedInDemo;
|
|
|
|
|
|
|
|
public int highestSalePercentage = 80;
|
|
|
|
|
|
|
|
[Space(3f)]
|
|
|
|
public int maxValue;
|
|
|
|
|
|
|
|
public int minValue;
|
|
|
|
|
|
|
|
public GameObject spawnPrefab;
|
|
|
|
|
|
|
|
[Space(3f)]
|
|
|
|
[Header("Battery")]
|
|
|
|
public bool requiresBattery = true;
|
|
|
|
|
|
|
|
public float batteryUsage = 15f;
|
|
|
|
|
|
|
|
public bool automaticallySetUsingPower = true;
|
|
|
|
|
|
|
|
[Space(5f)]
|
|
|
|
public Sprite itemIcon;
|
|
|
|
|
|
|
|
[Space(5f)]
|
|
|
|
[Header("Player animations")]
|
|
|
|
public string grabAnim;
|
|
|
|
|
|
|
|
public string useAnim;
|
|
|
|
|
|
|
|
public string pocketAnim;
|
|
|
|
|
|
|
|
public string throwAnim;
|
|
|
|
|
|
|
|
[Space(5f)]
|
|
|
|
public float grabAnimationTime;
|
|
|
|
|
|
|
|
[Header("Player SFX")]
|
|
|
|
public AudioClip grabSFX;
|
|
|
|
|
|
|
|
public AudioClip dropSFX;
|
|
|
|
|
|
|
|
public AudioClip pocketSFX;
|
|
|
|
|
|
|
|
public AudioClip throwSFX;
|
|
|
|
|
|
|
|
[Header("Netcode")]
|
|
|
|
public bool syncGrabFunction = true;
|
|
|
|
|
|
|
|
public bool syncUseFunction = true;
|
|
|
|
|
|
|
|
public bool syncDiscardFunction = true;
|
|
|
|
|
|
|
|
public bool syncInteractLRFunction = true;
|
|
|
|
|
2023-12-23 00:30:32 +00:00
|
|
|
[Header("Save data")]
|
|
|
|
public bool saveItemVariable;
|
|
|
|
|
2023-12-22 22:51:17 +00:00
|
|
|
[Header("MISC")]
|
2023-12-23 00:30:32 +00:00
|
|
|
public bool isDefensiveWeapon;
|
|
|
|
|
|
|
|
[Space(3f)]
|
2023-12-22 22:51:17 +00:00
|
|
|
public string[] toolTips;
|
|
|
|
|
|
|
|
public float verticalOffset;
|
|
|
|
|
2023-12-22 23:28:38 +00:00
|
|
|
public int floorYOffset;
|
|
|
|
|
|
|
|
public bool allowDroppingAheadOfPlayer = true;
|
|
|
|
|
2023-12-22 22:51:17 +00:00
|
|
|
public Vector3 restingRotation = new Vector3(0f, 0f, 90f);
|
|
|
|
|
|
|
|
public Vector3 rotationOffset = Vector3.zero;
|
|
|
|
|
|
|
|
public Vector3 positionOffset = Vector3.zero;
|
|
|
|
|
|
|
|
public bool meshOffset = true;
|
|
|
|
|
|
|
|
public Mesh[] meshVariants;
|
|
|
|
|
|
|
|
public Material[] materialVariants;
|
|
|
|
|
|
|
|
public bool usableInSpecialAnimations;
|
|
|
|
|
|
|
|
public bool canBeInspected = true;
|
|
|
|
}
|