mirror of
https://github.com/Steffo99/gravity-fusion.git
synced 2024-11-26 02:04:18 +00:00
54 lines
2 KiB
C#
54 lines
2 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
public class SpawnOnMouseClick : MonoBehaviour
|
|
{
|
|
[Header("Config")]
|
|
public int mouseButton = 0;
|
|
public int spawnedTier = 0;
|
|
public int spawnCount = 1;
|
|
public float appliedForce = 0.1f;
|
|
|
|
protected Camera camera;
|
|
protected GameController gameController;
|
|
|
|
protected void Awake() {
|
|
gameController = GameObject.FindGameObjectWithTag("GameController").GetComponent<GameController>();
|
|
camera = GetComponent<Camera>();
|
|
}
|
|
|
|
protected void SpawnAtPosition(Vector3 position) {
|
|
if(gameController.blackHole == null) {
|
|
gameController.blackHole = Instantiate(gameController.blackHolePrefab, new Vector3(position.x, position.y, 0f), Quaternion.identity).GetComponent<BlackHole>();
|
|
gameController.tutorial.Step2();
|
|
gameController.musicManager.UpdateLayers(-1);
|
|
}
|
|
else {
|
|
for(int i = 0; i < spawnCount; i++) {
|
|
GameObject particleObject = Instantiate(gameController.particlePrefab, new Vector3(position.x, position.y, 0f), Quaternion.identity);
|
|
Particle particle = particleObject.GetComponent<Particle>();
|
|
particle.Tier = spawnedTier;
|
|
Vector2 direction = new Vector2(Random.value - 0.5f, Random.value - 0.5f).normalized;
|
|
particle.rigidbody.AddForce(direction * appliedForce);
|
|
}
|
|
}
|
|
}
|
|
|
|
protected void Update()
|
|
{
|
|
bool canSpawn = !gameController.upgradePanel.gameObject.activeSelf;
|
|
if(Application.platform == RuntimePlatform.Android) {
|
|
foreach(Touch touch in Input.touches) {
|
|
if(touch.phase == TouchPhase.Began) {
|
|
SpawnAtPosition(camera.ScreenToWorldPoint(touch.position));
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
if(Input.GetMouseButtonDown(mouseButton)) {
|
|
SpawnAtPosition(camera.ScreenToWorldPoint(Input.mousePosition));
|
|
}
|
|
}
|
|
}
|
|
}
|