74 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= "EntityTower" company="Kimch"></copyright>
// <summary></summary>
// ***********************************************************************
using UnityEngine;
namespace G
{
public class EntityTower : Entity
{
public Transform arrow;
private Transform mytransform;
private Transform c_arrow;
private Collider mycollider;
private Vector3 arrowdir;
private float reload_delay;
private short cur_stage_index;
private void Awake()
{
mytransform = base.transform;
mycollider = base.GetComponent<Collider>();
}
private void Start()
{
cur_stage_index = 1;
c_arrow = Object.Instantiate(arrow, mytransform.position, Quaternion.identity);
c_arrow.GetComponent<EnemyDamage>().PressDamage(cur_stage_index + 1);
}
private void OnTriggerEnter(Collider other)
{
if (other.gameObject.layer == GameLayer.AllyLayer)
{
mycollider.enabled = false;
arrowdir = other.transform.position - mytransform.position;
c_arrow.position = mytransform.position;
c_arrow.rotation = Quaternion.LookRotation(arrowdir);
c_arrow.gameObject.SetActive(true);
arrowdir[1] = 0f;
mytransform.rotation = Quaternion.LookRotation(arrowdir);
reload_delay = 2f;
}
}
private void Update()
{
if (reload_delay > 0f)
{
reload_delay -= Time.deltaTime;
if (reload_delay < 0f)
{
reload_delay = 0f;
mycollider.enabled = true;
}
}
}
}
}