using mh; using MH; using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class BladeScript : ProjectileBase { [NonSerialized] public float life; public Vector2 dir; private static List collisions = new List(); private FastCircleCollider collider; private SpriteRenderer sr { get { return this.gameObject.GetComponent(); } } public void Start() { collider = GetComponent(); Invoke("DestroySelf", life); // Attack(); } void DestroySelf() { Destroy(this.gameObject); } public void Update() { Color c = sr.color; c.a *= 0.99f; sr.color = c; transform.localRotation *= Quaternion.Euler(0, 0, 20); transform.position += (dir * Time.deltaTime * 10f).ToVector3(); } public void SetFlip(bool flip) { sr.flipX = flip; } public void Attack() { Vector3 pos = transform.position; if (PhysicsManager.Instance.RetriveHurtboxes(ref collisions, new Vector4(pos.x, pos.y, 2, 2))) { for (int i = 0; i < collisions.Count; i++) { var col = collisions[i] as MonoBehaviour; if (col != null) { if (col is FastBoxCollider) { var box = col as FastBoxCollider; if (box != null) { if (PhysicsManager.BoxVsCircle(box.box, collider.circle)) { GameObject.Destroy(box.gameObject); } } } } } } } public void FixedUpdate() { Attack(); } }