コード例 #1
0
ファイル: CtxHelpManager.cs プロジェクト: gviaud/OS-unity-5
 public void quitHelpPanel()
 {
     m_curHelpPanel = null;
 }
コード例 #2
0
ファイル: CtxHelpManager.cs プロジェクト: gviaud/OS-unity-5
 //-----------------------------------------------------
 private void ChangeHelpPanel(CtxHelpPanel newPanel, string _panelID)
 {
     if(!m_displayHelp)
     {
         m_szpanelID = _panelID;
         m_curHelpPanel    = newPanel;
         FitToScreen();
         m_helpRect.width  = m_curHelpPanel.GetWidth();
         m_helpRect.height = m_curHelpPanel.GetHeight();
     }
     else
         m_nextHelpPanel = newPanel; // si image d'aide visible ne pas changer tout de suite
 }
コード例 #3
0
ファイル: CtxHelpManager.cs プロジェクト: gviaud/OS-unity-5
    //-----------------------------------------------------
    private void LoadPanels()
    {
        TextAsset xml = (TextAsset) Resources.Load(m_xmlHelpPanelsPath, typeof (TextAsset));

        if(xml != null)
        {
            XMLParser parser = new XMLParser();

            // -- Récupération des suffixes des noms de fichier (Touch / mouse) --
            XMLNode root        = parser.Parse(xml.text).GetNode("root>0");
            XMLNodeList sfxList = root.GetNodeList("suffixes>0>suffix");
            string filenameSfx = "";
            foreach(XMLNode sfx in sfxList)
            {
                #if UNITY_IPHONE || UNITY_ANDROID
                    if(sfx.GetValue("@inputType") == "touch")
                        filenameSfx = sfx.GetValue("_text");
                #else
                    if(sfx.GetValue("@inputType") == "mouse")
                        filenameSfx = sfx.GetValue("_text");
                #endif
            }

            // -- Récupération des données par défaut --
            string startDelayStr = root.GetNode("defaultValues>0>startDelay>0").GetValue("_text");
            float.TryParse(startDelayStr, out m_startCountdown);

            string dftDelayStr = root.GetNode("defaultValues>0>stdDelay>0").GetValue("_text");
            float dftDelay;
            float.TryParse(dftDelayStr, out dftDelay);

            string dftLdelayStr = root.GetNode("defaultValues>0>longDelay>0").GetValue("_text");
            float dftLdelay;
            float.TryParse(dftLdelayStr, out dftLdelay);

        //            Debug.Log(DBGTAG+" default Delay : "+dftDelay+" cuz "+dftDelayStr+" AND dftLdelay : "+dftLdelay+" cuz "+dftLdelayStr);

            // -- Récupération des données des panneaux d'aide --
            XMLNodeList panels = root.GetNodeList("panels>0>panel");
            string    id, bgImgName, bgImgExt, path, align, fadeOnScroll, delayStr, lgDelayStr;
            string[]  lang, text;
            Texture2D bgImg;
            Rect      rect = new Rect();
            XMLNodeList labels, texts;
            CtxHelpPanel newPanel;
            float     x, y, w, h, delay, lgDelay;
            foreach(XMLNode panel in panels)
            {
                id = panel.GetValue("@id");
                fadeOnScroll = panel.GetValue("@fadeOnScroll");
                delayStr     = panel.GetValue("@stdDelay");
                lgDelayStr   = panel.GetValue("@longDelay");

                if(delayStr.Length > 0)
                    float.TryParse(delayStr, out delay);
                else
                    delay = dftDelay;

                if(lgDelayStr.Length > 0)
                    float.TryParse(lgDelayStr, out lgDelay);
                else
                    lgDelay = dftLdelay;

                bgImgName = panel.GetNode("bgImg>0").GetValue("@filename");
                bgImgExt  = panel.GetNode("bgImg>0").GetValue("@extension");

                path  = m_imgHelpPanelsFolder+"/"+bgImgName+filenameSfx;
                bgImg = (Texture2D) Resources.Load(path, typeof(Texture2D));
                if(bgImg == null)
                    Debug.LogError(DBGTAG+"Can't find resource : "+path);

                newPanel = new CtxHelpPanel(id, bgImg, fadeOnScroll.ToLower().Equals("true"), delay, lgDelay);

                labels = panel.GetNodeList("labels>0>label");
                foreach(XMLNode label in labels)
                {
                    align = label.GetValue("@align");
                    float.TryParse(label.GetValue("@x"), out x);
                    float.TryParse(label.GetValue("@y"), out y);
                    float.TryParse(label.GetValue("@w"), out w);
                    float.TryParse(label.GetValue("@h"), out h);
                    rect.Set(x, y, w, h);

                    texts = label.GetNodeList("text");
                    lang = new string[texts.Count];
                    text = new string[texts.Count];
                    int i=0;
                    foreach(XMLNode textNode in texts)
                    {
                        lang[i]   = textNode.GetValue("@lang");
                        text[i++] = textNode.GetValue("_text");
                    }
                    if(align == "left")
                        newPanel.AddLabel(lang, text, rect, m_helpTxtStyleLeft);
                    else if(align == "center")
                        newPanel.AddLabel(lang, text, rect, m_helpTxtStyleCenter);
                    else if(align == "right-bottom")
                        newPanel.AddLabel(lang, text, rect, m_helpTxtStyleRightBot);
                    else if(align == "footer")
                        newPanel.AddLabel(lang, text, rect, m_helpTxtStyleFooter);
                    else
                        newPanel.AddLabel(lang, text, rect, m_helpTxtStyleLeft);
                } // foreach label

                m_panels.Add(id, newPanel);
            } // foreach panel
        }
        else
            Debug.LogError(DBGTAG+"Can't find XML : \""+m_xmlHelpPanelsPath+"\"");
    }
コード例 #4
0
ファイル: CtxHelpManager.cs プロジェクト: gviaud/OS-unity-5
    //----------------------------------------------------
    void Awake()
    {
        PC.ctxHlp = this;

        // -- Affichage --
        m_curHelpPanel      = null;
        m_nextHelpPanel     = null;
        m_helpRect          = new Rect();
        m_helpTimer         = 0f;
        m_displayHelp       = false;
        m_hiding            = false;

        m_animHelp          = false;
        m_animHelpProg      = 0f;
        m_helpGUIalpha      = 0f;
        m_helpGUIaStart     = 0f;
        m_helpGUIaEnd       = 0f;
        m_helpCountdown     = false;

        m_useStartCountdown  = false;

        m_panelBlockingInputs    = false;
        m_lastFrameClicked  = false;
        // -- Chargement auto des images d'aide, selon plateforme --
        m_panels = new Dictionary<string, CtxHelpPanel>();

        #if !UNITY_ANDROID
        LoadPanels();
        #endif
    }