Inheritance: MonoBehaviour
Example #1
0
        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);
                    }
                }
            }
        }
Example #2
0
	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;
    }
Example #4
0
    // 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);
            }
        }
    }
Example #5
0
 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);
     }
 }
Example #6
0
    private void OnEnable()
    {
        trigger = (SceneTrigger)target;

        SceneView.onSceneGUIDelegate += (SceneView.OnSceneFunc)System.Delegate.Combine(SceneView.onSceneGUIDelegate, new SceneView.OnSceneFunc(CustomOnSceneGUI));
    }