75 lines
1.7 KiB
C#
75 lines
1.7 KiB
C#
![]() |
using UnityEngine;
|
|||
|
|
|||
|
public class Bomb_b11 : MonoBehaviour
|
|||
|
{
|
|||
|
public float uvspeed = 1f;
|
|||
|
|
|||
|
public float hitrate = 0.2f;
|
|||
|
|
|||
|
public float startdelay = 0.1f;
|
|||
|
|
|||
|
public float finishdelay = 3f;
|
|||
|
|
|||
|
private float delay;
|
|||
|
|
|||
|
private Material mymaterial;
|
|||
|
|
|||
|
private Collider mycollider;
|
|||
|
|
|||
|
private Vector2 offset;
|
|||
|
|
|||
|
private Transform mytransform;
|
|||
|
|
|||
|
private float scalefactor = 12f;
|
|||
|
|
|||
|
#pragma warning disable CS0649 // 从未对字段“Bomb_b11.particleoff”赋值,字段将一直保持其默认值 false
|
|||
|
private bool particleoff;
|
|||
|
#pragma warning restore CS0649 // 从未对字段“Bomb_b11.particleoff”赋值,字段将一直保持其默认值 false
|
|||
|
|
|||
|
private void Awake()
|
|||
|
{
|
|||
|
mytransform = base.transform;
|
|||
|
mymaterial = base.GetComponent<Renderer>().sharedMaterial;
|
|||
|
mycollider = base.GetComponent<Collider>();
|
|||
|
}
|
|||
|
|
|||
|
private void OnEnable()
|
|||
|
{
|
|||
|
offset = Vector2.zero;
|
|||
|
mymaterial.mainTextureOffset = Vector2.zero;
|
|||
|
InvokeRepeating("DanceHit", startdelay, hitrate);
|
|||
|
mytransform.localScale = Vector3.one * 2f;
|
|||
|
delay = 0f;
|
|||
|
scalefactor = 12f;
|
|||
|
//mytransform.GetChild(0).particleEmitter().emit = true;
|
|||
|
}
|
|||
|
|
|||
|
private void DanceHit()
|
|||
|
{
|
|||
|
mycollider.enabled = false;
|
|||
|
mycollider.enabled = true;
|
|||
|
}
|
|||
|
|
|||
|
private void Update()
|
|||
|
{
|
|||
|
offset += Vector2.up * Time.deltaTime * uvspeed;
|
|||
|
if (delay > finishdelay)
|
|||
|
{
|
|||
|
CancelInvoke();
|
|||
|
mycollider.enabled = false;
|
|||
|
mytransform.position = Vector3.one * 38f;
|
|||
|
base.gameObject.SetActive(false);
|
|||
|
delay = 0f;
|
|||
|
return;
|
|||
|
}
|
|||
|
scalefactor -= Time.deltaTime * 10f;
|
|||
|
delay += Time.deltaTime;
|
|||
|
mymaterial.mainTextureOffset = offset;
|
|||
|
mytransform.localScale += Vector3.one * Time.deltaTime * scalefactor;
|
|||
|
if (!particleoff && delay > 0.5f)
|
|||
|
{
|
|||
|
mytransform.GetChild(0).particleEmitter().emit = false;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|