EquipmentExample.cs 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. using Assets.HeroEditor4D.Common.Scripts.CharacterScripts;
  2. using Assets.HeroEditor4D.Common.Scripts.Enums;
  3. using UnityEngine;
  4. namespace Assets.HeroEditor4D.Common.Scripts.ExampleScripts
  5. {
  6. /// <summary>
  7. /// An example of how to change character's equipment.
  8. /// </summary>
  9. public class EquipmentExample : MonoBehaviour
  10. {
  11. public Character4D Character;
  12. public AppearanceExample AppearanceExample;
  13. public void EquipRandomArmor()
  14. {
  15. var randomIndex = Random.Range(0, Character.SpriteCollection.Armor.Count);
  16. var randomItem = Character.SpriteCollection.Armor[randomIndex];
  17. Character.Equip(randomItem, EquipmentPart.Armor); AppearanceExample.Refresh();
  18. }
  19. public void RemoveArmor()
  20. {
  21. Character.UnEquip(EquipmentPart.Armor);
  22. AppearanceExample.Refresh();
  23. }
  24. public void EquipRandomHelmet()
  25. {
  26. var randomIndex = Random.Range(0, Character.SpriteCollection.Armor.Count);
  27. var randomItem = Character.SpriteCollection.Armor[randomIndex];
  28. Character.Equip(randomItem, EquipmentPart.Helmet);
  29. AppearanceExample.Refresh();
  30. }
  31. public void RemoveHelmet()
  32. {
  33. Character.UnEquip(EquipmentPart.Helmet);
  34. AppearanceExample.Refresh();
  35. }
  36. public void EquipRandomShield()
  37. {
  38. var randomIndex = Random.Range(0, Character.SpriteCollection.Shield.Count);
  39. var randomItem = Character.SpriteCollection.Shield[randomIndex];
  40. Character.Equip(randomItem, EquipmentPart.Shield);
  41. }
  42. public void RemoveShield()
  43. {
  44. Character.UnEquip(EquipmentPart.Shield);
  45. }
  46. public void EquipRandomWeapon()
  47. {
  48. var randomIndex = Random.Range(0, Character.SpriteCollection.MeleeWeapon1H.Count);
  49. var randomItem = Character.SpriteCollection.MeleeWeapon1H[randomIndex];
  50. Character.Equip(randomItem, EquipmentPart.MeleeWeapon1H);
  51. }
  52. public void RemoveWeapon()
  53. {
  54. Character.UnEquip(EquipmentPart.MeleeWeapon1H);
  55. }
  56. }
  57. }