private void CheckTrigger(SceneTrigger trigger, string tag = "") { foreach (SceneInfo info in sceneInfo) { // Check for trigger, optional object marker, and optional collision object tag if ((info.trigger == trigger) && (info.marker.IsEmpty() || transform.Find(info.marker) == null) && (trigger != SceneTrigger.TriggerEnter2D || info.tag == tag)) { // Check for keypresses if (trigger == SceneTrigger.KeyDown) { bool keyIsDown = false; foreach (KeyCode keyCode in info.keyCodes) { if (Input.GetKeyDown(keyCode)) { keyIsDown = true; } break; } if (keyIsDown) { LoadScene(info); } } // Success, load scene else { LoadScene(info); } } } }
static Example.MapTrigger ExportMapTrigger(List<Example.MapTrigger> triggers,SceneTrigger sceneTrigger){ Example.MapTrigger trigger = new Example.MapTrigger (); trigger.type = (Example.MapTrigger.Type)(sceneTrigger.triggerType); trigger.shape = (Example.MapTrigger.Shape)(sceneTrigger.shape); trigger.Data = sceneTrigger.triggerData; trigger.Center = MapUtil.ToVector3f(sceneTrigger.transform.position); trigger.Rotation = MapUtil.ToVector3f(sceneTrigger.transform.rotation.eulerAngles); if (sceneTrigger.GetComponent<SphereCollider> () != null) { trigger.Radius = sceneTrigger.GetComponent<SphereCollider> ().radius; } if (sceneTrigger.GetComponent<BoxCollider> () != null) { var size = sceneTrigger.GetComponent<BoxCollider> ().size; var scale = sceneTrigger.transform.localScale; trigger.Size = MapUtil.ToVector3f( new Vector3(size.x * scale.x,size.y*scale.y,size.z*scale.z)); } trigger.ObjPath = sceneTrigger.effectName; trigger.AutoShow = sceneTrigger.autoShow; triggers.Add (trigger); trigger.Id = triggers.Count; sceneTrigger.objectId = trigger.Id; return trigger; }
public static void CreateResetTriggerAction(GameObject target, SceneTrigger trigger) { var action = CreateAction <TriggerEventAction> (target, Example.MapEventAction.Type.RESET_TRIGGER, null); action.triggerObj = trigger; Selection.activeGameObject = action.gameObject; }
// SORTEIA UMA CENA ALEATORIA DA LISTA PARA SER ATIVA NO GAME public void AcvateScene() { int index = Random.Range(0, scenesToSpawn.Count); //scenePositionBkp = new Vector3(4.1f, 0, 0); while (true) { GameObject scene = scenesToSpawn[index]; if (!scene.gameObject.activeInHierarchy) // VERIFICA SE A CENA JA ESTA SENDO UTILIZADA { scenesToSpawn[index].gameObject.SetActive(true); SceneTrigger sceneTrigger = scenesToSpawn[index].gameObject.GetComponentInChildren <SceneTrigger>(); sceneTrigger.canGenerate = true; testTrashScene2(scene); if (scenePositionBkp.x != 0 && !gameObject.scene.name.Equals("Fase01")) { scenesToSpawn[index].transform.position = scenePositionBkp; } else { if (baseScene.scene.name.Equals("Fase09")) { scenesToSpawn[index].transform.position = new Vector3(baseScene.transform.position.x + 31.81f, 0.48f, baseScene.transform.position.z); } else if (baseScene.scene.name.Equals("Fase01")) { scenesToSpawn[index].transform.position = nextScenes.transform.position; } else if (!baseScene.scene.name.Equals("Fase01") || !baseScene.scene.name.Equals("Fase02")) { //scenesToSpawn[index].transform.position = nextScenes.transform.position; scenesToSpawn[index].transform.position = new Vector3(baseScene.transform.position.x + 29.10f, baseScene.transform.position.y, baseScene.transform.position.z); } else { scenesToSpawn[index].transform.position = nextScenes.transform.position; } } //scenePositionBkp = scene.transform; scenePositionBkp = new Vector3(scene.transform.position.x + 29.10f, scene.transform.position.y, scene.transform.position.z); break; } else { index = Random.Range(0, scenesToSpawn.Count); } } }
protected override void OnUpdate() { if (triggerObj != null) { objPath = MapEventHelper.GetGameObjectPath(triggerObj.transform); triggerId = triggerObj.objectId; } else if (!string.IsNullOrEmpty(objPath) && triggerObj == null) { triggerObj = GameObject.Find(objPath).GetComponent <SceneTrigger> (); } else { triggerObj = FindTrigger(triggerId); } }
private void OnEnable() { trigger = (SceneTrigger)target; SceneView.onSceneGUIDelegate += (SceneView.OnSceneFunc)System.Delegate.Combine(SceneView.onSceneGUIDelegate, new SceneView.OnSceneFunc(CustomOnSceneGUI)); }