using System; using GameWorld; using LitJson; using UnityEngine; public class GiantBullet : BaseBehaviour { private bool isOnGround { get { RaycastHit2D hit = Physics2D.Raycast(base.transform.position, -Vector2.up, 0.36f, LayerManager.GroundMask); return hit; } } private void Start() { this.euler = base.transform.rotation.eulerAngles; this._rigidbody2D = base.GetComponent(); } private void Update() { this.euler = base.transform.rotation.eulerAngles; this._rigidbody2D.velocity = new Vector2(-Mathf.Sin(this.euler.z * 0.0174532924f), Mathf.Cos(this.euler.z * 0.0174532924f)); if (this.isOnGround) { if (!this.isUseExplosion) { this.isUseExplosion = true; } EffectController.TerminateEffect(base.gameObject); } } public void OnTriggerEnter2D(Collider2D collision) { if (collision.name == "PlayerHurtBox") { PlayerHurtAtkEventArgs args = new PlayerHurtAtkEventArgs(collision.transform.parent.gameObject, base.gameObject, this.attacker.gameObject, this.damage, Incrementor.GetNextId(), this.atkData, false); EventManager.PostEvent("PlayerHurtAtk", base.transform, args); } } [SerializeField] private string data; [SerializeField] private JsonData atkData; public int damage; private Vector3 euler; public Transform attacker; private bool isUseExplosion; private Rigidbody2D _rigidbody2D; }