void teleport_add(RaycastHit[] cur_hits) { for (int i = 0; i < cur_hits.Length; i++) { RaycastHit hit = cur_hits[i]; GameObject teleport_start_prefab = Resources.Load("Teleport/Prefabs/Teleport") as GameObject; GameObject teleport_start = (GameObject)Instantiate(teleport_start_prefab); teleport_start.AddComponent("SphereCollider"); SphereCollider tmp = teleport_start.GetComponent("SphereCollider") as SphereCollider; tmp.isTrigger = true; tmp.radius = 1.5f; int curID = SaveInfo(); teleport_start.AddComponent("APETeleport"); teleport_start.transform.parent = (Selection.activeObject as GameObject).transform; teleport_start.name = "Teleport"; APETeleport tmp2 = teleport_start.GetComponent("APETeleport") as APETeleport; tmp2.teleportID = curID; teleport_start.transform.position = hit.point; teleport_start.tag = "TeleportObj"; } }
void OnTriggerEnter(Collider other) { if (targetID > -1) { for (int i = 0; i < all_teleports.Length; i++) { APETeleport tmp = all_teleports[i].GetComponent("APETeleport") as APETeleport; if (tmp.teleportID == targetID) { other.gameObject.transform.position = new Vector3(all_teleports[i].transform.position.x, all_teleports[i].transform.position.y + 2.0f, all_teleports[i].transform.position.z); //other.gameObject.transform.GetChildCount = false; /*atoms = (GameObject)Instantiate(atoms_prefab); * atoms.transform.position = other.gameObject.transform.position; * * MeshFilter tmpm = atoms.GetComponent<MeshFilter>(); * tmpm = other.gameObject.GetComponent<MeshFilter>();*/ } } } }
public override void OnInspectorGUI() { base.OnInspectorGUI(); control = (APETeleport)target; EditorGUILayout.BeginHorizontal(); EditorGUILayout.PrefixLabel("Select type:"); control.select_type = EditorGUILayout.Popup(control.select_type, options); EditorGUILayout.EndHorizontal(); if (control.select_type == 0) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.PrefixLabel("Target ID:"); control.targetID = EditorGUILayout.IntField(control.targetID); EditorGUILayout.EndHorizontal(); } if (GUI.changed) { EditorUtility.SetDirty(target); } }