/// <summary> /// Spawned the prefab. /// </summary> /// <param name="image">The ar tracked image itself.</param> /// <param name="state">The state of the image.</param> public void UpdatePrefab(ARTrackedImage image, RuntimeRiddleClueState state) { if (state == RuntimeRiddleClueState.STATE_REMOVED) { if (this._preScannedObject != null) { GameObject.Destroy(this._preScannedObject.gameObject); this._preScannedObject = null; } return; } if (this.RiddleFound) { if (this._preScannedObject == null) { // tODO: Spawn a prefab for after the scan GameObject prefab = this._gameClue.ReferenceImageData.Prefab.gameObject; GameObject spawnedObject = GameObject.Instantiate(prefab); this._preScannedObject = spawnedObject.GetComponent <RiddleScannedComponent>(); this._preScannedObject.ParentRiddle = this; } GameObject _gameObject = this._preScannedObject.gameObject; _gameObject.transform.position = image.transform.position; _gameObject.transform.rotation = image.transform.rotation; return; } if (this._preScannedObject == null) { GameObject prefab = this._gameClue.ReferenceImageData.Prefab.gameObject; GameObject spawnedObject = GameObject.Instantiate(prefab); this._preScannedObject = spawnedObject.GetComponent <RiddleScannedComponent>(); this._preScannedObject.ParentRiddle = this; } GameObject gameObject = this._preScannedObject.gameObject; gameObject.transform.position = image.transform.position; gameObject.transform.rotation = image.transform.rotation; }
public static RiddleReferenceImage CreateImage(string imageName, Texture2D texture, RiddleScannedComponent prefab) { RiddleReferenceImage referenceImage = new RiddleReferenceImage(); referenceImage.imageName = imageName; referenceImage.textureImage = texture; referenceImage.prefab = prefab; return(referenceImage); }
public RuntimeRiddle(RuntimeRiddleManager runtimeRiddleManager, GameRiddle clue) { this._gameClue = clue; this._preScannedObject = null; this._runtimeRiddleManager = runtimeRiddleManager; }
/// <summary> /// Creates a new game riddle based off of these parameters. /// </summary> /// <param name="riddleTitle">The riddle title.</param> /// <param name="riddleDescription">The riddle description</param> /// <param name="texture">The texture.</param> /// <param name="prefab">The prefab.</param> /// <returns>The game riddle output.</returns> public static GameRiddle Create(string riddleTitle, string riddleDescription, Texture2D texture, RiddleScannedComponent prefab) { GameRiddle newRiddle = GameRiddle.CreateInstance <GameRiddle>(); if (newRiddle != null) { Debug.Log(riddleTitle); string localizedName = ""; RiddleReferenceData referenceData = RiddleReferenceData.GenerateReferenceData( riddleTitle, riddleDescription); newRiddle.clueData = referenceData; RiddleReferenceImage imageData = RiddleReferenceImage.CreateImage( localizedName, texture, prefab); newRiddle.referenceImageData = imageData; newRiddle.clueLocalizedName = localizedName; newRiddle.name = localizedName; } return(newRiddle); }