/// <summary> /// 外部传入剧情台词表现表的序号 /// </summary> /// <param name="id">剧情台词表现表的序号</param> public void SetData(int id) { plotid = id; if (FSDataNodeTable <PlotLinesNode> .GetSingleton().DataNodeList.ContainsKey(id)) { plotLinesNode = FSDataNodeTable <PlotLinesNode> .GetSingleton().DataNodeList[id]; } }
protected override void SetUI(params object[] uiParams) { if (uiParams != null && uiParams.Length > 0) { plotid = (int)uiParams[0]; if (FSDataNodeTable <PlotLinesNode> .GetSingleton().DataNodeList.ContainsKey(plotid)) { plotLinesNode = FSDataNodeTable <PlotLinesNode> .GetSingleton().DataNodeList[plotid]; } } base.SetUI(); }
void HideGuide(TOUCH_KEY key) { if (yd_guangq.activeSelf && defKey == key) { yd_guangq.SetActive(false); } if (key == TOUCH_KEY.Run) { touchRotate = false; } else if (key == TOUCH_KEY.Attack) { if (guideIndex == 3) { CloseGuidePanel(); guideIndex = 0; } } else if (key == TOUCH_KEY.Skill4) { if (guideIndex == 4) { CloseGuidePanel(); guideIndex = 0; } } else if (key == TOUCH_KEY.Summon1) { HideForcibly(); //CancelInvoke("InvokeSummon"); for (int i = 0; i < elite.Count; i++) { elite[i].StartEscape(airWallPos); } PlotLinesNode plot = FSDataNodeTable <PlotLinesNode> .GetSingleton().FindDataByType(71); SceneUIManager.instance.InsDialogBubble(elite[0].gameObject, plot.Content, plot.Intervaltime); RetuenAttr(); CharacterState cs = null; for (int i = 0; i < elite.Count; i++) { //elite[i].GetComponent<CharacterState>().InitHp(1000); cs = elite[i].GetComponent <CharacterState>(); if (null != cs) { cs.Hp(cs.currentHp > 1000 ? cs.currentHp - 1000 : 1000 - cs.currentHp); } } CDTimer.GetInstance().AddCD(2, (int count, long cid) => { defKey = TOUCH_KEY.Summon2; summonIndex = 6; //Invoke("InvokeSummon", 5f); ShowGuidePanel(6); fightTouchIns.ShowFightBtn(TOUCH_KEY.Summon2); ForciblySummonGuide(defKey); }); } else if (key == TOUCH_KEY.Summon2) { HideForcibly(); //CancelInvoke("InvokeSummon"); CDTimer.GetInstance().AddCD(2, (int count, long cid) => { //Invoke("InvokeSummon", 5f); defKey = TOUCH_KEY.Summon3; summonIndex = 7; ShowGuidePanel(7); fightTouchIns.ShowFightBtn(TOUCH_KEY.Summon3); ForciblySummonGuide(defKey); }); } else if (key == TOUCH_KEY.Summon3) { //CancelInvoke("InvokeSummon"); HideForcibly(true); //Globe.isFightGuide = false; fightTouchIns.OnBtnTargetNil -= SummonTargetNil; fightTouchIns.OnTouchBtn -= HideGuide; CloseGuidePanel(); } FightTouch._instance.HideSummonHero(key); }
void CrearteNpcModel(PlotLinesNode node) //type 1:模型读取NPC模型表 2:模型读取英雄表 3:模型读取怪物表 4:玩家自己 { string tem = ""; if (node.SpeakerType == 1)//npc { if (FSDataNodeTable <NPCNode> .GetSingleton().DataNodeList.ContainsKey(long.Parse(node.SpeakerID))) { int modelID = FSDataNodeTable <NPCNode> .GetSingleton().DataNodeList[long.Parse(node.SpeakerID)].modelid; if (FSDataNodeTable <ModelNode> .GetSingleton().DataNodeList.ContainsKey(modelID)) { tem = FSDataNodeTable <ModelNode> .GetSingleton().DataNodeList[modelID].respath; npcmodel = HeroPosEmbattle.instance.CreatModelByModelID((int)modelID, PosType.NpcPos, transform.Find("HeroTexture").GetComponent <SpinWithMouse>(), MountAndPet.Null, 160); } playerName.text = FSDataNodeTable <NPCNode> .GetSingleton().DataNodeList[long.Parse(node.SpeakerID)].npcname; } } else if (node.SpeakerType == 2)//英雄 { if (FSDataNodeTable <HeroNode> .GetSingleton().DataNodeList.ContainsKey(long.Parse(node.SpeakerID))) { tem = GameLibrary.Hero_URL + FSDataNodeTable <HeroNode> .GetSingleton().DataNodeList[long.Parse(node.SpeakerID)].icon_name + "_show";//传入英雄id npcmodel = HeroPosEmbattle.instance.CreatModelByModelID(FSDataNodeTable <HeroNode> .GetSingleton().DataNodeList[long.Parse(node.SpeakerID)].model, PosType.NpcPos, transform.Find("HeroTexture").GetComponent <SpinWithMouse>(), MountAndPet.Null, 160); //npcmodel = HeroPosEmbattle.instance.CreatModel(FSDataNodeTable<HeroNode>.GetSingleton().DataNodeList[long.Parse(node.SpeakerID)].icon_name + "_show", PosType.NpcPos, transform.Find("HeroTexture").GetComponent<SpinWithMouse>(), AnimType.None, 160); } playerName.text = FSDataNodeTable <HeroNode> .GetSingleton().DataNodeList[long.Parse(node.SpeakerID)].name; } else if (node.SpeakerType == 3)//怪物 { if (FSDataNodeTable <MonsterAttrNode> .GetSingleton().DataNodeList.ContainsKey(long.Parse(node.SpeakerID))) { tem = GameLibrary.Monster_URL + FSDataNodeTable <MonsterAttrNode> .GetSingleton().DataNodeList[long.Parse(node.SpeakerID)].icon_name;//传入怪物id playerName.text = FSDataNodeTable <MonsterAttrNode> .GetSingleton().DataNodeList[long.Parse(node.SpeakerID)].name; npcmodel = HeroPosEmbattle.instance.CreatModel(FSDataNodeTable <MonsterAttrNode> .GetSingleton().DataNodeList[long.Parse(node.SpeakerID)].icon_name, PosType.NpcPos, transform.Find("HeroTexture").GetComponent <SpinWithMouse>(), AnimType.None, 160); } } else if (node.SpeakerType == 4)//玩家自己 { if (FSDataNodeTable <HeroNode> .GetSingleton().DataNodeList.ContainsKey(long.Parse(GameLibrary.player.ToString()))) { tem = GameLibrary.Hero_URL + FSDataNodeTable <HeroNode> .GetSingleton().DataNodeList[long.Parse(GameLibrary.player.ToString())].icon_name + "_show"; npcmodel = HeroPosEmbattle.instance.CreatModelByModelID(FSDataNodeTable <HeroNode> .GetSingleton().DataNodeList[long.Parse(GameLibrary.player.ToString())].model, PosType.NpcPos, transform.Find("HeroTexture").GetComponent <SpinWithMouse>(), MountAndPet.Null, 160); //npcmodel = HeroPosEmbattle.instance.CreatModel(FSDataNodeTable<HeroNode>.GetSingleton().DataNodeList[long.Parse(GameLibrary.player.ToString())].icon_name + "_show", PosType.NpcPos, transform.Find("HeroTexture").GetComponent<SpinWithMouse>(), AnimType.None, 160); } playerName.text = playerData.GetInstance().selfData.playeName; } //ModelNode modelNode = FSDataNodeTable<ModelNode>.GetSingleton().FindDataByType(modelid); //GameObject obj = Resources.Load(tem) as GameObject; //if (obj != null) //{ // npcmodel = Instantiate(obj) as GameObject; //} if (npcmodel != null) { if (node.SpeakerType == 1 || node.SpeakerType == 2 || node.SpeakerType == 3) { //npcmodel.transform.parent = PlayerModelParent; playerContont.text = node.Content.Replace("<selfname>", playerData.GetInstance().selfData.playeName); if (node.SpeakerType == 3)//如果是怪物 要去掉怪物身上的脚本 { if (npcmodel.GetComponent <PlayerMotion>() != null) { npcmodel.GetComponent <PlayerMotion>().enabled = false; } if (npcmodel.GetComponent <UnityEngine.AI.NavMeshAgent>() != null) { npcmodel.GetComponent <UnityEngine.AI.NavMeshAgent>().enabled = false; } } } else if (node.SpeakerType == 4) { //npcmodel.transform.parent = PlayerModelParent; playerContont.text = node.Content.Replace("<selfname>", playerData.GetInstance().selfData.playeName); } //npcmodel.transform.localPosition = Vector3.zero; //npcmodel.transform.localScale = Vector3.one; //npcmodel.transform.localRotation = Quaternion.Euler(Vector3.zero); //SkinnedMeshRenderer[] skinnedMeshRenderer = npcmodel.GetComponentsInChildren<SkinnedMeshRenderer>(); //for (int i = 0; i < skinnedMeshRenderer.Length; i++) //{ // skinnedMeshRenderer[i].gameObject.layer = 5; //} //npcmodel.layer = 5; //foreach (Transform tran in npcmodel.transform.GetComponentInChildren<Transform>()) //{ // tran.gameObject.layer = 5; //} } }