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); }
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); }
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); } }
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); } }
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; } } } }