Ejemplo n.º 1
0
        public void CreateMiddleButton(SMsgInteractCOMMONPackage sMsgInteractCOMMONPackage)
        {
            this.sMsgInteractCOMMONPackage = sMsgInteractCOMMONPackage;
            var MyButtonList = sMsgInteractCOMMONPackage.sMsgInteractCOMMONBtn_SC;

            Background.enabled = true;
            Background.transform.localScale = new Vector3(285, 75 * MyButtonList.Length, 1);
            if (m_buttonList.Count > 0)
            {
                foreach (var child in m_buttonList)
                {
                    if (child != null && child.gameObject != null)
                    {
                        child.GetComponent <NpcPanelButton>().OnDestroy();
                        Destroy(child.gameObject);
                    }
                }
                m_buttonList.Clear();
            }
            for (int i = 0; i < MyButtonList.Length; i++)
            {
                var button = CreatObjectToNGUI.InstantiateObj(NpcPanelBtn, transform).GetComponent <NpcPanelButton>();
                button.transform.localPosition = new Vector3(100, 60 - (i * 70), -1);
                //button.InitButton();
                m_buttonList.Add(button);
            }
            SetLocalButtonAttribute(sMsgInteractCOMMONPackage);
        }
Ejemplo n.º 2
0
    private NPCTalkConfigData GetNpcTalk(SMsgInteractCOMMONPackage sMsgInteractCOMMONData)
    {
        var NPCTalkConfigList = NPCConfigManager.Instance.NPCTalkConfigList;

        foreach (KeyValuePair <int, NPCTalkConfigData> child in NPCTalkConfigList)
        {
            if (child.Key == sMsgInteractCOMMONData.sMsgInteractCOMMON_SC.dwParam)
            {
                return(child.Value);
            }
        }
        return(null);
    }
Ejemplo n.º 3
0
    public void CreateNpcTalkPanel(INotifyArgs notifyArgs)
    {
        // systemFuntionButton.gameObject.SetActive(false);
        UIEventManager.Instance.TriggerUIEvent(UIEventType.OpentMainUI, UIType.Empty);
        m_sMsgInteractCOMMONData = (SMsgInteractCOMMONPackage)notifyArgs;

        if (m_npcTalkPanel == null)
        {
            m_npcTalkPanel = (Instantiate(TalkPanelGo) as GameObject).GetComponent <NpcTalkPanel>();
            m_npcTalkPanel.transform.parent     = transform;
            m_npcTalkPanel.transform.localScale = Vector3.one;
            m_npcTalkPanel.InitTalkPanel(m_sMsgInteractCOMMONData);
        }
        else
        {
            m_npcTalkPanel.InitTalkPanel(m_sMsgInteractCOMMONData);
        }
    }
Ejemplo n.º 4
0
    public void InitTalkPanel(SMsgInteractCOMMONPackage sMsgInteractCOMMONPackage)
    {
        m_isOpening = true;
        //send event to joystick of TownUI
        UIEventManager.Instance.TriggerUIEvent(UIEventType.OnNpcTalkOpenEvent, null);
        if (BackButton != null)
        {
            //  m_backButton.ShowAnim();
        }
        transform.localPosition = showPos;        //Vector3.zero;
        int           npcID   = (int)sMsgInteractCOMMONPackage.sMsgInteractCOMMON_SC.dwNPCID;
        NPCConfigData npcData = NPCConfigManager.Instance.NPCConfigList[npcID];

        UI.CreatObjectToNGUI.InstantiateObj(npcData.PortraitID, HeadPoint);
        var       npcTalkData = GetNpcTalk(sMsgInteractCOMMONPackage);
        TypeID    entityType;
        Transform npcTransform = EntityController.Instance.GetEntityModel(GameManager.Instance.MeetNpcEntityId, out entityType).GO.transform;

        if (null != npcTransform)
        {
            BattleManager.Instance.FollowCamera.SetSmoothMoveTarget(npcTransform, npcData.CameraOffset);
        }


        NpcName.text = LanguageTextManager.GetString(npcData._szName);
        if (npcTalkData != null)
        {
            DialogLabel.text = LanguageTextManager.GetString(npcTalkData._szTalk);
            if (npcTalkData._szVoice != "0")
            {
                SoundManager.Instance.PlaySoundEffect(npcTalkData._szVoice);
            }
        }
        //this.NpcIcon.spriteName = NPCConfigManager.Instance.NPCConfigList[(int)npcID].PortraitID;

        SMsgInteractCOMMONBtn_SC[] MyButtonList = sMsgInteractCOMMONPackage.sMsgInteractCOMMONBtn_SC;

        if (MyButtonList.Length > 0)
        {
            MiddlePanel.CreateMiddleButton(sMsgInteractCOMMONPackage);
        }
    }
Ejemplo n.º 5
0
        void SetLocalButtonAttribute(SMsgInteractCOMMONPackage sMsgInteractCOMMONPackage)//设置每个按钮的属性
        {
            SMsgInteractCOMMONBtn_SC[] BtnListAttribute = sMsgInteractCOMMONPackage.sMsgInteractCOMMONBtn_SC;
            for (int i = 0; i < BtnListAttribute.Length; i++)
            {
                if (m_buttonList[i] != null)
                {
                    switch (BtnListAttribute[i].byBtnType)
                    {
                    case 1:
                        NPCSpecialConfigData nSCData = NPCConfigManager.Instance.NPCSpecialConfigList.FirstOrDefault(P => P._NPCID == sMsgInteractCOMMONPackage.sMsgInteractCOMMON_SC.dwNPCID &&
                                                                                                                     P.Parameters == BtnListAttribute[i].dwParam2);

                        TraceUtil.Log("查找ButtonID:" + BtnListAttribute[i].dwParam2);
                        //m_buttonList[i].SetButtonText(LanguageTextManager.GetString(nSCData._FunctionDesc));
                        if (nSCData != null)
                        {
                            m_buttonList[i].InitButton(nSCData.ShopIcon, nSCData.ShopTitle);
                            m_buttonList[i].SetCallBackFuntion(OnSpecialButtonTapped, BtnListAttribute[i]);
                        }
                        break;

                    case 2:
                        m_buttonList[i].SetButtonText("2,任务");
                        break;

                    case 3:
                        m_buttonList[i].SetButtonText("3,GM");
                        m_buttonList[i].InitButton("", "");
                        m_buttonList[i].SetCallBackFuntion(OnGMButtonTapped, null);
                        break;

                    default:
                        break;
                    }
                }
            }
        }