Esempio n. 1
0
    public void UpdateDialogAction(List <StroyDialogConfigData> dialogData)
    {
        m_dialogData = new StroyDialogConfigData[dialogData.Count];

        for (int i = 0; i < dialogData.Count; i++)
        {
            m_dialogData[i] = new StroyDialogConfigData();

            if (dialogData == null)
            {
                m_dialogData[i] = null;
            }
            else
            {
                m_dialogData[i] = dialogData[i];
            }
        }

        m_isAction = true;
        //ShowDialogUI();
        if (dialogData.Count > 0)
        {
            DialogButton.SetButtonActive(true);
            m_curDialogIndex = 0;
        }
    }
Esempio n. 2
0
    public void ShowDialogPanel(StroyDialogConfigData item)
    {
        m_curDialogData = item;

        /*if (m_signText == null)
         * {
         *  m_signText = GameObject.Instantiate(SignText) as GameObject;
         *  m_signText.transform.parent = this.transform;
         *  m_signText.transform.localScale = Vector3.one;
         * }*/

        /*if (StroyLineDataManager.Instance.GetNpcList.ContainsKey(m_curDialogData._NpcID))
         *      m_curNpcBehaviour = StroyLineDataManager.Instance.GetNpcList[m_curDialogData._NpcID];
         * else
         * {
         * TraceUtil.Log("指定的NpcID不存在");
         * m_curNpcBehaviour = null;
         * }*/

        if (m_dialogPanel != null)
        {
            DestroyImmediate(m_dialogPanel);
        }
        m_dialogPanel = GameObject.Instantiate(lineDialogList[(int)item._DialogType - 1], this.m_curDialogData._ViewOffset, Quaternion.identity) as GameObject;
        if (m_dialogPanel != null)
        {
            m_dialogPanel.transform.parent        = dialogAnchorParent.transform;
            m_dialogPanel.transform.localPosition = this.m_curDialogData._ViewOffset;
            m_dialogPanel.transform.localScale    = Vector3.one;
            //jamfing
            //m_dialogPanel.GetComponentsInChildren<UIAnchor>().ApplyAllItem(P => P.uiCamera = UICamera);
            TalkIdConfigData talkIdConfigData = new TalkIdConfigData();
            talkIdConfigData.DialogPrefab = (DialogBoxType)m_curDialogData._DialogType;
            talkIdConfigData.TalkType     = (StoryTallType)m_curDialogData._NpcOrPlayer;
            if (talkIdConfigData.TalkType == StoryTallType.NPC)
            {
                talkIdConfigData.NPCName  = m_curDialogData._NpcName;
                talkIdConfigData.TalkHead = m_curDialogData.npcIconPrefab;
            }
            else
            {
                talkIdConfigData.NPCName = PlayerManager.Instance.FindHeroDataModel().Name;
            }
            talkIdConfigData.TalkText       = m_curDialogData._Content;
            talkIdConfigData.TalkID         = 0;
            talkIdConfigData.TextPos        = "0";
            talkIdConfigData.isTaskTalkMark = false;
            StoryDialogBehaviour storyPanelBehaviour = m_dialogPanel.GetComponent <StoryDialogBehaviour>();
            storyPanelBehaviour.StoryGuideFinishAct = () =>
            {
                SoundManager.Instance.PlaySoundEffect("Sound_Button_TaskStory_Next");
                DialogButtonHandle(null);
            };
            storyPanelBehaviour.Init(talkIdConfigData);
            //m_dialogPanel.GetComponent<StroyLinePanel>().InitDialogPanel(item);
        }
    }
Esempio n. 3
0
    private static void StroyDialogConfigPostprocess()
    {
        string     path = System.IO.Path.Combine(RESOURCE_STROY_CONFIG_FOLDER, "DialogConfig.xml");
        TextReader tr   = new StreamReader(path);
        string     text = tr.ReadToEnd();

        if (text == null)
        {
            Debug.LogError("CameraGroup config file not exist");
            return;
        }
        else
        {
            XmlSpreadSheetReader.ReadSheet(text);
            XmlSpreadSheet sheet = XmlSpreadSheetReader.Output;
            string[]       keys  = XmlSpreadSheetReader.Keys;

            object[] levelIds = sheet[keys[0]];

            List <StroyDialogConfigData> tempList = new List <StroyDialogConfigData>();

            for (int i = 0; i < levelIds.Length; i++)
            {
                if (0 == i || 1 == i)
                {
                    continue;
                }
                StroyDialogConfigData data = new StroyDialogConfigData();
                data._DialogID = Convert.ToInt32(sheet["DialogID"][i]);
                data._Content  = Convert.ToString(sheet["Content"][i]);
                var      viewOffsetString = Convert.ToString(sheet["ViewOffset"][i]);
                string[] viewposList      = viewOffsetString.Split("+".ToCharArray());
                float    viewoffsetX      = Convert.ToSingle(viewposList[0]);
                float    viewoffsetY      = Convert.ToSingle(viewposList[1]);
                data._ViewOffset  = new Vector3(viewoffsetX, viewoffsetY, 0);
                data._NpcOrPlayer = Convert.ToInt32(sheet["TalkNPCID"][i]);
                data._DialogType  = Convert.ToInt32(sheet["DialogType"][i]);
                data._NpcName     = Convert.ToString(sheet["NpcName"][i]);
                data._NpcIconName = Convert.ToString(sheet["NpcIconName"][i]);
                //1玩家,2是npc
                if (data._NpcOrPlayer == 2)
                {
                    data.npcIconPrefab = (GameObject)Resources.LoadAssetAtPath("Assets/Prefab/GUI/IconPrefab/StroyPersonHead/" + data._NpcIconName + ".prefab", typeof(GameObject));                  //Prefab/GUI/IconPrefab/QuickBuyIcon
                }
                tempList.Add(data);
            }

            CreateDialogConfigDataBase(tempList);
        }
    }
Esempio n. 4
0
    // 初始化对话数据
    public void InitDialogPanel(StroyDialogConfigData item)
    {
        m_dialogData = item;

        string name       = LanguageTextManager.GetString(item._NpcName);
        string playerName = System.Text.Encoding.UTF8.GetString(PlayerManager.Instance.FindHeroDataModel().m_name);

        NpcNameText.text = name.Contains("{0}") ? playerName : name;

        //ClickSignText.text = LanguageTextManager.GetString("IDS_H1_218");

        m_dialogLength = 0;
        m_dialogText   = LanguageTextManager.GetString(item._Content);

        //NpcIcon.spriteName = item[m_curDialogIndex]._NpcIconName;

        m_isFlag = true;
    }