Example #1
0
        IEnumerator CreateZhiRuoAndDongHu()
        {
            this.regEvt = new System.Collections.Generic.List <MyEvent.EventType>()
            {
                MyEvent.EventType.EnterNextZone,
                MyEvent.EventType.BossSpawn,
                MyEvent.EventType.BossDead,
                MyEvent.EventType.LevelFinish,
            };
            RegEvent();


            GameObject myplayer = null;

            while (myplayer == null)
            {
                yield return(new WaitForSeconds(1));

                myplayer = ObjectManager.objectManager.GetMyPlayer();
            }
            var myp = new GameObject("TempNpcPos");

            yield return(new WaitForSeconds(1));

            myp.transform.position = myplayer.transform.position + new Vector3(Random.Range(-3.0f, 3.0f), 0.2f, Random.Range(-3.0f, 3.0f));
            ObjectManager.objectManager.CreateNpc(Util.GetNpcData(20008), myp);
            yield return(new WaitForSeconds(1));

            myp = new GameObject("TempNpcPos");
            myp.transform.position = myplayer.transform.position + new Vector3(Random.Range(-3.0f, 3.0f), 0.2f, Random.Range(-3.0f, 3.0f));
            ObjectManager.objectManager.CreateNpc(Util.GetNpcData(20009), myp);

            string[] text = new string[] {
                "东湖:这里真的好黑呀...",
                "至若:{0}哥哥,我好怕",
                "别怕至若,我会保护你的,跟紧我。",
                "大家和我一起向前走吧",
            };
            var c = 0;

            foreach (var t in text)
            {
                text[c] = string.Format(t, ObjectManager.objectManager.GetMyName());
                c++;
            }
            NpcDialogInterface.ShowTextList(text, null);

            while (!inNextZone)
            {
                yield return(new WaitForSeconds(1));
            }
            inNextZone = false;

            text = new string[] {
                "这里的怪物很多,大家小心\n我感受到前面有强大的气息",
                "至若:{0}哥哥也要小心。"
            };
            c = 0;
            foreach (var t in text)
            {
                text[c] = string.Format(t, ObjectManager.objectManager.GetMyName());
                c++;
            }
            NpcDialogInterface.ShowTextList(text, null);


            while (!inNextZone)
            {
                yield return(new WaitForSeconds(1));
            }
            inNextZone = false;

            text = new string[] {
                "巨牙子爷爷说过这里都只是些魔王子子孙孙,为什么我感觉如此不安?",
                "至若:我也是,空气中的血腥味越来越浓了。",
                "东湖:咱们早点找到宝贝,回去吧。",
                "恩,我们继续前进吧。",
            };
            c = 0;
            foreach (var t in text)
            {
                text[c] = string.Format(t, ObjectManager.objectManager.GetMyName());
                c++;
            }
            NpcDialogInterface.ShowTextList(text, null);


            while (!bossSpawn)
            {
                yield return(new WaitForSeconds(1));
            }

            text = new string[] {
                "???: 愚蠢的人类你们唤醒了我,承受我的怒火吧~~",
                "东湖: 上古魔神的声音,这次死定了",
                "这鬼地方怎么会有上古魔神,大家小心",
                "魔神: 好久没有见到新鲜血肉了,这次就让我吃饱吧,哈哈哈",
            };
            bool sover = false;

            NpcDialogInterface.ShowTextList(text, delegate() {
                sover = true;
            });
            while (!sover)
            {
                yield return(new WaitForSeconds(1));
            }
            MyEventSystem.PushEventStatic(MyEvent.EventType.SpeakOver);

            while (!bossDead)
            {
                yield return(new WaitForSeconds(2));
            }


            text = new string[] {
                "魔神:哈哈你们激怒我了,要不是本王刚刚复活,又怎么会败在你们手上\n本王还会回来的,走之前,送你们一个礼物,哈哈~",
                ".......啊,东湖你没事吧?",
                "东湖: 我...我没事......",
            };
            bool donghuSi = false;

            NpcDialogInterface.ShowTextList(text, delegate() {
                donghuSi = true;
            });
            while (!donghuSi)
            {
                yield return(new WaitForSeconds(1));
            }
            var npc = NpcManager.Instance.GetNpcObj("东湖");
            var att = npc.GetComponent <NpcAttribute>();

            att.ChangeHP(-att.HP_Max);

            text = new string[] {
                "东湖,东湖,醒醒..醒醒...",
                "至若,我们快送东湖回去找村长",
            };
            bool gover = false;

            NpcDialogInterface.ShowTextList(text, delegate(){
                gover = true;
            });
            while (!gover)
            {
                yield return(new WaitForSeconds(1));
            }

            GameInterface_Player.SetIntState(GameBool.cunZhangState, 2);
            BattleManager.battleManager.GameOver();
        }
Example #2
0
        IEnumerator CreateZhiRuo()
        {
            GameObject myplayer = null;

            while (myplayer == null)
            {
                yield return(new WaitForSeconds(1));

                myplayer = ObjectManager.objectManager.GetMyPlayer();
            }

            var myp = new GameObject("TempNpcPos");

            yield return(new WaitForSeconds(1));

            myp.transform.position = myplayer.transform.position + new Vector3(Random.Range(-3.0f, 3.0f), 0.2f, Random.Range(-3.0f, 3.0f));
            ObjectManager.objectManager.CreateNpc(Util.GetNpcData(20008), myp);

            string[] text = new string[] {
                "至若:哥哥,这里真的有苍冥水么",
                "我也不知道,咱们先看看吧",
            };
            NpcDialogInterface.ShowTextList(text, null);

            yield return(StartCoroutine(eh.WaitEvt(MyEvent.EventType.EnterNextZone)));

            text = new string[] {
                "至若:为何寻了半天也没见苍冥水的踪迹?",
                "难道因为魔神苏醒,连苍冥水也被毁掉了?",
                "至若:若是如此那可怎么办?",
                "现在也只能走一步看一步了",
            };
            NpcDialogInterface.ShowTextList(text, null);

            yield return(StartCoroutine(eh.WaitEvt(MyEvent.EventType.BossSpawn)));

            var sover = false;

            text = new string[] {
                "wu.......",
                "至若:这是什么声音?",
                "至若小心。",
            };
            NpcDialogInterface.ShowTextList(text, () => sover = true);
            while (!sover)
            {
                yield return(null);
            }

            MyEventSystem.PushEventStatic(MyEvent.EventType.SpeakOver);

            yield return(StartCoroutine(eh.WaitEvt(MyEvent.EventType.BossDead)));

            text = new string[] {
                "至若:那闪闪发光的是什么东西?",
                "好像是一个瓶子,有一股清幽之气",
                "至若:先收起来吧,回去问问巨牙子爷爷",
            };

            bool over = false;

            NpcDialogInterface.ShowTextList(text, () => {
                over = true;
            });
            while (!over)
            {
                yield return(null);
            }
            GameInterface_Player.SetIntState(GameBool.cunZhangState, 5);
            yield return(StartCoroutine(eh.WaitEvt(MyEvent.EventType.LevelFinish)));

            text = new string[] {
                "幽冥之中传来一阵笑声,嘿嘿嘿",
            };
            over = false;
            NpcDialogInterface.ShowTextList(text, () => {
                over = true;
            });
            while (!over)
            {
                yield return(null);
            }


            BattleManager.battleManager.GameOver();
        }
Example #3
0
 void SpawnNpcNow()
 {
     ObjectManager.objectManager.CreateNpc(Util.GetNpcData(NpcId), gameObject);
 }