Beispiel #1
0
    void Awake()
    {
        tutorialSet = transform.Find("TutorialSet").GetComponent <TutorialSet>();
        passNode    = GameObject.Find("PassNode").GetComponent <PassNode>();


        tutorialSetObject = transform.Find("TutorialSet").gameObject;
        tutorialSetObject.SetActive(false);

        firstTimePanel = GameObject.Find("FirstTimePanel");
        if (passNode.IsNewGame)
        {
            firstTimePanel.SetActive(true);
        }
        else
        {
            firstTimePanel.SetActive(false);
        }
    }
Beispiel #2
0
    /// <summary>
    /// Event Handler
    /// </summary>
    /// <param name="eventType"></param>
    /// <param name="Sender"></param>
    /// <param name="Param"></param>
    public void OnEvent(EventType eventType, Component Sender, object Param = null)
    {
        //select event type
        switch (eventType)
        {
        case EventType.TutorialOpenUI:
            TutorialSet set = Param as TutorialSet;
            SetTutorialUI(set);
            break;

        case EventType.TutorialCloseUI:
            CloseTutorialUI();
            break;

        case EventType.TutorialItemOpen:
            OpenTutorialItem((int)Param);
            break;

        default:
            Debug.LogError(string.Format("Invalid eventType {0}{1}", eventType, "\n"));
            break;
        }
    }
Beispiel #3
0
    /// <summary>
    /// Initialises tutorialUI for a specified tutorialSet
    /// </summary>
    private void SetTutorialUI(TutorialSet set)
    {
        if (set != null)
        {
            //populate list with current set tutorial items (indexes match button.buttonInteraction.returnValue)
            listOfSetItems = set.listOfTutorialItems;
            if (listOfSetItems != null)
            {
                //disable all buttons (default)
                for (int i = 0; i < listOfButtons.Count; i++)
                {
                    listOfButtons[i].gameObject.SetActive(false);
                }
                //activate and populate a button for each item in set
                numOfItems = listOfSetItems.Count;
                if (numOfItems > 0)
                {
                    //only accept upt to max num of items
                    numOfItems = Mathf.Min(numOfItems, maxNumOfItems);
                    TutorialItem item;
                    for (int i = 0; i < numOfItems; i++)
                    {
                        item = listOfSetItems[i];
                        if (item != null)
                        {
                            //activate button
                            listOfButtons[i].gameObject.SetActive(true);
                            //button colours
                            ColorBlock buttonColours = listOfButtons[i].colors;
                            //switch off arrow
                            listOfInteractions[i].arrowImage.gameObject.SetActive(false);
                            //assign event to button along with a unique index #
                            listOfInteractions[i].buttonInteraction.SetButton(EventType.TutorialItemOpen, i);
                            //tooltip
                            listOfInteractions[i].tooltip.tooltipHeader = string.Format("<size=120%><b>{0}</b></size>", GameManager.Formatt(item.tag, ColourType.salmonText));
                            listOfInteractions[i].tooltip.tooltipMain   = string.Format("This is a <size=115%><b>{0}</b></size> item", GameManager.Formatt(item.tutorialType.name, ColourType.neutralText));
                            //type of item
                            switch (item.tutorialType.name)
                            {
                            case "Dialogue":
                                listOfInteractions[i].buttonText.text        = "D";
                                buttonColours.normalColor                    = colourDialogue;
                                listOfInteractions[i].buttonText.text        = string.Format("{0}", GameManager.i.guiScript.tutDialogue);
                                listOfInteractions[i].tooltip.tooltipDetails = "Words of wisdom from your <b>training guide</b>";
                                break;

                            case "Goal":
                                listOfInteractions[i].buttonText.text        = "G";
                                buttonColours.normalColor                    = colourGoal;
                                listOfInteractions[i].buttonText.text        = string.Format("{0}", GameManager.i.guiScript.tutGoal);
                                listOfInteractions[i].tooltip.tooltipDetails = "A specific training goal that you need to achieve <b>in order to progress</b>";
                                break;

                            case "Information":
                                listOfInteractions[i].buttonText.text        = "I";
                                buttonColours.normalColor                    = colourInfo;
                                listOfInteractions[i].buttonText.text        = string.Format("{0}", GameManager.i.guiScript.tutInfo);
                                listOfInteractions[i].tooltip.tooltipDetails = "<b>Knowledge is power</b>. A detailed look at a topic";
                                break;

                            case "Query":
                                listOfInteractions[i].buttonText.text        = "?";
                                buttonColours.normalColor                    = colourQuestion;
                                listOfInteractions[i].buttonText.text        = string.Format("{0}", GameManager.i.guiScript.tutQuestion);
                                listOfInteractions[i].tooltip.tooltipDetails = "There are certain things that HQ <b>needs to know</b>";
                                break;

                            default: Debug.LogWarningFormat("Unrecognised item.TutorialType \"{0}\"", item.tutorialType.name); break;
                            }
                            listOfButtons[i].colors = buttonColours;
                        }
                        else
                        {
                            Debug.LogWarningFormat("Invalid listOfItems[{0}] (Null) for set \"{1}\"", i, set.name);
                        }
                    }
                    //activate canvas
                    tutorialCanvas.gameObject.SetActive(true);
                    //activate first button
                    if (listOfButtons[0] != null)
                    {
                        EventManager.i.PostNotification(EventType.TutorialItemOpen, this, 0);
                    }
                    else
                    {
                        Debug.LogError("Invalid listOfButtons[0] (Null)");
                    }
                }
                else
                {
                    Debug.LogErrorFormat("Invalid tutorialSet.listOfItems (Empty) for set \"{0}\"", set.name);
                }
            }
            else
            {
                Debug.LogErrorFormat("Invalid TutorialSet.listOfItems (Null) for set \"{0}\"", set.name);
            }
        }
        else
        {
            Debug.LogError("Invalid TutorialSet (Null)");
        }
    }