AirBombAnimEvent.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using System;
  2. using DatabaseModel;
  3. using LitJson;
  4. using UnityEngine;
  5. public class AirBombAnimEvent : BaseBehaviour
  6. {
  7. private void Start()
  8. {
  9. this._jsonData = SingletonMono<EnemyDataPreload>.Instance.attack[EnemyType.空雷];
  10. }
  11. public void DestroySelf()
  12. {
  13. base.Invoke("RealDestroy", 2f);
  14. base.gameObject.SetActive(false);
  15. }
  16. private void RealDestroy()
  17. {
  18. UnityEngine.Object.Destroy(base.gameObject);
  19. }
  20. public void PlayAudio(int id)
  21. {
  22. R.Audio.PlayEffect(id, new Vector3?(base.transform.position));
  23. }
  24. public void PlayAtk1Effect()
  25. {
  26. float num = (R.GameData.Difficulty > 1) ? 1.5f : 1f;
  27. int damage = (int)((float)EnemyAttrData.FindBySceneNameAndType(LevelManager.SceneName, EnemyType.空雷).atk * num);
  28. Transform transform = R.Effect.Generate(162, base.transform, default(Vector3), default(Vector3), default(Vector3), true);
  29. EnemyBullet componentInChildren = transform.GetComponentInChildren<EnemyBullet>();
  30. componentInChildren.SetAtkData(this._jsonData[base.GetComponent<StateMachine>().currentState]);
  31. componentInChildren.damage = damage;
  32. componentInChildren.origin = null;
  33. componentInChildren.EnemyTypeOfShooter = EnemyType.空雷;
  34. }
  35. private JsonData _jsonData;
  36. }