IEnumerator QinQing1() { string[] text = new string[] { @"秦情姐姐,你好美呀", @"臭小孩一边去,又想从我这里偸药么?听说你想去外面闯荡。", @"恩,我想去找我父母。", @"外面世界很凶险,我送你几瓶药吧。", @"谢谢姐姐。", }; var npcDialog = WindowMng.windowMng.PushView("UI/NpcDialog", false); var dia = npcDialog.GetComponent <NpcDialog>(); bool next = false; dia.ShowNext = delegate() { next = true; }; foreach (var t in text) { dia.ShowText(string.Format(t, ObjectManager.objectManager.GetMyName())); while (!next) { yield return(new WaitForSeconds(0.1f)); } next = false; } //Send Drug To User GameInterface_Chat.chatInterface.SendChatMsg("add_item 101 10", 0); GameInterface_Player.SetGameState(GameBool.qinqing1, true); WindowMng.windowMng.PopView(); }
IEnumerator ZhiRuo1() { string[] text = new string[] { @"{0}哥哥,叔叔和婶婶应该不久就会回来,你别难过哦。", @"至若,等我变厉害了,我就出村去找他们。", @"{0}哥哥,我也想出村去看看,听村长爷爷说,村外有很多神奇的东西,还有好多好多人呢。", @"恩没问题,到时候我一定带你一起出去", @"哥哥,你真好。", }; var npcDialog = WindowMng.windowMng.PushView("UI/NpcDialog", false); var dia = npcDialog.GetComponent <NpcDialog>(); bool next = false; dia.ShowNext = delegate() { next = true; }; foreach (var t in text) { dia.ShowText(string.Format(t, ObjectManager.objectManager.GetMyName())); while (!next) { yield return(new WaitForSeconds(0.1f)); } next = false; } GameInterface_Player.SetGameState(GameBool.zhiruo1, true); WindowMng.windowMng.PopView(); }
IEnumerator CunZhang3() { string[] text = new string[] { "{0},你回来了\n我刚才施法打开了通往试炼之境的密道,你可以去那里,找到你父母留给你的东西。", "巨牙子爷爷,试炼之境是什么地方?", "那里是村子的地下的一个秘境,据说是上古通天神魔用无边法力所构建的一个空间,里面居住着一些魔神的子子孙孙,到那后你要小心。", "父母留给我什么宝物呢?", "这个我也不清楚,应该是拥有通灵之力的神物,只有这种神物,才不会被魔气所侵袭。\n你可以叫上至若和东湖帮你,试炼之境虽不是万分险恶,但那些魔物也不是好惹之徒,你们还是要万分小心的。", "恩,多谢巨牙子爷爷。", }; var npcDialog = WindowMng.windowMng.PushView("UI/NpcDialog", false); var dia = npcDialog.GetComponent <NpcDialog>(); bool next = false; dia.ShowNext = delegate() { next = true; }; foreach (var t in text) { dia.ShowText(string.Format(t, ObjectManager.objectManager.GetMyName())); while (!next) { yield return(new WaitForSeconds(0.1f)); } next = false; } GameInterface_Player.SetIntState(GameBool.cunZhangState, 1); WindowMng.windowMng.PopView(); }
IEnumerator WanShan1() { string[] text = new string[] { @"{0},我在村外找到的好玩的玩意,只要十个金币,你有钱了就可以到我这里耍耍。", @"万山叔,等我有钱了,再来找你。", @"等等,你能帮我带件礼物给秦情么,但别说是我送的,如果你答应的话,我可以送你件礼物。", @"恩,好的。", @"......,嘿嘿。", }; var npcDialog = WindowMng.windowMng.PushView("UI/NpcDialog", false); var dia = npcDialog.GetComponent <NpcDialog>(); bool next = false; dia.ShowNext = delegate() { next = true; }; foreach (var t in text) { dia.ShowText(string.Format(t, ObjectManager.objectManager.GetMyName())); while (!next) { yield return(new WaitForSeconds(0.1f)); } next = false; } GameInterface_Player.SetGameState(GameBool.wanshan1, true); WindowMng.windowMng.PopView(); }
IEnumerator DongHu1() { string[] text = new string[] { @"{0},叔叔婶婶都是极厉害的人,他们一定是去干惊天大事情去了,真想有一天像他们一样呀。", @"东湖,你想和我一起出去闯荡么?", @"听说外面世界很大,可是我还是喜欢呆在村子里,每天看见至若妹妹,我就很开心了。", @"至若妹妹说她也想出去呢", @"是吗,如果你们都走了我也要一起", @"好的一言为定,到时候我们一起闯荡天下。" }; var npcDialog = WindowMng.windowMng.PushView("UI/NpcDialog", false); var dia = npcDialog.GetComponent <NpcDialog>(); bool next = false; dia.ShowNext = delegate() { next = true; }; foreach (var t in text) { dia.ShowText(string.Format(t, ObjectManager.objectManager.GetMyName())); while (!next) { yield return(new WaitForSeconds(0.1f)); } next = false; } GameInterface_Player.SetGameState(GameBool.donghu1, true); WindowMng.windowMng.PopView(); }
void TalkToDongHu() { var step = GameInterface_Player.GetIntState(GameBool.cunZhangState); if (step == 0) { if (!GameInterface_Player.GetGameState(GameBool.donghu1)) { StartCoroutine(DongHu1()); } else { DongHu2(); } } else if (step == 1) { if (!GameInterface_Player.GetGameState(GameBool.donghu3)) { DongHu3(); } else { DongHu4(); } } else if (step == 6) { DongHu6(); } }
IEnumerator ZhiRuo3() { string[] text = new string[] { "至若要和我一起去,找宝贝么?", "好的哥哥。", }; var npcDialog = WindowMng.windowMng.PushView("UI/NpcDialog", false); var dia = npcDialog.GetComponent <NpcDialog>(); bool next = false; dia.ShowNext = delegate() { next = true; }; foreach (var t in text) { dia.ShowText(string.Format(t, ObjectManager.objectManager.GetMyName())); while (!next) { yield return(new WaitForSeconds(0.1f)); } next = false; } GameInterface_Player.SetGameState(GameBool.zhiruo3, true); WindowMng.windowMng.PopView(); }
void UpdateFrame() { hpLabel.text = GameInterface_Backpack.GetHpNum().ToString(); var lev = GameInterface_Player.GetLevel(); Log.GUI("lev " + lev); level.text = "[ff9500]等级:" + lev + "[-]"; }
void Start() { var step = GameInterface_Player.GetIntState(GameBool.cunZhangState); if (step == 4) { StartCoroutine(CreateZhiRuo()); } }
void Start() { var step = GameInterface_Player.GetIntState(GameBool.cunZhangState); if (step == 10) { StartCoroutine(StoryProgress()); } }
void DongHu3() { string[] text = new string[] { "东湖一起找宝贝么,至若妹妹也一起去呀", "有宝贝,那我也想去看看", }; NpcDialogInterface.ShowTextList(new System.Collections.Generic.List <string>(text), delegate() { GameInterface_Player.SetGameState(GameBool.donghu3, true); }); }
void TalkToWanShan() { if (!GameInterface_Player.GetGameState(GameBool.wanshan1)) { StartCoroutine(WanShan1()); } else { WanShan2(); } }
void CunZhang5() { string[] text = new string[] { "东湖受了魔气侵袭,需要苍冥水方能恢复,此物在试炼之境可以寻到,你快快和至若一起去寻回来,晚了,怕东湖会有危险。", "巨牙子爷爷放心,我这就去找至若,一起去苍冥水。", }; NpcDialogInterface.ShowTextList(new System.Collections.Generic.List <string>(text), delegate() { GameInterface_Player.SetIntState(GameBool.cunZhangState, 3); }); }
void TalkToQinQing() { if (!GameInterface_Player.GetGameState(GameBool.qinqing1)) { StartCoroutine(QinQing1()); } else { QinQing2(); } }
void ZhiRuo5() { string[] text = new string[] { "至若快和我一起去寻苍冥水,救东湖", "好的哥哥。", }; NpcDialogInterface.ShowTextList(new System.Collections.Generic.List <string>(text), delegate() { GameInterface_Player.SetIntState(GameBool.cunZhangState, 4); }); }
bool CheckCondition(List <string> con) { foreach (var c in con) { if (!GameInterface_Player.GetGameState(GameBool.chapter1Start)) { return(false); } } return(true); }
void CunZhang8() { var text = new string[] { @"巨牙子:东湖体内魔气现在已经被清除干净,还是静养数日,你和至若,最近不要再靠近试炼之地了,那里危机重重。", @"是的巨牙子爷爷", @"你去把我的吩咐告诉至若吧。", }; NpcDialogInterface.ShowTextList(text, null); GameInterface_Player.SetIntState(GameBool.cunZhangState, 9); }
void TalkToCunZhang() { Log.GUI("TalkTOCunZhange"); //未曾开始对话 if (!GameInterface_Player.GetGameState(GameBool.chapter1Start)) { StartCoroutine(ShowChapter1StartDialog()); } else { var step = GameInterface_Player.GetIntState(GameBool.cunZhangState); if (step == 0) { var c = new List <string>() { GameBool.chapter1Start, GameBool.zhiruo1, GameBool.donghu1, GameBool.qinqing1, GameBool.wanshan1, }; if (CheckCondition(c)) { StartCoroutine(CunZhang3()); } else { ShowCunZhangNormalWord(); } } else if (step == 1) { CunZhang4(); } else if (step == 2) { CunZhang5(); } else if (step == 3) { CunZhang6(); } else if (step == 5) { CunZhang7(); } else if (step == 8) { CunZhang8(); } } }
void Start() { var step = GameInterface_Player.GetIntState(GameBool.cunZhangState); Log.Sys("Current Step is " + step); if (step == 1) { StartCoroutine(CreateZhiRuoAndDongHu()); } else { StartCoroutine(NormalBoss()); } }
void DongHu6() { var text = new string[] { "巨牙子爷爷,快给东湖服下这药水吧!", "好的", "咕噜噜...", "突然一道血光从东湖嘴里喷薄而出,传来阴森森的声音,哈哈哈,终于等到这一天了", "巨牙子:不好,你们快快离开,我要施法封住魔神之灵。", "遵命", }; NpcDialogInterface.ShowTextList(text, null); GameInterface_Player.SetIntState(GameBool.cunZhangState, 8); }
void ZhiRuo9() { var text = new string[] { "至若,巨牙子爷爷吩咐今后不能靠近试炼之地,那里现在危机重重", "恩,哥哥我知道你出村心切,但是你也万万不可再进入呀", "那日你我和魔神交手,它也不过尔尔,若不能尽早找到父母留给我的东西,又怎能尽早出村呢,你不必劝我了,今夜我自己去一趟,寻得宝物", "哥哥,我知道劝你也劝不住,不过你要万分小心呀,这是我们传家之宝--九曜石,也许在你危险的时候可以帮你。", "多谢至若,东湖就拜托你多多照顾一下了", "恩哥哥,万事要小心呀", }; NpcDialogInterface.ShowTextList(text, null); GameInterface_Player.SetIntState(GameBool.cunZhangState, 10); }
void CunZhang7() { var text = new string[] { @"你们终于回来了,找到苍冥水了么?", @"至若:不知道这个是不是,我们遇到了一只苍狼,从它身上找到的", @"正是此物,苍冥水本是苍狼性命本源,拥有无限生机,正好可以用来治好东湖身上伤", @"不过这苍冥水有些浑浊,怕是那狼恐是暮年", @"至若:怪不得这么好对付呢", @"巨牙子:东湖那边现在危在旦夕,此物需速速给他服下,你们同我一起去吧。", @"是的爷爷", }; NpcDialogInterface.ShowTextList(text, null); GameInterface_Package.SellQuestItem((int)ItemData.ItemID.CANG_MING_SHUI); GameInterface_Player.SetIntState(GameBool.cunZhangState, 6); }
IEnumerator ShowChapter1StartDialog() { var npcDialog = WindowMng.windowMng.PushView("UI/NpcDialog", false); var dia = npcDialog.GetComponent <NpcDialog>(); dia.ShowNext = delegate() { GameInterface_Player.SetGameState(GameBool.chapter1Start, true); WindowMng.windowMng.PopView(); }; string[] text = new string[] { @"孩子你父母有重要的事情要做,他们嘱托我照顾你,等你有了力量,就可以去找他们了。你父母走之前留给你一些东西,现在你可以先去村子里转转,一会再过来找我。", }; dia.ShowText(text [0]); yield return(null); }
void TalkToZhiRuo() { var step = GameInterface_Player.GetIntState(GameBool.cunZhangState); if (step == 0) { if (!GameInterface_Player.GetGameState(GameBool.zhiruo1)) { StartCoroutine(ZhiRuo1()); } else { ZhiRuo2(); } } else if (step == 1) { var c = new List <string>() { GameBool.zhiruo3, }; if (CheckCondition(c)) { StartCoroutine(ZhiRuo4()); } else { StartCoroutine(ZhiRuo3()); } } else if (step == 3) { ZhiRuo5(); } else if (step == 9) { ZhiRuo9(); } }
void OnTalk(GameObject g) { GameInterface_Player.TalkToNpc(); }
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(); }
//Load 主城剧情 如何表现CG 镜头控制 运用 //加载主城场景 //跨场景的剧情 //场景暗下来 主镜头关闭 IEnumerator StoryProgress() { yield return(StartCoroutine(NpcDialogInterface.WaitPlayerInit())); var text = new string[] { "是夜,你独自一人闯入了试炼之地,与此同时, 在村中", }; yield return(StartCoroutine(NpcDialogInterface.WaitHandler( (cb) => { NpcDialogInterface.ShowTextList(text, () => { cb(); } ); }))); NpcDialogInterface.SetBlackAndStopAI(); text = new string[] { "至若:东湖哥哥,你怎么了,夜里来这里干什么?", "东湖:我... 我... 我也不知道怎么了,只觉得胸中热气鼓荡,神不知鬼不觉就来到这里了", "至若:你不会魔气未净, 我去找巨牙子爷爷", "东湖:我... 我... 嘿嘿,小姑娘,不用去了,本王要借你的至阴之气一用", "至若:东湖哥哥你怎么了,为何突然说话声音变了, 东湖哥哥 东湖哥哥 ,东... 湖... 哥..., 我头有点晕...", "是夜,一夜无话", }; yield return(StartCoroutine( NpcDialogInterface.WaitHandler((cb) => { NpcDialogInterface.ShowTextList(text, () => { cb(); }); }) )); NpcDialogInterface.ResetBlackAndAI(); text = new string[] { "自从那日与魔神交手之后,心中总是有不详预感,不知道现在村子里面怎么样了,等找到父母留下的宝物,就尽快回去了", }; yield return(StartCoroutine( NpcDialogInterface.WaitHandler((cb) => { NpcDialogInterface.ShowTextList(text, () => { cb(); }); }) )); yield return(StartCoroutine(eh.WaitEvt(MyEvent.EventType.EnterNextZone))); text = new string[] { "前方为何散发出幽幽蓝光,难道宝物就在那里", }; yield return(StartCoroutine( NpcDialogInterface.WaitHandler((cb) => { NpcDialogInterface.ShowTextList(text, () => { cb(); }); }) )); yield return(StartCoroutine(eh.WaitEvt(MyEvent.EventType.BossSpawn))); text = new string[] { "???:我被困在这匣子里面整整一千年了,刑木,你怕是早就死了吧哈哈哈", "你是何方妖魔,竟敢直呼我先祖的名讳", "小娃娃,刚好,我已千年没有进食了,正好吃掉你,解解馋", }; yield return(StartCoroutine( NpcDialogInterface.WaitHandler((cb) => { NpcDialogInterface.ShowTextList(text, () => { cb(); }); }) )); MyEventSystem.PushEventStatic(MyEvent.EventType.SpeakOver); yield return(StartCoroutine(eh.WaitEvt(MyEvent.EventType.BossDead))); text = new string[] { "这散落一地的宝石,似乎蕴含着极大的力量,回去问问巨牙子爷爷", }; yield return(StartCoroutine( NpcDialogInterface.WaitHandler((cb) => { NpcDialogInterface.ShowTextList(text, () => { cb(); }); }) )); yield return(StartCoroutine(eh.WaitEvt(MyEvent.EventType.LevelFinish))); BattleManager.battleManager.GameOver(); GameInterface_Player.SetIntState(GameBool.cunZhangState, 11); }
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(); }