triangle.cs
unknown
csharp
4 years ago
3.1 kB
10
Indexable
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class triangle : MonoBehaviour
{
private bool canClick = false;
void Start()
{
if(transform.name == "2")
{
transform.GetComponent<SpriteRenderer>().color = Color.yellow;
}
if(transform.name == "3")
{
transform.GetComponent<SpriteRenderer>().color = Color.blue;
}
if(transform.name == "4")
{
transform.GetComponent<SpriteRenderer>().color = Color.magenta;
}
}
void Update()
{
Look();
Move();
if(Input.GetKeyDown(KeyCode.UpArrow) && canClick && transform.name == "1")
{
if(GameObject.Find("Main Camera").GetComponent<SpawnTriangles>().orderTop.IndexOf(gameObject) != 0) return;
GameObject.Find("Main Camera").GetComponent<SpawnTriangles>().orderTop.Remove(this.gameObject);
Destroy(this.gameObject);
}
if(Input.GetKeyDown(KeyCode.RightArrow) && canClick && transform.name == "2")
{
if(GameObject.Find("Main Camera").GetComponent<SpawnTriangles>().orderRight.IndexOf(gameObject) != 0) return;
GameObject.Find("Main Camera").GetComponent<SpawnTriangles>().orderRight.Remove(this.gameObject);
Destroy(this.gameObject);
}
if(Input.GetKeyDown(KeyCode.DownArrow) && canClick && transform.name == "3")
{
if(GameObject.Find("Main Camera").GetComponent<SpawnTriangles>().orderDown.IndexOf(gameObject) != 0) return;
GameObject.Find("Main Camera").GetComponent<SpawnTriangles>().orderDown.Remove(this.gameObject);
Destroy(this.gameObject);
}
if(Input.GetKeyDown(KeyCode.LeftArrow) && canClick && transform.name == "4")
{
print(GameObject.Find("Main Camera").GetComponent<SpawnTriangles>().orderLeft.IndexOf(gameObject).ToString());
if(GameObject.Find("Main Camera").GetComponent<SpawnTriangles>().orderLeft.IndexOf(gameObject) != 0) return;
GameObject.Find("Main Camera").GetComponent<SpawnTriangles>().orderLeft.Remove(this.gameObject);
Destroy(this.gameObject);
}
}
private void OnCollisionEnter2D(Collision2D other)
{
GameObject.Find("protect").transform.SetParent(Camera.main.transform);
if(other.transform.name == "protect") Destroy(this.gameObject);
if(other.transform.name == "click") canClick = true;
}
void Look()
{
Vector3 diff = (GameObject.Find("protect").transform.position - transform.position);
float angle = Mathf.Atan2(-diff.y, -diff.x);
transform.rotation = Quaternion.Euler(0f, 0f, angle * Mathf.Rad2Deg);
}
void Move()
{
transform.position = Vector3.MoveTowards(transform.position, GameObject.Find("protect").transform.position, 6 * Time.deltaTime);
}
}
Editor is loading...