2025-05-18 01:04:31 +08:00

84 lines
1.8 KiB
C#

// ***********************************************************************
// Assembly : Game
// Author : Kimch
// Created : 2020-09-02
// Description :
// Last Modified By :
// Last Modified On :
// ***********************************************************************
// <copyright file= "Bullet_delay" company="Kimch"></copyright>
// <summary></summary>
// ***********************************************************************
using UnityEngine;
namespace G
{
/// <summary>
///
/// </summary>
public class Bullet_delay : MonoBehaviour
{
public float show_delay;
public float disable_delay;
private float _currentTime;
private bool _renderOn;
private Collider _collider;
private Renderer _renderer;
private Vector3 _originScale;
private void Awake()
{
_originScale = transform.localScale;
this.transform.localScale = _originScale * 0.1f;
_renderer = this.GetComponent<Renderer>();
_collider = this.GetComponent<Collider>();
if (!_renderer)
{
_renderOn = true;
}
}
private void OnEnable()
{
_currentTime = 0f;
_renderer.enabled = false;
_collider.enabled = false;
}
private void Update()
{
_currentTime += Time.deltaTime;
if (_currentTime >= disable_delay)
{
this.gameObject.SetActive(false);
_currentTime = 0f;
_renderOn = false;
_renderer.enabled = false;
_collider.enabled = false;
this.transform.localScale = _originScale * 0.1f;
}
else if (_renderOn)
{
Vector3 localScale = this.transform.localScale;
if (localScale.x < _originScale.x)
{
transform.localScale = localScale + Vector3.one * (Time.deltaTime * 4f);
}
}
else if (_currentTime >= show_delay)
{
_collider.enabled = true;
if (_renderer)
{
_renderer.enabled = true;
_renderOn = true;
}
}
}
}
}