Загрузка данных
Item.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Item : MonoBehaviour
{
public GameObject pickupEffect;
private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.tag == "Player")
{
Player player = collision.GetComponent<Player>();
player.points++;
GameObject effect = Instantiate(pickupEffect, transform.position, transform.rotation);
Destroy(effect, 5);
Destroy(this.gameObject);
}
}
}
Projectile.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Projectile : MonoBehaviour
{
public float speed = 10f;
public GameObject explosion;
void Start()
{
Destroy(gameObject, 1f);
}
void Update()
{
transform.position = (Vector2)transform.position + Vector2.up * speed * Time.deltaTime;
}
private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.tag == "Obstacle")
{
GameObject effect = Instantiate(explosion, transform.position, transform.rotation);
Destroy(effect, 5);
Destroy(collision.gameObject);
Destroy(gameObject);
}
}
}
Obstacle.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Obstacle : MonoBehaviour
{
public float scaleMax = 1.3f;
public float scaleMin = 0.7f;
public float rotationMax = 180f;
public float rotationMin = 0f;
public GameObject explosionPlayer;
private void OnTriggerEnter2D(Collider2D collision)
{
if(collision.tag == "Player")
{
Player player = collision.GetComponent<Player>();
GameObject effect = Instantiate(explosionPlayer, player.transform.position, player.transform.rotation);
Destroy(effect, 5);
Destroy(collision.gameObject);
}
}
private void Start()
{
randomSize();
randomRotation();
}
void randomSize()
{
float scaleFactor = Random.Range(scaleMin, scaleMax);
transform.localScale = (Vector2)transform.localScale * scaleFactor;
}
void randomRotation()
{
float rotationFactor = Random.Range(rotationMin, rotationMax);
transform.localEulerAngles = Vector3.forward * rotationFactor;
}
}
UI.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
using UnityEngine.SceneManagement;
public class UI : MonoBehaviour
{
public Player player;
public TextMeshProUGUI pointsText;
public GameObject defeatUI;
void Update()
{
pointsText.text = player.points.ToString();
if (player == null)
{
defeatUI.SetActive(true);
}
}
public void OnClickRestart() {
int index = SceneManager.GetActiveScene().buildIndex;
SceneManager.LoadScene(index);
}
}
UI.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
using UnityEngine.SceneManagement;
public class UI : MonoBehaviour
{
public Player player;
public TextMeshProUGUI pointsText;
public GameObject defeatUI;
void Update()
{
pointsText.text = player.points.ToString();
if (player == null)
{
defeatUI.SetActive(true);
}
}
public void OnClickRestart() {
int index = SceneManager.GetActiveScene().buildIndex;
SceneManager.LoadScene(index);
}
}
MainMenu.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class MainMenu : MonoBehaviour
{
public string sceneName;
public void OnClickStart()
{
SceneManager.LoadScene(sceneName);
}
public void OnClickExit()
{
Application.Quit();
print("Exit was clicked");
}
}
DontDestroyOnLoad.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DontDestroyOnLoad : MonoBehaviour
{
void Start()
{
DontDestroyOnLoad(this.gameObject);
}
}