53 lines
1.3 KiB
C#
53 lines
1.3 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.Events;
|
|
|
|
public class CuttableTree : MonoBehaviour
|
|
{
|
|
private Quaternion rotation;
|
|
public GameObject stumpPrefab;
|
|
public GameObject logPrefab;
|
|
|
|
[SerializeField]
|
|
private UnityEvent onCut;
|
|
|
|
// Start is called before the first frame update
|
|
void Start()
|
|
{
|
|
|
|
}
|
|
|
|
// Update is called once per frame
|
|
void Update()
|
|
{
|
|
|
|
}
|
|
|
|
void OnTriggerEnter(Collider other)
|
|
{
|
|
if (other.tag == "Cutter")
|
|
{
|
|
rotation = transform.rotation;
|
|
rotation *= Quaternion.AngleAxis(20, Vector3.up);
|
|
Instantiate(stumpPrefab, transform.position, rotation);
|
|
Instantiate(logPrefab, transform.position + new Vector3(0, 1, 0), rotation);
|
|
onCut.Invoke();
|
|
Destroy(gameObject);
|
|
}
|
|
}
|
|
void OnCollisionEnter(Collision collision)
|
|
{
|
|
if (collision.gameObject.tag == "Cutter")
|
|
{
|
|
rotation = transform.rotation;
|
|
rotation *= Quaternion.AngleAxis(20, Vector3.up);
|
|
Instantiate(stumpPrefab, transform.position, rotation);
|
|
Instantiate(logPrefab, transform.position + new Vector3(0, 1, 0), rotation);
|
|
onCut.Invoke();
|
|
Destroy(gameObject);
|
|
}
|
|
|
|
}
|
|
}
|