ItemBaseHoldable.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using Sirenix.OdinInspector;
  5. namespace KairoEngine.Inventory
  6. {
  7. [CreateAssetMenu(fileName = "Holdable Item", menuName = "KairoEngine/Items/Holdable Item", order = 2)]
  8. public class ItemBaseHoldable : ItemBase
  9. {
  10. [TitleGroup("Holdable Item Properties")]
  11. public GameObject holdablePrefab;
  12. [TitleGroup("Holdable Item Properties")]
  13. public int animationMode = 1;
  14. [TitleGroup("Holdable Item Properties")]
  15. public Vector3 handPosition;
  16. [TitleGroup("Holdable Item Properties")]
  17. public Vector3 handRotation;
  18. [TitleGroup("Holdable Item Properties")]
  19. public Vector3 handScale;
  20. public void Setup(GameObject obj, float scaleMultiplier)
  21. {
  22. obj.transform.localPosition = handPosition * scaleMultiplier;
  23. obj.transform.localRotation = Quaternion.Euler(handRotation.x, handRotation.y, handRotation.z);
  24. obj.transform.localScale = handScale * scaleMultiplier;
  25. Rigidbody rigidBody = obj.GetComponent<Rigidbody>();
  26. if (rigidBody != null)
  27. GameObject.Destroy(rigidBody);
  28. BoxCollider boxCollider = obj.GetComponent<BoxCollider>();
  29. if (boxCollider != null)
  30. GameObject.Destroy(boxCollider);
  31. }
  32. }
  33. }