3DTD/Assets/Scripts/Tower/Tower.cs

47 lines
938 B
C#
Raw Normal View History

2024-04-20 22:19:23 +02:00
using System;
using UnityEngine;
using UnityEngine.Assertions;
public abstract class Tower : MonoBehaviour
{
2024-04-21 01:12:48 +02:00
[SerializeField]
private GameObject selectedUI;
2024-04-20 22:42:06 +02:00
protected bool selected = false;
2024-04-20 13:15:33 +02:00
protected HealthComponent healthComp;
2024-04-20 22:54:08 +02:00
protected Outline outline;
// Getters
2024-04-20 22:42:06 +02:00
public virtual void TowerSelected(bool selected)
{
this.selected = selected;
2024-04-20 22:54:08 +02:00
outline.enabled = selected;
2024-04-21 01:12:48 +02:00
selectedUI.SetActive(selected);
2024-04-20 22:42:06 +02:00
}
protected virtual void Awake()
{
healthComp = GetComponent<HealthComponent>();
2024-04-20 22:54:08 +02:00
outline = GetComponent<Outline>();
Assert.IsNotNull(healthComp);
2024-04-20 22:54:08 +02:00
Assert.IsNotNull(outline);
2024-04-20 22:19:23 +02:00
}
2024-04-20 23:32:42 +02:00
protected virtual void Start()
{
}
2024-04-20 13:15:33 +02:00
protected virtual void OnDestroy()
{
}
2024-04-20 19:22:52 +02:00
protected virtual void Update()
{
}
protected virtual void FixedUpdate()
{
}
}