Пример #1
0
 /// <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];
     }
 }
Пример #2
0
 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();
 }
Пример #3
0
    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);
    }
Пример #4
0
    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;
            //}
        }
    }