public override void OnGUI(GameObject gameObject) { base.OnGUI(gameObject); GUIFactory f = new GUIFactory (); GUIComponent c = f.CreateLabel ("Total : " + total + "\n" + "Affected : " + affectedTally) .SetBox(new Box() .SetMarginLeft(0.01f) .SetMarginTop(0.01f) .SetWidth(0.2f) .SetHeight (0.2f) ); GUILabel l = (GUILabel) c; l.SetStyle(s); f.Build ().OnGUI (gameObject); }
public override void OnGUI(GameObject gameObject) { base.OnGUI(gameObject); GUIFactory f = new GUIFactory(); GUIComponent c = f.CreateLabel("Total : " + total + "\n" + "Affected : " + affectedTally) .SetBox(new Box() .SetMarginLeft(0.01f) .SetMarginTop(0.01f) .SetWidth(0.2f) .SetHeight(0.2f) ); GUILabel l = (GUILabel)c; l.SetStyle(s); f.Build().OnGUI(gameObject); }
static FlowControl() { // Draw Panel // Draw buttons: // Create "Start a Lesson" Button GUIButton startALessonButton = new GUIButton(); startALessonButton .SetText("Pick A Lesson") .OnClick(FlowControl.GoToLessonScreen) .SetBox((new Box()) .SetMarginTop (0.0f) .SetMarginRight (0.0f) .SetMarginBottom (0.80f) .SetMarginLeft (0.0f)); // Create "Visit Mantaray AR Website" Button GUIButton getARTargets = new GUIButton(); getARTargets .SetText(GUIConst.getARTargets) .OnClick(FlowControl.GetTargets) .SetBox((new Box()) .SetMarginTop (0.25f) .SetMarginRight (0.0f) .SetMarginBottom (0.55f) .SetMarginLeft (0.0f)); // Create "Visit Mantaray AR Website" Button GUIButton visitMantarayARWebsiteButton = new GUIButton(); visitMantarayARWebsiteButton .SetText(GUIConst.visitMantarayARWebsiteText) .OnClick(FlowControl.GoToWebsite) .SetBox((new Box()) .SetMarginTop (0.50f) .SetMarginRight (0.0f) .SetMarginBottom (0.30f) .SetMarginLeft (0.0f)); // Create "Return" Button GUIButton exitMenuButton = new GUIButton(); exitMenuButton .SetText("Go Back") .OnClick(FlowControl.ExitMenu) .SetBox((new Box()) .SetMarginTop (0.75f) .SetMarginRight (0.0f) .SetMarginBottom (0.05f) .SetMarginLeft (0.0f)); // Build the GUI GUIFactory factory = new GUIFactory (); factory .Append(new GUIImage("dark-transparent-swatch").SetScaleMode(ScaleMode.StretchToFill)); factory .CreateContainer () .SetBox ((new Box ()) .SetMarginTop (0.2f) .SetMarginRight (0.2f) .SetMarginBottom (0.2f) .SetMarginLeft (0.2f)) .Append (startALessonButton) .Append (getARTargets) .Append (visitMantarayARWebsiteButton) .Append (exitMenuButton); FlowControl.gui = factory.Build(); }
/** * Initialization code. * * Set up distances and origin points. */ void Start() { controller = GetComponent <CharacterController>(); // Adjust the collider size to fit a fish controller.height = colliderHeight; controller.radius = colliderRadius; model = this.GetComponent <ARModel>(); cam = Camera.main; float componentMaxDistance = maxDistance / 2; float x = Random.Range(-componentMaxDistance, componentMaxDistance); float y = Random.Range(0, componentMaxDistance * 2); float z = Random.Range(-componentMaxDistance, componentMaxDistance); Vector3 startPoint = origin + new Vector3(x, y, z); transform.Translate(startPoint); centerPoint = origin; affected = gameObject.name.Contains("affected"); // ------------------------ Set up GUI ----------------------------------- \\ // Create affected button GUIButton isAffected = new GUIButton(); isAffected.SetText("Yes"); isAffected.SetBox(new Box() .SetMarginTop("auto") .SetMarginRight(0.01f) .SetMarginLeft("auto") .SetMarginBottom(0.01f) .SetWidth(Screen.width * 0.2 + "px") .SetHeight(0.4f)); isAffected.OnClick(this.IThinkItsAffected); // Create not affected button GUIButton isNotAffected = new GUIButton(); isNotAffected.SetText("No"); isNotAffected.SetBox(new Box() .SetMarginTop("auto") .SetMarginRight("auto") .SetMarginLeft(0.01f) .SetMarginBottom(0.01f) .SetWidth(Screen.width * 0.2 + "px") .SetHeight(0.4f)); isNotAffected.OnClick(this.IThinkItsNotAffected); GUIFactory factory = new GUIFactory(); factory.CreateLabel("Has this fish been affected by oil?") .SetBox(new Box() .SetMarginBottom(0.1f) .SetMarginTop(0.6f) .SetMarginLeft(0.1f) .SetMarginRight(0.1f)) .Append(isAffected) .Append(isNotAffected); gui = factory.Build(); // -------------------- Look closely GUI Set up ----------------------------------- \\ // Create Confirm button GUIButton confirm = new GUIButton(); confirm.SetText("Okay"); confirm.SetBox(new Box() .SetMarginTop("auto") .SetMarginRight(0.01f) .SetMarginLeft("auto") .SetMarginBottom(0.01f) .SetWidth(Screen.width * 0.2 + "px") .SetHeight(0.4f)); confirm.OnClick(this.Confirm); GUIFactory lookCloselyGUIFactory = new GUIFactory(); GUIComponent gc = lookCloselyGUIFactory.CreateLabel("Look closely! Fish affected by pollution will have splotches of oil across their scales.") .SetBox(new Box() .SetMarginBottom(0.1f) .SetMarginTop(0.6f) .SetMarginLeft(0.1f) .SetMarginRight(0.1f)); GUILabel gl = (GUILabel)gc; GUIStyle gs = GUIStyles.GetInstance().DEFAULT_WHITE_STYLE; gs.wordWrap = true; gl.SetStyle(gs); gc.Append(confirm); lookCloselyGUI = lookCloselyGUIFactory.Build(); // --------------------- alreadyExaminedGUI -------------------------------------- \\ // Create Confirm button GUIButton confirmAlreadyExamined = new GUIButton(); confirmAlreadyExamined.SetText("Okay"); confirmAlreadyExamined.SetBox(new Box() .SetMarginTop("auto") .SetMarginRight(0.01f) .SetMarginLeft("auto") .SetMarginBottom(0.01f) .SetWidth(Screen.width * 0.2 + "px") .SetHeight(0.4f)); confirmAlreadyExamined.OnClick(this.ConfirmAlreadyExamined); GUIFactory alreadyExaminedGUIFactory = new GUIFactory(); alreadyExaminedGUIFactory.CreateLabel("You have already examined this fish.") .SetBox(new Box() .SetMarginBottom(0.1f) .SetMarginTop(0.6f) .SetMarginLeft(0.1f) .SetMarginRight(0.1f)) .Append(confirmAlreadyExamined); alreadyExaminedGUI = alreadyExaminedGUIFactory.Build(); }
// Use this for initialization void Start() { // Create a list of lessons List<Lesson> lessons = CustomLessons.GetInstance().GetLessons(); // Create Go Back to Menu Button GUIButton goBack = new GUIButton (); goBack .SetText("Go Back to Main Menu") .OnClick(FlowControl.ShowMainMenu) .SetBox((new Box()) .SetMarginTop (0.0f) .SetMarginRight (0.0f) .SetMarginBottom (0.0f) .SetMarginLeft (0.0f)); // Create "Help" Button GUIButton helpButton = new GUIButton (); helpButton .SetText(GUIConst.helpButtonText) .OnClick(FlowControl.ShowHelpMenu) .SetBox((new Box()) .SetMarginTop (0.0f) .SetMarginRight (0.0f) .SetMarginBottom (0.0f) .SetMarginLeft (0.0f)); GUIFactory factory = new GUIFactory (); factory .Append(new GUIImage("splash-background")); // Attach them to a "Lesson Scroll Area" factory .CreateScrollArea () .SetBox((new Box()) .SetMarginBottom(0.1f) .SetMarginTop(0.1f) .SetMarginLeft(0.1f) .SetMarginRight(0.1f)) .Append(new GUILessonList(lessons)); factory.CreateContainer() .SetBox ((new Box()) .SetMarginTop ("auto") .SetMarginLeft ("5px") .SetMarginBottom ("5px") .SetMarginRight ("auto") .SetHeight (0.08f) .SetWidth(0.4f)).Append (goBack); factory .CreateContainer () .SetBox ((new Box()) .SetMarginTop ("auto") .SetMarginLeft ("auto") .SetMarginBottom ("5px") .SetMarginRight ("5px") .SetHeight (0.08f) .SetWidth("32px")) .Append(helpButton); // Build gui = factory.Build(); }
/** * Initialization code. * * Set up distances and origin points. */ void Start() { controller = GetComponent<CharacterController>(); // Adjust the collider size to fit a fish controller.height = colliderHeight; controller.radius = colliderRadius; model = this.GetComponent<ARModel>(); cam = Camera.main; float componentMaxDistance = maxDistance / 2; float x = Random.Range(-componentMaxDistance, componentMaxDistance); float y = Random.Range(0, componentMaxDistance * 2); float z = Random.Range(-componentMaxDistance, componentMaxDistance); Vector3 startPoint = origin + new Vector3(x, y, z); transform.Translate(startPoint); centerPoint = origin; affected = gameObject.name.Contains("affected"); // ------------------------ Set up GUI ----------------------------------- \\ // Create affected button GUIButton isAffected = new GUIButton (); isAffected.SetText("Yes"); isAffected.SetBox (new Box() .SetMarginTop("auto") .SetMarginRight(0.01f) .SetMarginLeft("auto") .SetMarginBottom(0.01f) .SetWidth(Screen.width * 0.2 + "px") .SetHeight (0.4f)); isAffected.OnClick (this.IThinkItsAffected); // Create not affected button GUIButton isNotAffected = new GUIButton (); isNotAffected.SetText("No"); isNotAffected.SetBox (new Box() .SetMarginTop("auto") .SetMarginRight("auto") .SetMarginLeft(0.01f) .SetMarginBottom(0.01f) .SetWidth(Screen.width * 0.2 + "px") .SetHeight (0.4f)); isNotAffected.OnClick (this.IThinkItsNotAffected); GUIFactory factory = new GUIFactory (); factory.CreateLabel ("Has this fish been affected by oil?") .SetBox(new Box() .SetMarginBottom(0.1f) .SetMarginTop(0.6f) .SetMarginLeft(0.1f) .SetMarginRight(0.1f)) .Append(isAffected) .Append(isNotAffected); gui = factory.Build (); // -------------------- Look closely GUI Set up ----------------------------------- \\ // Create Confirm button GUIButton confirm = new GUIButton (); confirm.SetText("Okay"); confirm.SetBox (new Box() .SetMarginTop("auto") .SetMarginRight(0.01f) .SetMarginLeft("auto") .SetMarginBottom(0.01f) .SetWidth(Screen.width * 0.2 + "px") .SetHeight (0.4f)); confirm.OnClick (this.Confirm); GUIFactory lookCloselyGUIFactory = new GUIFactory (); GUIComponent gc = lookCloselyGUIFactory.CreateLabel ("Look closely! Fish affected by pollution will have splotches of oil across their scales.") .SetBox (new Box () .SetMarginBottom (0.1f) .SetMarginTop (0.6f) .SetMarginLeft (0.1f) .SetMarginRight (0.1f)); GUILabel gl = (GUILabel)gc; GUIStyle gs = GUIStyles.GetInstance ().DEFAULT_WHITE_STYLE; gs.wordWrap = true; gl.SetStyle (gs); gc.Append (confirm); lookCloselyGUI = lookCloselyGUIFactory.Build (); // --------------------- alreadyExaminedGUI -------------------------------------- \\ // Create Confirm button GUIButton confirmAlreadyExamined = new GUIButton (); confirmAlreadyExamined.SetText("Okay"); confirmAlreadyExamined.SetBox (new Box() .SetMarginTop("auto") .SetMarginRight(0.01f) .SetMarginLeft("auto") .SetMarginBottom(0.01f) .SetWidth(Screen.width * 0.2 + "px") .SetHeight (0.4f)); confirmAlreadyExamined.OnClick (this.ConfirmAlreadyExamined); GUIFactory alreadyExaminedGUIFactory = new GUIFactory (); alreadyExaminedGUIFactory.CreateLabel ("You have already examined this fish.") .SetBox (new Box () .SetMarginBottom (0.1f) .SetMarginTop (0.6f) .SetMarginLeft (0.1f) .SetMarginRight (0.1f)) .Append (confirmAlreadyExamined); alreadyExaminedGUI = alreadyExaminedGUIFactory.Build (); }
public Slides(string currentSceneName) { this.currentSceneName = currentSceneName; this.slides = new List<Slide>(); // ------------------------- Build no background ------------------------ \\ // Create Go Back to Menu Button GUIButton goBack = new GUIButton (); goBack .SetText(GUIConst.goBack) .OnClick(FlowControl.GoToLessonScreen) .SetBox((new Box()) .SetMarginTop (0.0f) .SetMarginRight (0.0f) .SetMarginBottom (0.0f) .SetMarginLeft (0.0f)); GUIFactory factory = new GUIFactory (); // Create "Help" Button GUIButton helpButton = new GUIButton (); helpButton .SetText(GUIConst.helpButtonText) .OnClick(FlowControl.ShowHelpMenu) .SetBox((new Box()) .SetMarginTop (0.0f) .SetMarginRight (0.0f) .SetMarginBottom (0.0f) .SetMarginLeft (0.0f)); factory.CreateContainer() .SetBox ((new Box()) .SetMarginTop ("auto") .SetMarginLeft ("5px") .SetMarginBottom ("5px") .SetMarginRight ("auto") .SetHeight (0.08f) .SetWidth(0.4f)).Append (goBack); factory .CreateContainer () .SetBox ((new Box()) .SetMarginTop ("auto") .SetMarginLeft ("auto") .SetMarginBottom ("5px") .SetMarginRight ("5px") .SetHeight (0.08f) .SetWidth("32px")) .Append(helpButton); guiNoBackground = factory.Build(); // ------------------------------------------------------------------------ // // ------------------------- Build Regular GUI -------------------------- \\ // Create Go Back to Menu Button goBack = new GUIButton (); goBack .SetText(GUIConst.goBack) .OnClick(FlowControl.GoToLessonScreen) .SetBox((new Box()) .SetMarginTop (0.0f) .SetMarginRight (0.0f) .SetMarginBottom (0.0f) .SetMarginLeft (0.0f)); factory = new GUIFactory (); // Create "Help" Button helpButton = new GUIButton (); helpButton .SetText(GUIConst.helpButtonText) .OnClick(FlowControl.ShowHelpMenu) .SetBox((new Box()) .SetMarginTop (0.0f) .SetMarginRight (0.0f) .SetMarginBottom (0.0f) .SetMarginLeft (0.0f)); factory.CreateContainer() .SetBox ((new Box()) .SetMarginTop ("auto") .SetMarginLeft ("5px") .SetMarginBottom ("5px") .SetMarginRight ("auto") .SetHeight (0.08f) .SetWidth(0.4f)).Append (goBack); factory .CreateContainer () .SetBox ((new Box()) .SetMarginTop ("auto") .SetMarginLeft ("auto") .SetMarginBottom ("5px") .SetMarginRight ("5px") .SetHeight (0.08f) .SetWidth("32px")) .Append(helpButton); factory .Prepend(new GUIImage("splash-background")); // Build gui = factory.Build(); FlowControl.SetCurrentSlides(this); }
static FlowControl() { // Draw Panel // Draw buttons: // Create "Start a Lesson" Button GUIButton startALessonButton = new GUIButton(); startALessonButton .SetText("Pick A Lesson") .OnClick(FlowControl.GoToLessonScreen) .SetBox((new Box()) .SetMarginTop(0.0f) .SetMarginRight(0.0f) .SetMarginBottom(0.80f) .SetMarginLeft(0.0f)); // Create "Visit Mantaray AR Website" Button GUIButton getARTargets = new GUIButton(); getARTargets .SetText(GUIConst.getARTargets) .OnClick(FlowControl.GetTargets) .SetBox((new Box()) .SetMarginTop(0.25f) .SetMarginRight(0.0f) .SetMarginBottom(0.55f) .SetMarginLeft(0.0f)); // Create "Visit Mantaray AR Website" Button GUIButton visitMantarayARWebsiteButton = new GUIButton(); visitMantarayARWebsiteButton .SetText(GUIConst.visitMantarayARWebsiteText) .OnClick(FlowControl.GoToWebsite) .SetBox((new Box()) .SetMarginTop(0.50f) .SetMarginRight(0.0f) .SetMarginBottom(0.30f) .SetMarginLeft(0.0f)); // Create "Return" Button GUIButton exitMenuButton = new GUIButton(); exitMenuButton .SetText("Go Back") .OnClick(FlowControl.ExitMenu) .SetBox((new Box()) .SetMarginTop(0.75f) .SetMarginRight(0.0f) .SetMarginBottom(0.05f) .SetMarginLeft(0.0f)); // Build the GUI GUIFactory factory = new GUIFactory(); factory .Append(new GUIImage("dark-transparent-swatch").SetScaleMode(ScaleMode.StretchToFill)); factory .CreateContainer() .SetBox((new Box()) .SetMarginTop(0.2f) .SetMarginRight(0.2f) .SetMarginBottom(0.2f) .SetMarginLeft(0.2f)) .Append(startALessonButton) .Append(getARTargets) .Append(visitMantarayARWebsiteButton) .Append(exitMenuButton); FlowControl.gui = factory.Build(); }
// Use this for initialization void Start() { // Bootstrap Assets Assets.GetInstance(); // Create "Start a Lesson" Button GUIButton startALessonButton = new GUIButton(); startALessonButton .SetText(GUIConst.startALessonText) .OnClick(FlowControl.GoToLessonScreen) .SetBox((new Box()) .SetMarginTop(0.0f) .SetMarginRight(0.0f) .SetMarginBottom(0.70f) .SetMarginLeft(0.0f)); // Create "Visit Mantaray AR Website" Button GUIButton getARTargets = new GUIButton(); getARTargets .SetText(GUIConst.getARTargets) .OnClick(FlowControl.GetTargets) .SetBox((new Box()) .SetMarginTop(0.35f) .SetMarginRight(0.0f) .SetMarginBottom(0.35f) .SetMarginLeft(0.0f)); // Create "Visit Mantaray AR Website" Button GUIButton visitMantarayARWebsiteButton = new GUIButton(); visitMantarayARWebsiteButton .SetText(GUIConst.visitMantarayARWebsiteText) .OnClick(FlowControl.GoToWebsite) .SetBox((new Box()) .SetMarginTop(0.70f) .SetMarginRight(0.0f) .SetMarginBottom(0.0f) .SetMarginLeft(0.0f)); // Create "Help" Button GUIButton helpButton = new GUIButton(); helpButton .SetText(GUIConst.helpButtonText) .OnClick(FlowControl.ShowHelpMenu) .SetBox((new Box()) .SetMarginTop(0.0f) .SetMarginRight(0.0f) .SetMarginBottom(0.0f) .SetMarginLeft(0.0f)); // Build the GUI GUIFactory factory = new GUIFactory(); factory .Append(new GUIImage("splash-background")); ((GUILabel)factory .CreateLabel()) .SetStyle(new GUIStyle()) .SetBox((new Box()) .SetMarginTop(0.1f) .SetMarginRight(0.05f) .SetMarginBottom("auto") .SetMarginLeft(0.05f) .SetHeight(0.45f)) .Append((new GUIImage("splash-logo")).SetScaleMode(ScaleMode.ScaleToFit)); factory .CreateContainer() .SetBox((new Box()) .SetMarginTop("auto") .SetMarginRight(0.2f) .SetMarginBottom(0.1f) .SetMarginLeft(0.2f) .SetHeight(0.4f)) .Append(startALessonButton) .Append(getARTargets) .Append(visitMantarayARWebsiteButton); factory .CreateContainer() .SetBox((new Box()) .SetMarginTop("auto") .SetMarginLeft("auto") .SetMarginBottom("5px") .SetMarginRight("5px") .SetHeight(0.08f) .SetWidth("32px")) .Append(helpButton); gui = factory.Build(); }
// Use this for initialization void Start() { // Create a list of lessons List <Lesson> lessons = CustomLessons.GetInstance().GetLessons(); // Create Go Back to Menu Button GUIButton goBack = new GUIButton(); goBack .SetText("Go Back to Main Menu") .OnClick(FlowControl.ShowMainMenu) .SetBox((new Box()) .SetMarginTop(0.0f) .SetMarginRight(0.0f) .SetMarginBottom(0.0f) .SetMarginLeft(0.0f)); // Create "Help" Button GUIButton helpButton = new GUIButton(); helpButton .SetText(GUIConst.helpButtonText) .OnClick(FlowControl.ShowHelpMenu) .SetBox((new Box()) .SetMarginTop(0.0f) .SetMarginRight(0.0f) .SetMarginBottom(0.0f) .SetMarginLeft(0.0f)); GUIFactory factory = new GUIFactory(); factory .Append(new GUIImage("splash-background")); // Attach them to a "Lesson Scroll Area" factory .CreateScrollArea() .SetBox((new Box()) .SetMarginBottom(0.1f) .SetMarginTop(0.1f) .SetMarginLeft(0.1f) .SetMarginRight(0.1f)) .Append(new GUILessonList(lessons)); factory.CreateContainer() .SetBox((new Box()) .SetMarginTop("auto") .SetMarginLeft("5px") .SetMarginBottom("5px") .SetMarginRight("auto") .SetHeight(0.08f) .SetWidth(0.4f)).Append(goBack); factory .CreateContainer() .SetBox((new Box()) .SetMarginTop("auto") .SetMarginLeft("auto") .SetMarginBottom("5px") .SetMarginRight("5px") .SetHeight(0.08f) .SetWidth("32px")) .Append(helpButton); // Build gui = factory.Build(); }
public Slide(string text) { state = SlideState.TEXT; this.text = text; GUIFactory factory = new GUIFactory(); // Go Back Button GUIButton backButton = new GUIButton(); backButton.SetText("Go Back"); backButton.SetBox(new Box() .SetMarginTop("auto") .SetMarginRight("auto") .SetMarginLeft(0.01f) .SetMarginBottom(0.01f) .SetWidth(Screen.width * 0.2 + "px") .SetHeight (0.1f)); backButton.OnClick(FlowControl.PreviousSlide); // Go Forward Button GUIButton nextButton = new GUIButton(); nextButton.SetText("Continue"); nextButton.SetBox(new Box() .SetMarginTop("auto") .SetMarginLeft("auto") .SetMarginRight(0.01f) .SetMarginBottom(0.01f) .SetWidth(Screen.width * 0.2 + "px") .SetHeight (0.1f)); nextButton.OnClick(FlowControl.NextSlide); GUIComponent c = factory .CreateLabel (text) .SetBox ((new Box ()) .SetMarginTop (0.1f) .SetMarginRight (0.1f) .SetMarginBottom (0.1f) .SetMarginLeft (0.1f)); GUILabel l = (GUILabel) c; l.SetStyle(GUIStyles.GetInstance().DEFAULT_SLIDE_STYLE); l.Append (nextButton); l.Append (backButton); gui = factory.Build(); questionBoxes = new Box[4]; questionBoxes [0] = new Box (); questionBoxes [0] .SetMarginTop (0.55f) .SetMarginRight (0.51f) .SetMarginBottom ("auto") .SetMarginLeft (0.01f) .SetHeight (0.1f); questionBoxes [1] = new Box (); questionBoxes [1] .SetMarginTop (0.55f) .SetMarginRight (0.01f) .SetMarginBottom ("auto") .SetMarginLeft (0.51f) .SetHeight (0.1f); questionBoxes [2] = new Box (); questionBoxes [2] .SetMarginTop (0.7f) .SetMarginRight (0.51f) .SetMarginBottom ("auto") .SetMarginLeft (0.01f) .SetHeight (0.1f); questionBoxes [3] = new Box (); questionBoxes [3] .SetMarginTop (0.7f) .SetMarginRight (0.01f) .SetMarginBottom ("auto") .SetMarginLeft (0.51f) .SetHeight (0.1f); }
public void DoGUI(GameObject gameObject) { switch (this.state) { case SlideState.AR: this.experience.OnGUI (gameObject); // Check if we have found a target! GameObject targetGameObject = this.experience.GetTarget (); bool found = false; TrackableBehaviour mTrackableBehaviour = targetGameObject.GetComponent<TrackableBehaviour> (); ImageTargetAbstractBehaviour b = this.experience.GetTarget ().GetComponent<ImageTargetAbstractBehaviour> (); if (b != null && b.ImageTarget != null) { String name = b.ImageTarget.Name; foreach (GameObject o in this.experience.GetGameObjects()) { foreach (Renderer component in targetGameObject.GetComponentsInChildren<Renderer>(true)) { if (component.enabled && mTrackableBehaviour.TrackableName == name) found = true; } foreach (Collider component in targetGameObject.GetComponentsInChildren<Collider>(true)) { if (component.enabled && mTrackableBehaviour.TrackableName == name) found = true; } } } // If NOT found, show GUI text if (!found) { GUIFactory factory = new GUIFactory (); factory.CreateLabel (this.text) .SetBox (new Box () .SetMarginTop (0.01f) .SetMarginLeft (0.3f) .SetMarginRight (0.3f) .SetHeight (0.1f)); factory.Build ().OnGUI (gameObject); } break; case SlideState.QUESTION: // ------------------- Construct GUI for Question ---------------------- \\ // -------------------------------- QUESTION GUI --------------------------------- \\ GUIFactory qFactory = new GUIFactory (); // Go Back Button GUIButton backButton = new GUIButton (); backButton.SetText ("Go Back"); backButton.SetBox (new Box () .SetMarginTop ("auto") .SetMarginRight ("auto") .SetMarginLeft (0.01f) .SetMarginBottom (0.01f) .SetWidth (Screen.width * 0.2 + "px") .SetHeight (0.1f)); backButton.OnClick (FlowControl.PreviousSlide); GUIComponent c; if (this.showDescriptionOfRightAnswer) { c = new GUILabel (question.GetDescriptionOfRightAnswer ()); qFactory.Append (c); c.SetBox ((new Box ()) .SetMarginTop (0.1f) .SetMarginRight (0.1f) .SetMarginBottom (0.1f) .SetMarginLeft (0.1f)); GUILabel z = (GUILabel)c; z.SetStyle (GUIStyles.GetInstance ().DEFAULT_SLIDE_STYLE); GUIButton continueButton = new GUIButton (); continueButton.SetText ("Continue"); continueButton.SetBox (new Box () .SetMarginTop ("auto") .SetMarginLeft ("auto") .SetMarginRight (0.01f) .SetMarginBottom (0.01f) .SetWidth (Screen.width * 0.2 + "px") .SetHeight (0.1f)); continueButton.OnClick (Continue); c.Append (continueButton); } else { if (this.showHint) { c = new GUIButton (); qFactory.Append (c); c.SetBox ((new Box ()) .SetMarginTop (0.1f) .SetMarginRight (0.1f) .SetMarginBottom (0.1f) .SetMarginLeft (0.1f)); GUIButton z = (GUIButton)c; z.SetStyle (GUIStyles.GetInstance ().DEFAULT_SLIDE_STYLE); z.SetText (question.GetHint () + "\n\n(Click to hide hint)"); z.OnClick (HideHint); } else { c = qFactory .CreateLabel (question.GetText ()) .SetBox ((new Box ()) .SetMarginTop (0.1f) .SetMarginRight (0.1f) .SetMarginBottom (0.1f) .SetMarginLeft (0.1f)); GUILabel l = (GUILabel)c; l.SetStyle (GUIStyles.GetInstance ().DEFAULT_SLIDE_STYLE); } if (currentAnswer != -1) { // We have a selected answer, show the "next" button GUIButton submitAnswerButton = new GUIButton (); submitAnswerButton.SetText ("Submit Answer"); submitAnswerButton.SetBox (new Box () .SetMarginTop ("auto") .SetMarginLeft ("auto") .SetMarginRight (0.01f) .SetMarginBottom (0.01f) .SetWidth (Screen.width * 0.2 + "px") .SetHeight (0.1f)); submitAnswerButton.OnClick (SubmitAnswer); c.Append (submitAnswerButton); } for (int i = 0; i < this.question.GetAnswers().Length; i++) { GUIButton button = new GUIButton (); button.SetText (this.question.GetAnswers () [i]); button.SetBox (questionBoxes [i]); if (currentAnswer == i) { button.SetPressed (true); } switch (i) { case 0: button.OnClick (QuestionAnswerA); break; case 1: button.OnClick (QuestionAnswerB); break; case 2: button.OnClick (QuestionAnswerC); break; case 3: button.OnClick (QuestionAnswerD); break; default: break; } c.Append (button); } c.Append (backButton); } GUIStructure questionGUI = qFactory.Build (); questionGUI.OnGUI (gameObject); break; case SlideState.TEXT: gui.OnGUI (gameObject); break; case SlideState.DONE: FlowControl.NextSlide (); break; default: break; } }
// Use this for initialization void Start() { // Bootstrap Assets Assets.GetInstance(); // Create "Start a Lesson" Button GUIButton startALessonButton = new GUIButton(); startALessonButton .SetText(GUIConst.startALessonText) .OnClick(FlowControl.GoToLessonScreen) .SetBox((new Box()) .SetMarginTop (0.0f) .SetMarginRight (0.0f) .SetMarginBottom (0.70f) .SetMarginLeft (0.0f)); // Create "Visit Mantaray AR Website" Button GUIButton getARTargets = new GUIButton(); getARTargets .SetText(GUIConst.getARTargets) .OnClick(FlowControl.GetTargets) .SetBox((new Box()) .SetMarginTop (0.35f) .SetMarginRight (0.0f) .SetMarginBottom (0.35f) .SetMarginLeft (0.0f)); // Create "Visit Mantaray AR Website" Button GUIButton visitMantarayARWebsiteButton = new GUIButton(); visitMantarayARWebsiteButton .SetText(GUIConst.visitMantarayARWebsiteText) .OnClick(FlowControl.GoToWebsite) .SetBox((new Box()) .SetMarginTop (0.70f) .SetMarginRight (0.0f) .SetMarginBottom (0.0f) .SetMarginLeft (0.0f)); // Create "Help" Button GUIButton helpButton = new GUIButton (); helpButton .SetText(GUIConst.helpButtonText) .OnClick(FlowControl.ShowHelpMenu) .SetBox((new Box()) .SetMarginTop (0.0f) .SetMarginRight (0.0f) .SetMarginBottom (0.0f) .SetMarginLeft (0.0f)); // Build the GUI GUIFactory factory = new GUIFactory (); factory .Append(new GUIImage("splash-background")); ((GUILabel)factory .CreateLabel ()) .SetStyle (new GUIStyle()) .SetBox ((new Box ()) .SetMarginTop (0.1f) .SetMarginRight (0.05f) .SetMarginBottom ("auto") .SetMarginLeft (0.05f) .SetHeight (0.45f)) .Append ((new GUIImage("splash-logo")).SetScaleMode(ScaleMode.ScaleToFit)); factory .CreateContainer () .SetBox ((new Box ()) .SetMarginTop ("auto") .SetMarginRight (0.2f) .SetMarginBottom (0.1f) .SetMarginLeft (0.2f) .SetHeight (0.4f)) .Append (startALessonButton) .Append (getARTargets) .Append (visitMantarayARWebsiteButton); factory .CreateContainer () .SetBox ((new Box()) .SetMarginTop ("auto") .SetMarginLeft ("auto") .SetMarginBottom ("5px") .SetMarginRight ("5px") .SetHeight (0.08f) .SetWidth("32px")) .Append(helpButton); gui = factory.Build(); }
public Slides(string currentSceneName) { this.currentSceneName = currentSceneName; this.slides = new List <Slide>(); // ------------------------- Build no background ------------------------ \\ // Create Go Back to Menu Button GUIButton goBack = new GUIButton(); goBack .SetText(GUIConst.goBack) .OnClick(FlowControl.GoToLessonScreen) .SetBox((new Box()) .SetMarginTop(0.0f) .SetMarginRight(0.0f) .SetMarginBottom(0.0f) .SetMarginLeft(0.0f)); GUIFactory factory = new GUIFactory(); // Create "Help" Button GUIButton helpButton = new GUIButton(); helpButton .SetText(GUIConst.helpButtonText) .OnClick(FlowControl.ShowHelpMenu) .SetBox((new Box()) .SetMarginTop(0.0f) .SetMarginRight(0.0f) .SetMarginBottom(0.0f) .SetMarginLeft(0.0f)); factory.CreateContainer() .SetBox((new Box()) .SetMarginTop("auto") .SetMarginLeft("5px") .SetMarginBottom("5px") .SetMarginRight("auto") .SetHeight(0.08f) .SetWidth(0.4f)).Append(goBack); factory .CreateContainer() .SetBox((new Box()) .SetMarginTop("auto") .SetMarginLeft("auto") .SetMarginBottom("5px") .SetMarginRight("5px") .SetHeight(0.08f) .SetWidth("32px")) .Append(helpButton); guiNoBackground = factory.Build(); // ------------------------------------------------------------------------ // // ------------------------- Build Regular GUI -------------------------- \\ // Create Go Back to Menu Button goBack = new GUIButton(); goBack .SetText(GUIConst.goBack) .OnClick(FlowControl.GoToLessonScreen) .SetBox((new Box()) .SetMarginTop(0.0f) .SetMarginRight(0.0f) .SetMarginBottom(0.0f) .SetMarginLeft(0.0f)); factory = new GUIFactory(); // Create "Help" Button helpButton = new GUIButton(); helpButton .SetText(GUIConst.helpButtonText) .OnClick(FlowControl.ShowHelpMenu) .SetBox((new Box()) .SetMarginTop(0.0f) .SetMarginRight(0.0f) .SetMarginBottom(0.0f) .SetMarginLeft(0.0f)); factory.CreateContainer() .SetBox((new Box()) .SetMarginTop("auto") .SetMarginLeft("5px") .SetMarginBottom("5px") .SetMarginRight("auto") .SetHeight(0.08f) .SetWidth(0.4f)).Append(goBack); factory .CreateContainer() .SetBox((new Box()) .SetMarginTop("auto") .SetMarginLeft("auto") .SetMarginBottom("5px") .SetMarginRight("5px") .SetHeight(0.08f) .SetWidth("32px")) .Append(helpButton); factory .Prepend(new GUIImage("splash-background")); // Build gui = factory.Build(); FlowControl.SetCurrentSlides(this); }
public Slide(string text) { state = SlideState.TEXT; this.text = text; GUIFactory factory = new GUIFactory(); // Go Back Button GUIButton backButton = new GUIButton(); backButton.SetText("Go Back"); backButton.SetBox(new Box() .SetMarginTop("auto") .SetMarginRight("auto") .SetMarginLeft(0.01f) .SetMarginBottom(0.01f) .SetWidth(Screen.width * 0.2 + "px") .SetHeight(0.1f)); backButton.OnClick(FlowControl.PreviousSlide); // Go Forward Button GUIButton nextButton = new GUIButton(); nextButton.SetText("Continue"); nextButton.SetBox(new Box() .SetMarginTop("auto") .SetMarginLeft("auto") .SetMarginRight(0.01f) .SetMarginBottom(0.01f) .SetWidth(Screen.width * 0.2 + "px") .SetHeight(0.1f)); nextButton.OnClick(FlowControl.NextSlide); GUIComponent c = factory .CreateLabel(text) .SetBox((new Box()) .SetMarginTop(0.1f) .SetMarginRight(0.1f) .SetMarginBottom(0.1f) .SetMarginLeft(0.1f)); GUILabel l = (GUILabel)c; l.SetStyle(GUIStyles.GetInstance().DEFAULT_SLIDE_STYLE); l.Append(nextButton); l.Append(backButton); gui = factory.Build(); questionBoxes = new Box[4]; questionBoxes [0] = new Box(); questionBoxes [0] .SetMarginTop(0.55f) .SetMarginRight(0.51f) .SetMarginBottom("auto") .SetMarginLeft(0.01f) .SetHeight(0.1f); questionBoxes [1] = new Box(); questionBoxes [1] .SetMarginTop(0.55f) .SetMarginRight(0.01f) .SetMarginBottom("auto") .SetMarginLeft(0.51f) .SetHeight(0.1f); questionBoxes [2] = new Box(); questionBoxes [2] .SetMarginTop(0.7f) .SetMarginRight(0.51f) .SetMarginBottom("auto") .SetMarginLeft(0.01f) .SetHeight(0.1f); questionBoxes [3] = new Box(); questionBoxes [3] .SetMarginTop(0.7f) .SetMarginRight(0.01f) .SetMarginBottom("auto") .SetMarginLeft(0.51f) .SetHeight(0.1f); }
public void DoGUI(GameObject gameObject) { switch (this.state) { case SlideState.AR: this.experience.OnGUI(gameObject); // Check if we have found a target! GameObject targetGameObject = this.experience.GetTarget(); bool found = false; TrackableBehaviour mTrackableBehaviour = targetGameObject.GetComponent <TrackableBehaviour> (); ImageTargetAbstractBehaviour b = this.experience.GetTarget().GetComponent <ImageTargetAbstractBehaviour> (); if (b != null && b.ImageTarget != null) { String name = b.ImageTarget.Name; foreach (GameObject o in this.experience.GetGameObjects()) { foreach (Renderer component in targetGameObject.GetComponentsInChildren <Renderer>(true)) { if (component.enabled && mTrackableBehaviour.TrackableName == name) { found = true; } } foreach (Collider component in targetGameObject.GetComponentsInChildren <Collider>(true)) { if (component.enabled && mTrackableBehaviour.TrackableName == name) { found = true; } } } } // If NOT found, show GUI text if (!found) { GUIFactory factory = new GUIFactory(); factory.CreateLabel(this.text) .SetBox(new Box() .SetMarginTop(0.01f) .SetMarginLeft(0.3f) .SetMarginRight(0.3f) .SetHeight(0.1f)); factory.Build().OnGUI(gameObject); } break; case SlideState.QUESTION: // ------------------- Construct GUI for Question ---------------------- \\ // -------------------------------- QUESTION GUI --------------------------------- \\ GUIFactory qFactory = new GUIFactory(); // Go Back Button GUIButton backButton = new GUIButton(); backButton.SetText("Go Back"); backButton.SetBox(new Box() .SetMarginTop("auto") .SetMarginRight("auto") .SetMarginLeft(0.01f) .SetMarginBottom(0.01f) .SetWidth(Screen.width * 0.2 + "px") .SetHeight(0.1f)); backButton.OnClick(FlowControl.PreviousSlide); GUIComponent c; if (this.showDescriptionOfRightAnswer) { c = new GUILabel(question.GetDescriptionOfRightAnswer()); qFactory.Append(c); c.SetBox((new Box()) .SetMarginTop(0.1f) .SetMarginRight(0.1f) .SetMarginBottom(0.1f) .SetMarginLeft(0.1f)); GUILabel z = (GUILabel)c; z.SetStyle(GUIStyles.GetInstance().DEFAULT_SLIDE_STYLE); GUIButton continueButton = new GUIButton(); continueButton.SetText("Continue"); continueButton.SetBox(new Box() .SetMarginTop("auto") .SetMarginLeft("auto") .SetMarginRight(0.01f) .SetMarginBottom(0.01f) .SetWidth(Screen.width * 0.2 + "px") .SetHeight(0.1f)); continueButton.OnClick(Continue); c.Append(continueButton); } else { if (this.showHint) { c = new GUIButton(); qFactory.Append(c); c.SetBox((new Box()) .SetMarginTop(0.1f) .SetMarginRight(0.1f) .SetMarginBottom(0.1f) .SetMarginLeft(0.1f)); GUIButton z = (GUIButton)c; z.SetStyle(GUIStyles.GetInstance().DEFAULT_SLIDE_STYLE); z.SetText(question.GetHint() + "\n\n(Click to hide hint)"); z.OnClick(HideHint); } else { c = qFactory .CreateLabel(question.GetText()) .SetBox((new Box()) .SetMarginTop(0.1f) .SetMarginRight(0.1f) .SetMarginBottom(0.1f) .SetMarginLeft(0.1f)); GUILabel l = (GUILabel)c; l.SetStyle(GUIStyles.GetInstance().DEFAULT_SLIDE_STYLE); } if (currentAnswer != -1) { // We have a selected answer, show the "next" button GUIButton submitAnswerButton = new GUIButton(); submitAnswerButton.SetText("Submit Answer"); submitAnswerButton.SetBox(new Box() .SetMarginTop("auto") .SetMarginLeft("auto") .SetMarginRight(0.01f) .SetMarginBottom(0.01f) .SetWidth(Screen.width * 0.2 + "px") .SetHeight(0.1f)); submitAnswerButton.OnClick(SubmitAnswer); c.Append(submitAnswerButton); } for (int i = 0; i < this.question.GetAnswers().Length; i++) { GUIButton button = new GUIButton(); button.SetText(this.question.GetAnswers() [i]); button.SetBox(questionBoxes [i]); if (currentAnswer == i) { button.SetPressed(true); } switch (i) { case 0: button.OnClick(QuestionAnswerA); break; case 1: button.OnClick(QuestionAnswerB); break; case 2: button.OnClick(QuestionAnswerC); break; case 3: button.OnClick(QuestionAnswerD); break; default: break; } c.Append(button); } c.Append(backButton); } GUIStructure questionGUI = qFactory.Build(); questionGUI.OnGUI(gameObject); break; case SlideState.TEXT: gui.OnGUI(gameObject); break; case SlideState.DONE: FlowControl.NextSlide(); break; default: break; } }