Spirits_Invisible.cs 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using Spine.Unity;
  5. public class Spirits_Invisible : MonoBehaviour
  6. {
  7. public Demonic demonic;
  8. [HideInInspector]
  9. public GameObject player;
  10. [HideInInspector]
  11. public PlayerController playerController;
  12. public float addMp;
  13. public InvisibleSoulCollector soulCollector;
  14. public GameObject soulPrefab;
  15. public float distance;
  16. public Transform body;
  17. public Transform shootPos;
  18. public SoulFollowEffect soulFollowEffect;
  19. private void Start()
  20. {
  21. player = PlayersInput.instance[demonic.playerID].gameObject;
  22. playerController = player.GetComponent<PlayerController>();
  23. playerController.isInvisible = true;
  24. playerController.mp += addMp;
  25. for(int i = 0;i < playerController.beTargetCharacter.Count; i++)
  26. {
  27. playerController.beTargetCharacter[i].targetCharacter = null;
  28. }
  29. }
  30. private void Update()
  31. {
  32. if (playerController.btnWestPress)
  33. {
  34. if (soulCollector.soulNumbers > 0)
  35. {
  36. soulCollector.soulNumbers--;
  37. soulFollowEffect.ShowSouls(soulCollector.soulNumbers);
  38. AttackJ();
  39. }
  40. else if(playerController.mp>=10)
  41. {
  42. playerController.mp -= 10;
  43. AttackJ();
  44. }
  45. }
  46. }
  47. public void BackToPlayer()
  48. {
  49. }
  50. void AttackJ()
  51. {
  52. GameObject soulObj = Instantiate(soulPrefab);
  53. Soul soul = soulObj.GetComponent<Soul>();
  54. soul.from = shootPos.transform.position;
  55. if(body.localScale.x > 0)
  56. {
  57. soul.to = transform.position + Vector3.left * distance;
  58. }
  59. else
  60. {
  61. soul.to = transform.position + Vector3.right * distance;
  62. }
  63. soul.isShoot = true;
  64. }
  65. }