MagicaAvatarAPI.cs 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. // Magica Cloth.
  2. // Copyright (c) MagicaSoft, 2020-2022.
  3. // https://magicasoft.jp
  4. using UnityEngine;
  5. namespace MagicaCloth
  6. {
  7. /// <summary>
  8. /// MagicaAvatar API
  9. /// </summary>
  10. public partial class MagicaAvatar : CoreComponent
  11. {
  12. /// <summary>
  13. /// プレハブ状態のアバターパーツを取り付けます
  14. /// 取り付けるアバターパーツはプレハブからインスタンス化されます
  15. /// 取り付けたアバターパーツのIDを返します
  16. /// Attach avatar parts.
  17. /// Avatar parts to be attached are instantiated.
  18. //// Returns the attached avatar part ID.
  19. /// </summary>
  20. /// <param name="avatarPartsPrefab"></param>
  21. /// <param name="instanceAction">Action called after instantiation.</param>
  22. /// <returns></returns>
  23. public int AttachAvatarParts(GameObject avatarPartsPrefab, System.Action<GameObject> instanceAction = null)
  24. {
  25. var avatarPartsObject = Instantiate(avatarPartsPrefab);
  26. if (instanceAction != null)
  27. instanceAction(avatarPartsObject);
  28. return Runtime.AddAvatarParts(avatarPartsObject.GetComponent<MagicaAvatarParts>());
  29. }
  30. /// <summary>
  31. /// アバターパーツを取り外します
  32. /// 取り外されたアバターパーツは削除されます
  33. /// Remove avatar parts.
  34. /// Removed avatar parts will be deleted.
  35. /// </summary>
  36. /// <param name="partsId"></param>
  37. public void DetachAvatarParts(int partsId)
  38. {
  39. Runtime.RemoveAvatarParts(partsId);
  40. }
  41. /// <summary>
  42. /// アバターパーツを取り外します
  43. /// 取り外したアバターパーツは削除されます
  44. /// Remove avatar parts.
  45. /// Removed avatar parts will be deleted.
  46. /// </summary>
  47. /// <param name="avatarObject"></param>
  48. public void DetachAvatarParts(GameObject avatarPartsObject)
  49. {
  50. Runtime.RemoveAvatarParts(avatarPartsObject.GetComponent<MagicaAvatarParts>());
  51. }
  52. /// <summary>
  53. /// アバターパーツを取り外します
  54. /// 取り外したアバターパーツは削除されます
  55. /// Remove avatar parts.
  56. /// Removed avatar parts will be deleted.
  57. /// </summary>
  58. /// <param name="avatarObject"></param>
  59. public void DetachAvatarParts(MagicaAvatarParts parts)
  60. {
  61. Runtime.RemoveAvatarParts(parts);
  62. }
  63. }
  64. }