69 lines
1.7 KiB
C#
Raw Normal View History

2025-05-18 01:04:31 +08:00
// ***********************************************************************
// Assembly : Game
// Author : Kimch
// Created : 2020-09-02
// Description :
// Last Modified By :
// Last Modified On :
// ***********************************************************************
// <copyright file= "Bullet_hammer" company="Kimch"></copyright>
// <summary></summary>
// ***********************************************************************
using UnityEngine;
namespace G
{
/// <summary>
/// 锤子
/// </summary>
public class Bullet_hammer : MonoBehaviour
{
public float postune;
private Vector3 _originScale = new Vector3(1f, 8f, 1f);
private Vector3 _growVector = new Vector3(0.8f, -2f, 0.8f);
private Color _targetColor = new Color(0.5f, 0.5f, 0.5f, 0f);
private Renderer _renderer;
private Collider _collider;
private void Awake()
{
_renderer = this.GetComponent<Renderer>();
_collider = this.GetComponent<Collider>();
}
private void OnEnable()
{
this.transform.localScale = _originScale;
this.transform.Translate(Vector3.forward * postune);
_renderer.material.color = Color.gray;
_collider.enabled = true;
}
private void Update()
{
Vector3 localScale = this.transform.localScale;
localScale += _growVector * (Time.deltaTime * 7f);
this.transform.localScale = localScale;
if (localScale.y < 1f)
{
this.gameObject.SetActive(false);
this.transform.position = Vector3.one * 4f;
}
else
{
if (localScale.y < 4f)
{
_collider.enabled = false;
}
}
var currentColor = _renderer.material.color;
var transColor = Color.Lerp(currentColor, _targetColor, Time.deltaTime * 5f);
_renderer.material.color = transColor;
}
}
}