void OnCollisionEnter(Collision col) { Enchantable e = col.gameObject.GetComponent <Enchantable>(); if (e != null) { e.disenchant(); } }
void OnTriggerEnter(Collider col) { Enchantable e = col.gameObject.GetComponent <Enchantable>(); if (e != null) { e.disenchant(); } }
void OnGUI() { List <GameObject> to_remove = new List <GameObject>(); foreach (GameObject obj in enchanted_objects) { if (!obj.GetComponent <Enchantable>().hasRunningEnchantment()) { //if(!obj.GetComponent<Enchantable>().isEnchanted()) to_remove.Add(obj); } } foreach (GameObject obj in to_remove) { //enchanted_objects.RemoveAt(enchanted_objects.LastIndexOf(obj)); enchanted_objects.Remove(obj); } int index = Mathf.FloorToInt(Time.time * 20) % frames.Length; Texture2D texture = frames[index]; GUI.BeginGroup(new Rect(10, 30, 200, Screen.height / 2)); int count = 0; foreach (GameObject obj in enchanted_objects) { Enchantable e = obj.GetComponent <Enchantable>(); //string name = e.getFileName(); List <string> names = e.getFileNames(); // if(GUI.Button(new Rect(0,count * 55, 200, 40), "")) // { // obj.GetComponent<Enchantable>().disenchant(); // } foreach (string name in names) { if (GUI.Button(new Rect(0, count * 55, 200, 40), "")) { //ProgramLogger.LogKV("button", name); obj.GetComponent <Enchantable>().disenchant(name); } GUI.DrawTexture(new Rect(10, count * 55 + 7, 25, 25), texture); GUI.Label(new Rect(55, count * 55 + 10, 100, 25), name); count++; } } GUI.EndGroup(); }
public void absorbSpell(GameObject target) { SetHidden(false); Enchantable enchantable = (target.GetComponent("Enchantable") as Enchantable); if (enchantable == null) { SetHidden(false); return; } string file_name = enchantable.disenchant(); //string file_name = enchantable.getJune().getFileName(); setCurrentFile(file_name); }