コード例 #1
0
    public void copyToText(Text target)
    {
        GameObject gameObject = new GameObject();
        Text       t          = gameObject.AddComponent <Text>();

        t.alignByGeometry = alignByGeometry;
        t.alignment       = alignment;
        t.font            = UnityEditor.AssetDatabase.LoadAssetAtPath <Font>(fontPath);
        if (t.font == null)
        {
            Debug.Log("Font not found");
            //set default font
            //UnityEditor.AssetDatabase.LoadAssetAtPath<Font>(GameManager.defaultFontPath); //Might not need since prefab will have default font
        }

        t.fontSize             = fontSize;
        t.fontStyle            = fontStyle;
        t.lineSpacing          = lineSpacing;
        t.resizeTextForBestFit = resizeTextForBestFit;
        t.resizeTextMaxSize    = resizeTextMaxSize;
        t.resizeTextMinSize    = resizeTextMinSize;
        t.supportRichText      = supportRichText;
        t.text = text;

        XMLSerializationManager.copyComponent(t, target);
        GameObject.Destroy(gameObject);
    }
コード例 #2
0
ファイル: GameManager.cs プロジェクト: GriffinGeiger/GeoStory
 void Start()
 {
     currentStory             = XMLSerializationManager.loadStory("Assets/StreamingAssets/XML/intro_data.xml", canvas);
     storyEditorToolbar       = GameObject.Instantiate(AssetDatabase.LoadAssetAtPath <GameObject>("Assets/Prefabs/StoryEditor/StoryEditorToolbar.prefab"), canvas.transform);
     pageEditorToolbar        = GameObject.Instantiate(AssetDatabase.LoadAssetAtPath <GameObject>("Assets/Prefabs/PageEditor/PageEditorToolbar.prefab"), canvas.transform);
     currentStory.currentPage = currentStory.getPage(currentStory.firstPageName);
     changeMode(Mode.Play);
 }
コード例 #3
0
    public BackgroundData(GameObject background)
    {
        name  = background.name;
        rtd   = new RectTransformData(background.GetComponent <RectTransform>());
        image = new ImageData(background.GetComponent <Image>());
        //Fill the connection arrays
        PageElementEventTrigger peet = background.GetComponent <PageElementEventTrigger>();

        connections = XMLSerializationManager.setElementIndexes(peet);
    }
コード例 #4
0
    public ButtonData(GameObject button)
    {
        name  = button.name;
        rtd   = new RectTransformData(button.GetComponent <RectTransform>());
        image = new ImageData(button.GetComponent <Image>());
        etd   = new EventTriggerData(button.GetComponent <EventTrigger>());
        text  = new TextData(button.GetComponentInChildren <Text>());
        PageElementEventTrigger peet = button.GetComponent <PageElementEventTrigger>();

        connections = XMLSerializationManager.setElementIndexes(peet);
    }
コード例 #5
0
    public void copyToScrollbar(Scrollbar target)
    {
        GameObject gameObject = new GameObject();
        Scrollbar  sb         = gameObject.AddComponent <Scrollbar>();

        sb.direction = direction;
        //sb.handleRect = handleRect.toRectTransform(null);   //Needs to get the rect transform of the Handle after its instantiated
        sb.numberOfSteps  = numberOfSteps;
        sb.onValueChanged = onValueChanged;
        sb.size           = size;
        sb.value          = value;

        XMLSerializationManager.copyComponent(sb, target);
        GameObject.Destroy(gameObject);
    }
コード例 #6
0
    //Creates a rect transform using the fields in this RectTransformData and applies it to a parent. While not necessary to specify a parent this
    //is to keep a consistent style with the other components, since Unity gui elements need a parent to initialize

    public void copyToRectTransform(RectTransform target)
    {
        GameObject    gameObject = new GameObject();
        RectTransform rc         = gameObject.AddComponent <RectTransform>();

        rc.anchoredPosition = anchoredPosition;
        rc.anchorMax        = anchorMax;
        rc.anchorMin        = anchorMin;
        rc.offsetMax        = offsetMax;
        rc.offsetMin        = offsetMin;
        rc.pivot            = pivot;
        rc.sizeDelta        = sizeDelta;
        XMLSerializationManager.copyComponent(rc, target);
        GameObject.Destroy(gameObject);
    }
コード例 #7
0
    public void copyToRawImage(RawImage target)
    {
        GameObject gameObject = new GameObject();
        RawImage   image      = gameObject.AddComponent <RawImage>();

        image.texture = (Texture)UnityEditor.AssetDatabase.LoadAssetAtPath(sourceImagePath, typeof(Texture));
        if (image.texture == null)
        {
            Debug.Log("Image file not found at: " + sourceImagePath);
            //set a default picture in its place
        }

        image.uvRect = uvRect;
        XMLSerializationManager.copyComponent(image, target);
        GameObject.Destroy(gameObject);
    }
コード例 #8
0
ファイル: GameManager.cs プロジェクト: GriffinGeiger/GeoStory
 //jumps to the mode and page specified
 public void changeMode(Mode newMode, Page page)
 {
     //Save any changes to previous story
     XMLSerializationManager.saveStory(currentStory);
     try
     {
         currentStory.setCurrentPage(page.getName());
         changeMode(newMode);
     } catch (KeyNotFoundException)
     {
         //if page is not in current story, then change the current story
         Debug.Log("The story you are changing to is not in the same story that was previously active. Changing currentStory");
         currentStory = page.storyRef;
         currentStory.setCurrentPage(page.getName());
         changeMode(newMode);
     }
 }
コード例 #9
0
    public new void OnPointerClick(PointerEventData data)
    {
        XMLSerializationManager.saveStory(gm.currentStory);
        switch (toolbarAction)
        {
        case ToolbarAction.ReturnToEditor:
            gm.changeMode(GameManager.Mode.EditStory);
            break;

        case ToolbarAction.AddPage:
            Page page = new Page("New Page", gm.currentStory);
            page.buildDefaultPage();
            gm.currentStory.addPage(page);
            FindObjectOfType <StoryEditorManager>().addPageGraphic(page);
            break;
        }
    }
コード例 #10
0
    public ScrollAreaData(GameObject scrollArea)
    {
        name = scrollArea.name;

        //SA fields
        rtd_SA   = new RectTransformData(scrollArea.GetComponent <RectTransform>());
        image_SA = new ImageData(scrollArea.GetComponent <Image>());

        //TB fields
        GameObject textBox = scrollArea.transform.GetChild(0).gameObject;

        rtd_TB = new RectTransformData(textBox.GetComponent <RectTransform>());
        srd_TB = new ScrollRectData(textBox.GetComponent <ScrollRect>());

        //SB fields
        GameObject scrollbar = textBox.transform.GetChild(0).gameObject;

        rtd_SB   = new RectTransformData(scrollbar.GetComponent <RectTransform>());
        image_SB = new ImageData(scrollbar.GetComponent <Image>());
        sb_SB    = new ScrollbarData(scrollbar.GetComponent <Scrollbar>());

        //SlA fields
        GameObject slidingArea = scrollbar.transform.GetChild(0).gameObject;

        rtd_SlA = new RectTransformData(slidingArea.GetComponent <RectTransform>());

        //Handle fields
        GameObject handle = slidingArea.transform.GetChild(0).gameObject;

        rtd_H   = new RectTransformData(handle.GetComponent <RectTransform>());
        image_H = new ImageData(handle.GetComponent <Image>());

        //TextFields
        GameObject text = textBox.transform.GetChild(1).gameObject;

        rtd_T  = new RectTransformData(text.GetComponent <RectTransform>());
        text_T = new TextData(text.GetComponent <Text>());

        //EventTrigger fields
        PageElementEventTrigger peet = scrollArea.GetComponent <PageElementEventTrigger>();

        connections = XMLSerializationManager.setElementIndexes(peet);
    }
コード例 #11
0
    public void copyToScrollRect(ScrollRect target)                 //Scroll rect stuff is all kinds of screwed because it needs references to the other gameobjects
    {
        GameObject gameObject = new GameObject();
        ScrollRect rect       = gameObject.AddComponent <ScrollRect>();

        //rect.normalizedPosition = normalizedPosition;
        rect.decelerationRate  = decelerationRate;
        rect.elasticity        = elasticity;
        rect.inertia           = inertia;
        rect.movementType      = movementType;
        rect.horizontal        = false;
        rect.scrollSensitivity = scrollSensitivity;
        rect.velocity          = velocity;
        rect.vertical          = vertical;
        // rect.verticalNormalizedPosition = verticalNormalizedPosition;
        rect.verticalScrollbarSpacing    = verticalScrollbarSpacing;
        rect.verticalScrollbarVisibility = verticalScrollbarVisibility;

        XMLSerializationManager.copyComponent(rect, target);
        GameObject.Destroy(gameObject);
    }
コード例 #12
0
 public void buildStoryEditorGraphics(Story story)
 {
     //Remove any previous editor graphics
     foreach (GameObject pageNodeGraphic in pageGraphics)
     {
         GameObject.Destroy(pageNodeGraphic);
     }
     pageGraphics.Clear();
     foreach (BezierCurve4PointRenderer curve in FindObjectsOfType <BezierCurve4PointRenderer>())
     {
         GameObject.Destroy(curve.gameObject);
     }
     foreach (Page page in gm.currentStory.getPages())
     {
         addPageGraphic(page);
     }
     //New graphics have been made, they need to be connected
     XMLSerializationManager.makeActionConnections(story);
     foreach (GameObject pageGraphic in pageGraphics)
     {
         pageGraphic.GetComponent <PageNodeGraphicManager>().drawConnectionCurves();
     }
 }
コード例 #13
0
    public void copyToImage(Image target)
    {
        GameObject gameObject = new GameObject();
        Image      image      = gameObject.AddComponent <Image>();

        image.sprite = (Sprite)UnityEditor.AssetDatabase.LoadAssetAtPath(sourceImagePath, typeof(Sprite));
        if (image.sprite == null)
        {
            Debug.LogWarning("Image file not found at: " + sourceImagePath);
            //set a default picture in its place
        }

        image.alphaHitTestMinimumThreshold = alphaHitTestMinimumThreshold;
        image.fillAmount     = fillAmount;
        image.fillCenter     = fillCenter;
        image.fillClockwise  = fillClockwise;
        image.fillMethod     = fillMethod;
        image.fillOrigin     = fillOrigin;
        image.preserveAspect = preserveAspect;
        image.type           = type;
        image.color          = color;
        XMLSerializationManager.copyComponent(image, target);
        GameObject.Destroy(gameObject);
    }
コード例 #14
0
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();
        GameManager gm = (GameManager)target;

        GUILayout.Label("CurrentStory: " + gm.currentStory.name);
        GUILayout.Label("CurrentPage: " + gm.currentStory.currentPage.name);
        GUILayout.Label("Story Management");
        if (GUILayout.Button("Toggle Current page visibility"))
        {
            Debug.Log("toggling current page visibility. CurrentPage.isVisible = " + gm.currentStory.getCurrentPage().isVisible);
            if (gm.currentStory.getCurrentPage().isVisible == false)
            {
                gm.currentStory.getCurrentPage().setVisible(true);
            }
            else
            {
                gm.currentStory.getCurrentPage().setVisible(false);
            }
        }
        if (GUILayout.Button("BuildIntro"))
        {
            Debug.Log("Building intro story");
            gm.currentStory = gm.buildIntro();
        }
        if (GUILayout.Button("Make currentPage first page"))
        {
            gm.currentStory.firstPageName = gm.currentStory.currentPage.name;
        }
        if (GUILayout.Button("Pages in story"))
        {
            string output = "Page names in currentstory \n";
            foreach (Page page in gm.currentStory.getPages())
            {
                output += page.getName() + "\n";
            }
            Debug.Log(output);
        }

        GUILayout.Label("XML Management");
        if (GUILayout.Button("Load IntroStory from XML"))
        {
            gm.currentStory = XMLSerializationManager.loadStory("Assets/StreamingAssets/XML/intro_data.xml", gm.canvas);
            gm.currentStory.setCurrentPage("introPage1");
        }
        if (GUILayout.Button("Save Story to XML"))
        {
            XMLSerializationManager.saveStory(gm.currentStory);
        }

        GUILayout.Label("StoryEditor Management");
        if (GUILayout.Button("Build PageNodeGraphics from testStory"))
        {
            gm.currentStory = XMLSerializationManager.loadStory("Assets/StreamingAssets/XML/intro_data.xml", gm.canvas);
            gm.currentStory.setCurrentPage("introPage1");
            gm.currentStory.currentPage.setVisible(false);
            FindObjectOfType <StoryEditorManager>().buildStoryEditorGraphics(gm.currentStory);
        }
        if (GUILayout.Button("Add Page"))
        {
            Page page = new Page("New Page", gm.currentStory);
            page.buildDefaultPage();
            gm.currentStory.addPage(page);
            FindObjectOfType <StoryEditorManager>().addPageGraphic(page);
        }

        if (GUILayout.Button("Edit Current Page"))
        {
            gm.changeMode(GameManager.Mode.EditPage, gm.currentStory.currentPage);
        }
    }