diff options
author | chai <215380520@qq.com> | 2023-11-26 23:52:30 +0800 |
---|---|---|
committer | chai <215380520@qq.com> | 2023-11-26 23:52:30 +0800 |
commit | 626381f061cde0c78564f6336e3131835cf20a5b (patch) | |
tree | d9991d6eda6ae5d7649ac91ecaa3b4dc833cd4c3 /Assembly_CSharp/GamePlay/SpawnableObject.cs | |
parent | 0e63c4a2c6dec8dfa260501fb7d73750261ea7b7 (diff) |
* move
Diffstat (limited to 'Assembly_CSharp/GamePlay/SpawnableObject.cs')
-rw-r--r-- | Assembly_CSharp/GamePlay/SpawnableObject.cs | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/Assembly_CSharp/GamePlay/SpawnableObject.cs b/Assembly_CSharp/GamePlay/SpawnableObject.cs new file mode 100644 index 0000000..fd7b169 --- /dev/null +++ b/Assembly_CSharp/GamePlay/SpawnableObject.cs @@ -0,0 +1,54 @@ +using UnityEngine; + +public class SpawnableObject : MonoBehaviour, IBuildable +{ + [SerializeField] + private GameObject artStuff; + + [SerializeField] + private bool randomRotation = true; + + [SerializeField] + private float spawnChance; + + [SerializeField] + private Vector2 spawnLevels; + + [SerializeField] + protected GameObject UIObject; + + protected bool spawned; + + protected virtual void Start() + { + if ((float)SpawnManager.instance.level >= spawnLevels.x && (float)SpawnManager.instance.level <= spawnLevels.y && Random.Range(1f, 100f) < 100f * spawnChance) + { + if (randomRotation) + { + artStuff.transform.eulerAngles = new Vector3(0f, Random.Range(0, 4) * 90, 0f); + } + artStuff.SetActive(value: true); + spawned = true; + } + else + { + Object.Destroy(base.gameObject); + } + } + + public void SetStats() + { + } + + public virtual void SpawnUI() + { + if (UIObject != null) + { + Object.Instantiate(UIObject, base.transform.position, Quaternion.identity); + } + } + + public void Demolish() + { + } +} |