using System.Collections; using System.Collections.Generic; using UnityEngine; public class JuureKood2 : MonoBehaviour { // Start is called before the first frame update // List nupud=new List(); Dictionary nupud=new Dictionary(); void Start() { GameObject kuup1=GameObject.CreatePrimitive(PrimitiveType.Cube); kuup1.transform.position=new Vector3(2, 0, 0); kuup1.name="koht_2"; GameObject kuup2=GameObject.CreatePrimitive(PrimitiveType.Cube); kuup2.transform.position=new Vector3(-2, 0, 0); kuup2.name="koht_-2"; //nupud.Add(kuup1); //nupud.Add(kuup2); nupud[kuup1.name]=kuup1; nupud[kuup2.name]=kuup2; Debug.Log("Kohal 2 " +nupud["koht_2"]); Debug.Log("Kohal 3 " +nupud.ContainsKey("koht_3")); Liigu("koht_2", 1); Debug.Log("Kohal 3 " +nupud.ContainsKey("koht_3")); } void Liigu(string asukoht, int samm){ int vananr=int.Parse(asukoht.Split("_")[1]); int uusnr=vananr+samm; string uusnimi="koht_"+uusnr; if(nupud.ContainsKey(uusnimi)){ Debug.Log(uusnimi+" kinni"); //Kui teine nupp on ees, hüpatakse sellest üle //ning teine nupp läheb palju väiksemaks } else { GameObject obj=nupud[asukoht]; obj.transform.position=new Vector3(uusnr, 0, 0); //obj.transform.localScale*=0.8f; nupud.Remove(asukoht); nupud[uusnimi]=obj; obj.name=uusnimi; } } // Update is called once per frame void Update() { if(Input.GetMouseButtonDown(0)){ Ray kiir=Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit tabamus; if(Physics.Raycast(kiir, out tabamus, 100)){ Debug.Log(tabamus.transform.gameObject.name); Liigu(tabamus.transform.gameObject.name, 1); //Liiguta vajutatud kuubikut paremale //tabamus.transform.position+=new Vector3(1, 0, 0); } } //Vajutatud kuubik liigub ühe sammu võrra paremale //juhul kui ei ole ees teist kuubikut } }