Пример #1
0
        public static void Replace(String nextScene, SceneTransition transition = SceneTransition.FadeOutToBlack_FadeIn, Boolean needFade = true)
        {
            if (nextScene != "MainMenu")
            {
                if (Singleton <BubbleUI> .Instance != null)
                {
                    Singleton <BubbleUI> .Instance.SetGameObjectActive(false);
                }

                EventHUD.Cleanup();
                EventInput.ClearPadMask();
            }

            Instance.Transition = transition;
            if (transition == SceneTransition.SwirlInBlack || transition == SceneTransition.SwirlInWhite)
            {
                PersistenSingleton <UIManager> .Instance.SetPlayerControlEnable(false, null);

                Instance.Swirl(nextScene, transition);
            }
            else
            {
                Instance.NextScene = nextScene;
                SoundLib.LazyLoadSoundResources();
                PersistenSingleton <UIManager> .Instance.SetLoadingForSceneChange();

                Instance.Replace(needFade);
            }
        }
Пример #2
0
        public static void ReplaceNow(String nextScene)
        {
            MemoriaExport();
            if (nextScene != "MainMenu")
            {
                if (Singleton <BubbleUI> .Instance != null)
                {
                    Singleton <BubbleUI> .Instance.SetGameObjectActive(false);
                }
                EventHUD.Cleanup();
                EventInput.ClearPadMask();
            }

            Instance.NextScene = nextScene;
            Application.LoadLevel("Loading");
            Resources.UnloadUnusedAssets();
            GC.Collect();
            Application.LoadLevel(Instance.NextScene);
            Instance.LastScene           = Instance.CurrentScene;
            Instance.CurrentScene        = Instance.NextScene;
            Instance.PendingCurrentScene = String.Empty;
            Instance.PendingNextScene    = String.Empty;
            Instance.NextScene           = String.Empty;
            UnityEngine.Debug.Log("---------- Current Scene : " + Instance.CurrentScene + " ----------");
        }
Пример #3
0
        public static void ReplaceNow(String nextScene)
        {
            MemoriaExport();

            if (String.IsNullOrEmpty(nextScene))
            {
                Log.Error($"[{nameof(SceneDirector)}] Someone tried to change the current scene [{Instance.CurrentScene}] to the invalid scene: [{nextScene}]. Stack: " + Environment.NewLine + Environment.StackTrace);
            }

            if (nextScene != "MainMenu")
            {
                if (Singleton <BubbleUI> .Instance != (UnityEngine.Object)null)
                {
                    Singleton <BubbleUI> .Instance.SetGameObjectActive(false);
                }
                EventHUD.Cleanup();
                EventInput.ClearPadMask();
            }
            PersistenSingleton <SceneDirector> .Instance.NextScene = nextScene;
            Application.LoadLevel("Loading");
            Resources.UnloadUnusedAssets();
            //GC.Collect();
            PersistenSingleton <SceneDirector> .Instance.LoadNextScene();

            PersistenSingleton <SceneDirector> .Instance.LastScene           = PersistenSingleton <SceneDirector> .Instance.CurrentScene;
            PersistenSingleton <SceneDirector> .Instance.CurrentScene        = PersistenSingleton <SceneDirector> .Instance.NextScene;
            PersistenSingleton <SceneDirector> .Instance.PendingCurrentScene = String.Empty;
            PersistenSingleton <SceneDirector> .Instance.PendingNextScene    = String.Empty;
            PersistenSingleton <SceneDirector> .Instance.NextScene           = String.Empty;
            global::Debug.Log("---------- Current Scene : " + PersistenSingleton <SceneDirector> .Instance.CurrentScene + " ----------");
        }
Пример #4
0
        public static void Replace(String nextScene, SceneTransition transition = SceneTransition.FadeOutToBlack_FadeIn, Boolean needFade = true)
        {
            if (String.IsNullOrEmpty(nextScene))
            {
                Log.Error($"[{nameof(SceneDirector)}] Someone tried to change the current scene [{Instance.CurrentScene}] to the invalid scene: [{nextScene}]. Stack: " + Environment.NewLine + Environment.StackTrace);
            }

            if (nextScene != "MainMenu")
            {
                if (Singleton <BubbleUI> .Instance != (UnityEngine.Object)null)
                {
                    Singleton <BubbleUI> .Instance.SetGameObjectActive(false);
                }
                EventHUD.Cleanup();
                EventInput.ClearPadMask();
            }
            PersistenSingleton <SceneDirector> .Instance.Transition = transition;
            if (transition == SceneTransition.SwirlInBlack || transition == SceneTransition.SwirlInWhite)
            {
                PersistenSingleton <UIManager> .Instance.SetPlayerControlEnable(false, (Action)null);

                PersistenSingleton <SceneDirector> .Instance.Swirl(nextScene, transition);

                return;
            }
            PersistenSingleton <SceneDirector> .Instance.NextScene = nextScene;
            SoundLib.LazyLoadSoundResources();
            PersistenSingleton <UIManager> .Instance.SetLoadingForSceneChange();

            PersistenSingleton <SceneDirector> .Instance.Replace(needFade);
        }
Пример #5
0
    public Int32 ProcessEvents()
    {
        if ((Int32)FF9StateSystem.Common.FF9.fldMapNo == 303 || (Int32)FF9StateSystem.Common.FF9.fldMapNo == 304)
        {
            if (FF9StateSystem.Settings.IsNoEncounter)
            {
                PersistenSingleton <EventEngine> .Instance.eBin.setVarManually(53189, 0);

                PersistenSingleton <EventEngine> .Instance.eBin.setVarManually(52933, 0);

                PersistenSingleton <EventEngine> .Instance.eBin.setVarManually(52677, 0);
            }
        }
        else if ((Int32)FF9StateSystem.Common.FF9.fldMapNo == 301)
        {
            if (FF9StateSystem.Settings.IsNoEncounter)
            {
                PersistenSingleton <EventEngine> .Instance.eBin.setVarManually(61381, 0);

                PersistenSingleton <EventEngine> .Instance.eBin.setVarManually(61125, 0);
            }
        }
        else if ((Int32)FF9StateSystem.Common.FF9.fldMapNo == 302)
        {
            if (FF9StateSystem.Settings.IsNoEncounter)
            {
                PersistenSingleton <EventEngine> .Instance.eBin.setVarManually(53189, 0);

                PersistenSingleton <EventEngine> .Instance.eBin.setVarManually(52933, 0);
            }
        }
        else if ((Int32)FF9StateSystem.Common.FF9.fldMapNo == 2921 && FF9StateSystem.Settings.IsNoEncounter)
        {
            PersistenSingleton <EventEngine> .Instance.eBin.setVarManually(10461, 10);
        }
        Boolean flag     = false;
        Boolean isBattle = this.gMode == 2;

        this._moveKey = false;
        for (ObjList objList = this._context.activeObj; objList != null; objList = objList.next)
        {
            Obj obj = objList.obj;
            if ((Int32)obj.cid == 4)
            {
                Actor actor = (Actor)obj;
                FieldMapActorController mapActorController = actor.fieldMapActorController;
                if ((Int32)obj.uid == (Int32)this._context.controlUID && (Int32)obj.state == (Int32)EventEngine.stateRunning)
                {
                    if ((Int32)this._context.usercontrol != 0)
                    {
                        if (this.gMode == 1)
                        {
                            //if (!((UnityEngine.Object)mapActorController != (UnityEngine.Object)null))
                            //    ;
                            this._moveKey = FieldMapActorController.ccSMoveKey;
                        }
                        else if (this.gMode == 3)
                        {
                            Single distance = 0.0f;
                            this._moveKey = ff9.w_frameEncountEnable;
                            this.CollisionRequest((PosObj)obj);
                            PosObj posObj = (PosObj)this.Collision(this, actor, 0, ref distance);
                            if (posObj != null && distance <= 0f)
                            {
                                WMActor wmActor  = actor.wmActor;
                                WMActor wmActor2 = ((Actor)posObj).wmActor;
                                Vector2 from     = new Vector2(wmActor.pos0 - wmActor.lastx, wmActor.pos2 - wmActor.lastz);
                                Vector2 to       = new Vector2(wmActor2.pos0 - wmActor.pos0, wmActor2.pos2 - wmActor.pos2);
                                float   num2     = Vector2.Angle(from, to);
                                if (num2 >= 0f && num2 <= 90f)
                                {
                                    wmActor.transform.position = new Vector3(wmActor.lastx, wmActor.lasty, wmActor.lastz);
                                }
                            }
                        }
                        if (this._moveKey)
                        {
                            this.ResetIdleTimer(0);
                        }
                    }
                    else if ((UnityEngine.Object)mapActorController != (UnityEngine.Object)null)
                    {
                        mapActorController.CopyLastPos();
                    }
                }
                else if ((UnityEngine.Object)mapActorController != (UnityEngine.Object)null)
                {
                    mapActorController.CopyLastPos();
                }
                if ((Int32)obj.state == (Int32)EventEngine.stateRunning)
                {
                    if (!isBattle)
                    {
                        this.ProcessAnime((Actor)obj);
                    }
                    //if ((Int32)this._context.usercontrol == 0)
                    //    ;
                }
            }
        }
        if (isBattle)
        {
            this.SetupBattleState();
        }
        this._posUsed = false;
        Int32 num1 = this.eBin.ProcessCode(this._context.activeObj);

        EventHUD.CheckUIMiniGameForMobile();
        if (num1 == 6)
        {
            num1 = 0;
        }
        else
        {
            this.gStopObj = (ObjList)null;
        }
        this._aimObj = (PosObj)null;
        this._eyeObj = (PosObj)null;
        for (ObjList objList = this._context.activeObj; objList != null; objList = objList.next)
        {
            this.SetRenderer(objList.obj, isBattle);
        }
        //if (this.gMode != 1)
        //    ;
        if (isBattle)
        {
            for (ObjList objList = this._context.activeObj; objList != null; objList = objList.next)
            {
                Obj p = objList.obj;
                if ((Int32)p.btlchk == 2 && this.Request(p, 3, 5, false))
                {
                    p.btlchk = (Byte)1;
                }
            }
        }
        else
        {
            for (ObjList objList = this._context.activeObj; objList != null; objList = objList.next)
            {
                Obj    obj    = objList.obj;
                Single deltaX = 0.0f;
                Single deltaY = 0.0f;
                Single deltaZ = 0.0f;
                if ((Int32)obj.cid == 4)
                {
                    Actor actor = (Actor)obj;
                    if (this.gMode == 1)
                    {
                        if ((UnityEngine.Object)obj.go != (UnityEngine.Object)null)
                        {
                            FieldMapActorController component = obj.go.GetComponent <FieldMapActorController>();
                            if ((UnityEngine.Object)component != (UnityEngine.Object)null)
                            {
                                Int32 num2 = 0;
                                if ((Int32)actor.cid != 4 || (Int32)actor.model == (Int32)UInt16.MaxValue)
                                {
                                    num2 = 0;
                                }
                                //else if (component.walkMesh == null)
                                //    ;
                                if (((Int32)obj.uid != (Int32)this._context.controlUID || this.sLockTimer >= 0L) && (num2 & 1) != 0)
                                {
                                    Single distance = 0.0f;
                                    PosObj posObj   = this.fieldmap.walkMesh.Collision(actor.fieldMapActorController, 0, out distance);
                                    if (posObj != null)
                                    {
                                        actor.fieldMapActorController.ResetPos();
                                        if (((Int32)posObj.flags & 16) != 0)
                                        {
                                            this.sLockTimer = 0L;
                                        }
                                        if ((Int32)obj.uid == (Int32)this._context.controlUID)
                                        {
                                            this._collTimer = 2;
                                        }
                                    }
                                }
                            }
                        }
                        if ((Int32)obj.uid == (Int32)this._context.controlUID)
                        {
                            EIcon.ProcessHereIcon((PosObj)actor);
                            if (this.GetUserControl())
                            {
                                this.CollisionRequest((PosObj)actor);
                            }
                        }
                    }
                    else if (this.gMode == 3)
                    {
                        if (((Int32)actor.actf & EventEngine.actEye) != 0)
                        {
                            Vector3 eyePtr = ff9.w_cameraGetEyePtr();
                            eyePtr.x = actor.pos[0];
                            eyePtr.y = actor.pos[1];
                            eyePtr.z = actor.pos[2];
                            ff9.w_cameraSetEyePtr(eyePtr);
                            this._eyeObj = (PosObj)actor;
                        }
                        else if (((Int32)actor.actf & EventEngine.actAim) != 0)
                        {
                            Vector3 aimPtr = ff9.w_cameraGetAimPtr();
                            aimPtr.x = actor.pos[0];
                            aimPtr.y = actor.pos[1];
                            aimPtr.z = actor.pos[2];
                            ff9.w_cameraSetAimPtr(aimPtr);
                            this._aimObj = (PosObj)actor;
                        }
                    }
                    if ((UnityEngine.Object)obj.go != (UnityEngine.Object)null)
                    {
                        if (this.gMode == 3)
                        {
                            WMActor wmActor = ((Actor)obj).wmActor;
                            if ((UnityEngine.Object)wmActor != (UnityEngine.Object)null)
                            {
                                deltaX = (Single)(256.0 * ((Double)wmActor.pos0 - (Double)wmActor.lastx));
                                deltaY = (Single)(256.0 * ((Double)wmActor.pos1 - (Double)wmActor.lasty));
                                deltaZ = (Single)(256.0 * ((Double)wmActor.pos2 - (Double)wmActor.lastz));
                                flag   = !EventEngineUtils.nearlyEqual(wmActor.pos0, wmActor.lastx) || !EventEngineUtils.nearlyEqual(wmActor.pos2, wmActor.lastz);
                                //if ((Int32)obj.sid != 5 && (Int32)obj.sid == 11)
                                //    ;
                            }
                        }
                        else if (this.gMode == 1)
                        {
                            FieldMapActorController component = obj.go.GetComponent <FieldMapActorController>();
                            deltaX = component.curPos.x - component.lastPos.x;
                            deltaY = component.curPos.y - component.lastPos.y;
                            deltaZ = component.curPos.z - component.lastPos.z;
                            flag   = !EventEngineUtils.nearlyEqual(component.curPos.x, component.lastPos.x) || !EventEngineUtils.nearlyEqual(component.curPos.z, component.lastPos.z);
                        }
                        if ((Int32)actor.follow != (Int32)Byte.MaxValue && (UnityEngine.Object)Singleton <DialogManager> .Instance.GetDialogByWindowID((Int32)actor.follow) == (UnityEngine.Object)null)
                        {
                            actor.follow = Byte.MaxValue;
                            if (EventEngine.sLastTalker == actor)
                            {
                                EventEngine.sTalkTimer = 30;
                            }
                        }
                        if (this.gMode == 1)
                        {
                            this.ProcessTurn(actor);
                            if ((Int32)actor.model != (Int32)UInt16.MaxValue)
                            {
                                this.ProcessNeck(actor);
                            }
                        }
                        if (this.gMode == 3)
                        {
                            this.ProcessTurn(actor);
                        }
                        if (flag)
                        {
                            Int32 num2 = (Int32)actor.animFlag & (EventEngine.afExec | EventEngine.afLower | EventEngine.afFreeze);
                            if (num2 == 0 || num2 == (EventEngine.afExec | EventEngine.afLower))
                            {
                                actor.animFlag &= (Byte) ~(EventEngine.afExec | EventEngine.afLower);
                                this.SetAnim(actor, (Int32)actor.speed < (Int32)actor.speedth ? (Int32)actor.walk : (Int32)actor.run);
                            }
                        }
                        else if (((Int32)actor.animFlag & (EventEngine.afExec | EventEngine.afFreeze)) == 0 && (this._collTimer == 0 || (Int32)obj.uid != (Int32)this._context.controlUID))
                        {
                            this.SetAnim(actor, (Int32)actor.idle);
                        }
                        if (flag && (Int32)obj.uid == (Int32)this._context.controlUID && this._moveKey)
                        {
                            Single distance = this.distance(deltaX, deltaY, deltaZ);
                            if (this.gMode == 3)
                            {
                                WMActor wmActor = ((Actor)obj).wmActor;
                            }
                            this._encountTimer += distance;
                            if (!FF9StateSystem.Settings.IsNoEncounter && this.ProcessEncount(actor))
                            {
                                this._encountReserved = true;
                            }
                        }
                    }
                }
            }
        }
        if (this._collTimer > 0)
        {
            --this._collTimer;
        }
        if (EventEngine.sTalkTimer > 0 && --EventEngine.sTalkTimer != 0)
        {
            this.ClearLookTalker();
        }
        if (this._encountReserved && !this._posUsed)
        {
            this._encountReserved = false;
            num1 = 3;
        }
        if ((num1 == 3 || num1 == 7) && this.gMode == 1)
        {
            this.BackupPosObjData();
        }
        if (num1 == 7)
        {
            this.sEventContext1.copy(this.sEventContext0);
        }
        EMinigame.AllTreasureAchievement();
        EMinigame.AllSandyBeachAchievement();
        EMinigame.DigUpKupoAchievement();
        //this.printActorsInObjList(this.E.activeObj);
        return(num1);
    }
Пример #6
0
    public static void CheckUIMiniGameForMobile()
    {
        Int32 varManually = PersistenSingleton <EventEngine> .Instance.eBin.getVarManually(6357);

        Int32 varManually2 = PersistenSingleton <EventEngine> .Instance.eBin.getVarManually(728);

        Int32 fldMapNo = (Int32)FF9StateSystem.Common.FF9.fldMapNo;

        if (PersistenSingleton <EventEngine> .Instance.gMode == 1)
        {
            if (fldMapNo == 64)
            {
                if (varManually2 != 327 && varManually2 != 315 && varManually2 != 316)
                {
                    if (varManually == 3)
                    {
                        EventHUD.OpenSpecialHUD(MinigameHUD.Chanbara);
                    }
                    else
                    {
                        EventHUD.CloseSpecialHUD(MinigameHUD.Chanbara);
                    }
                }
            }
            else if (fldMapNo == 1208)
            {
                if (varManually2 != 0)
                {
                    if (varManually == 13)
                    {
                        EventHUD.OpenSpecialHUD(MinigameHUD.SwingACage);
                    }
                    else
                    {
                        EventHUD.CloseSpecialHUD(MinigameHUD.SwingACage);
                    }
                }
            }
            else if (fldMapNo == 1704)
            {
                if (!PersistenSingleton <EventEngine> .Instance.GetUserControl() && FF9StateSystem.MobilePlatform)
                {
                    Boolean isEnable = !Singleton <DialogManager> .Instance.Visible;
                    PersistenSingleton <UIManager> .Instance.SetPlayerControlEnable(isEnable, (Action)null);
                }
            }
            else if (fldMapNo == 2204)
            {
                if (TimerUI.Time == 0f)
                {
                    EventHUD.CloseSpecialHUD(MinigameHUD.GetTheKey);
                }
            }
            else if (fldMapNo == 2921)
            {
                if (!PersistenSingleton <EventEngine> .Instance.GetUserControl() && FF9StateSystem.MobilePlatform)
                {
                    Boolean isEnable2 = !Singleton <DialogManager> .Instance.Visible;
                    PersistenSingleton <UIManager> .Instance.SetPlayerControlEnable(isEnable2, (Action)null);
                }
            }
            else if (fldMapNo == 2950 || fldMapNo == 2951 || fldMapNo == 2952)
            {
                if (TimerUI.Play && TimerUI.Time > 0f)
                {
                    EventHUD.CloseSpecialHUD(MinigameHUD.ChocoHotInstruction);
                    EventHUD.OpenSpecialHUD(MinigameHUD.ChocoHot);
                }
                else if (TimerUI.Enable)
                {
                    EventHUD.CloseSpecialHUD(MinigameHUD.ChocoHot);
                }
            }
            else if (fldMapNo == 2711)
            {
                Dialog dialogByWindowID = Singleton <DialogManager> .Instance.GetDialogByWindowID(Convert.ToInt32(Dialog.WindowID.ID7));

                Boolean flag = false;
                if (dialogByWindowID != (UnityEngine.Object)null)
                {
                    flag = (dialogByWindowID.TextId == 324);
                }
                if (flag)
                {
                    EventHUD.OpenSpecialHUD(MinigameHUD.PandoniumElevator);
                }
                else
                {
                    EventHUD.CloseSpecialHUD(MinigameHUD.PandoniumElevator);
                }
            }
        }
    }
Пример #7
0
    public static void CheckSpecialHUDFromMesId(Int32 mesId, Boolean open)
    {
        EventEngine instance = PersistenSingleton <EventEngine> .Instance;

        if (instance == (UnityEngine.Object)null)
        {
            return;
        }
        if (instance.gMode == 1)
        {
            Boolean     flag    = false;
            MinigameHUD hudtype = MinigameHUD.None;
            if (FF9TextTool.FieldZoneId == 2)
            {
                flag = (mesId == 35);
                if (flag && !open)
                {
                    EventService.OpenBasicControlTutorial();
                    return;
                }
            }
            else if (FF9TextTool.FieldZoneId == 7)
            {
                flag = (mesId == 113);
                if (flag)
                {
                    hudtype = MinigameHUD.JumpingRope;
                }
            }
            else if (FF9TextTool.FieldZoneId == 22)
            {
                String currentLanguage = FF9StateSystem.Settings.CurrentLanguage;
                switch (currentLanguage)
                {
                case "Japanese":
                case "Italian":
                    flag = (mesId == 402);
                    break;

                case "English(US)":
                case "English(UK)":
                    flag = (mesId == 401);
                    break;

                case "French":
                case "German":
                    flag = (mesId == 400);
                    break;

                case "Spanish":
                    flag = (mesId == 395);
                    break;
                }
                if (flag)
                {
                    hudtype = MinigameHUD.Telescope;
                }
            }
            else if (FF9TextTool.FieldZoneId == 23)
            {
                String currentLanguage = FF9StateSystem.Settings.CurrentLanguage;
                switch (currentLanguage)
                {
                case "Japanese":
                case "French":
                    flag = (mesId == 153);
                    goto IL_21A;

                case "Italian":
                    flag = (mesId == 148);
                    goto IL_21A;
                }

                flag = (mesId == 133);
IL_21A:
                if (flag)
                {
                    hudtype = MinigameHUD.Auction;
                }
            }
            else if (FF9TextTool.FieldZoneId == 33)
            {
                flag = (mesId == 233);
                if (!flag)
                {
                    flag = (mesId == 246);
                }
                if (flag)
                {
                    if (mesId == 233 && !open)
                    {
                        open = true;
                    }
                    else if (mesId == 246 && open)
                    {
                        open = false;
                    }
                }
                if (flag)
                {
                    hudtype = MinigameHUD.JumpingRope;
                }
            }
            else if (FF9TextTool.FieldZoneId == 70 || FF9TextTool.FieldZoneId == 741)
            {
                String currentLanguage = FF9StateSystem.Settings.CurrentLanguage;
                switch (currentLanguage)
                {
                case "English(US)":
                case "English(UK)":
                    flag = (mesId == 203);
                    goto IL_324;
                }

                flag = (mesId == 204);
IL_324:
                if (flag)
                {
                    hudtype = MinigameHUD.Auction;
                }
            }
            else if (FF9TextTool.FieldZoneId == 71)
            {
                String currentLanguage = FF9StateSystem.Settings.CurrentLanguage;
                switch (currentLanguage)
                {
                case "English(US)":
                case "English(UK)":
                    flag = (mesId == 216);
                    goto IL_3BB;
                }

                flag = (mesId == 217);
IL_3BB:
                if (flag)
                {
                    hudtype = MinigameHUD.MogTutorial;
                }
            }
            else if (FF9TextTool.FieldZoneId == 90)
            {
                if (open)
                {
                    flag = (mesId == 147 || mesId == 148);
                }
                else
                {
                    flag = (mesId == 148);
                }
                if (flag)
                {
                    hudtype = MinigameHUD.RacingHippaul;
                }
            }
            else if (FF9TextTool.FieldZoneId == 166)
            {
                flag = (mesId == 105);
                if (flag)
                {
                    hudtype = MinigameHUD.Auction;
                }
            }
            else if (FF9TextTool.FieldZoneId == 358)
            {
                String currentLanguage = FF9StateSystem.Settings.CurrentLanguage;
                switch (currentLanguage)
                {
                case "Japanese":
                case "French":
                    flag = (mesId == 873);
                    goto IL_51C;

                case "Spanish":
                    flag = (mesId == 858);
                    goto IL_51C;

                case "German":
                    flag = (mesId == 874);
                    goto IL_51C;

                case "Italian":
                    flag = (mesId == 888);
                    goto IL_51C;
                }
                flag = (mesId == 860);
IL_51C:
                if (flag)
                {
                    hudtype = MinigameHUD.Auction;
                }
            }
            else if (FF9TextTool.FieldZoneId == 740)
            {
                flag = (mesId == 249);
                if (!flag)
                {
                    flag = (mesId == 250);
                }
                if (flag)
                {
                    if (mesId == 249 && !open)
                    {
                        open = true;
                    }
                    else if (mesId == 250 && open)
                    {
                        open = false;
                    }
                }
                if (flag)
                {
                    hudtype = MinigameHUD.GetTheKey;
                }
            }
            else if (FF9TextTool.FieldZoneId == 945)
            {
                flag = (mesId == 34);
                if (!flag)
                {
                    flag = (mesId == 35);
                }
                if (flag)
                {
                    hudtype = MinigameHUD.ChocoHotInstruction;
                    if (!open)
                    {
                        open = true;
                    }
                }
                else
                {
                    String currentLanguage = FF9StateSystem.Settings.CurrentLanguage;
                    if (currentLanguage == "Japanese")
                    {
                        flag = (mesId == 250);
                        goto IL_639;
                    }

                    flag = (mesId == 251);
IL_639:
                    if (flag)
                    {
                        hudtype = MinigameHUD.Auction;
                    }
                }
            }
            else if (FF9TextTool.FieldZoneId == 946)
            {
                String currentLanguage = FF9StateSystem.Settings.CurrentLanguage;
                switch (currentLanguage)
                {
                case "English(US)":
                case "English(UK)":
                    flag = (mesId == 250 || mesId == 251);
                    if (!flag)
                    {
                        flag = (mesId == 264);
                    }
                    if (flag)
                    {
                        if ((mesId == 250 || mesId == 251) && !open)
                        {
                            open = true;
                        }
                        else if (mesId == 264 && open)
                        {
                            open = false;
                        }
                    }
                    goto IL_789;
                }

                flag = (mesId == 257 || mesId == 258);
                if (!flag)
                {
                    flag = (mesId == 271);
                }
                if (flag)
                {
                    if ((mesId == 257 || mesId == 258) && !open)
                    {
                        open = true;
                    }
                    else if (mesId == 271 && open)
                    {
                        open = false;
                    }
                }
IL_789:
                if (flag)
                {
                    hudtype = MinigameHUD.JumpingRope;
                }
            }
            if (flag)
            {
                if (open)
                {
                    EventHUD.OpenSpecialHUD(hudtype);
                }
                else
                {
                    EventHUD.CloseSpecialHUD(hudtype);
                }
            }
        }
    }
Пример #8
0
    public void NewMesWin(Int32 mes, Int32 num, Int32 flags, PosObj targetPo)
    {
        EventEngine instance = PersistenSingleton <EventEngine> .Instance;

        if (this.IsSkipped(instance, mes, num, flags, targetPo))
        {
            return;
        }
        this.DisposWindowByID(num);
        Dialog.CaptionType captionType = Dialog.CaptionType.None;
        Dialog.WindowStyle windowStyle;
        if ((flags & 128) > 0)
        {
            windowStyle = Dialog.WindowStyle.WindowStyleAuto;
        }
        else
        {
            windowStyle = Dialog.WindowStyle.WindowStylePlain;
            if ((flags & 8) > 0)
            {
                captionType = Dialog.CaptionType.Mognet;
            }
            else if ((flags & 64) > 0)
            {
                captionType = Dialog.CaptionType.ActiveTimeEvent;
            }
        }
        if (windowStyle == Dialog.WindowStyle.WindowStylePlain)
        {
            targetPo = (PosObj)null;
        }
        if ((flags & 16) > 0)
        {
            windowStyle = Dialog.WindowStyle.WindowStyleTransparent;
        }
        else if ((flags & 4) > 0)
        {
            windowStyle = Dialog.WindowStyle.WindowStyleNoTail;
        }
        if ((flags & 1) <= 0)
        {
            ETb.sChoose     = ETb.sChooseInit;
            ETb.sChooseInit = 0;
        }
        if (instance.gMode == 3)
        {
            targetPo = (PosObj)null;
            if (mes != 40)
            {
                if (mes == 41)
                {
                    EIcon.ShowDialogBubble(true);
                }
            }
            else
            {
                EIcon.ShowDialogBubble(false);
            }
        }
        EventHUD.CheckSpecialHUDFromMesId(mes, true);
        if (FF9StateSystem.Common.FF9.fldMapNo == 1850 && FF9StateSystem.AndroidTVPlatform && (mes == 147 || mes == 148))
        {
            NGUIText.ForceShowButton = true;
        }
        Dialog dialog = Singleton <DialogManager> .Instance.AttachDialog(num, windowStyle, mes, targetPo, this.OnDialogFinish, captionType);

        if (FF9StateSystem.Common.FF9.fldMapNo == 1657)
        {
            switch (FF9StateSystem.Settings.CurrentLanguage)
            {
            case "English(US)":
            case "English(UK)":
            case "Spanish":
            case "German":
            case "Italian":
                if (mes == 183 || mes == 166)
                {
                    dialog.FocusToActor = false;
                }
                break;

            case "Japanese":
                if (mes == 187 || mes == 170)
                {
                    dialog.FocusToActor = false;
                }
                break;

            case "French":
                if (mes == 185 || mes == 168)
                {
                    dialog.FocusToActor = false;
                }
                break;
            }
        }

        if (dialog == (UnityEngine.Object)null)
        {
            return;
        }
        if ((flags & 32) > 0)
        {
            dialog.FocusToActor = false;
        }
        if (ETb.isMessageDebug)
        {
            global::Debug.Log(String.Concat(new Object[]
            {
                "NewMesWin => sid:",
                instance.gCur.sid,
                ", mes: ",
                mes,
                ", field id:",
                FF9TextTool.FieldZoneId,
                ", num: ",
                num,
                ", flags: ",
                flags,
                ", text:",
                dialog.Phrase
            }));
        }
        this.gMesCount++;
        EIcon.SetHereIcon(0);
        String currentLanguage = FF9StateSystem.Settings.CurrentLanguage;

        EMinigame.EidolonMuralAchievement(currentLanguage, mes);
        EMinigame.ExcellentLuckColorFortuneTellingAchievement(currentLanguage, mes);
        EMinigame.ProvokeMogAchievement(currentLanguage, mes);
        EMinigame.JumpingRopeAchievement(currentLanguage, mes);
        EMinigame.GetRewardFromQueenStellaAchievement();
        EMinigame.ShuffleGameAchievement(currentLanguage, mes);
        EMinigame.ChocoboBeakLV99Achievement(currentLanguage, mes);
        EMinigame.AtleteQueenAchievement_Debug(currentLanguage, mes);
        EMinigame.TreasureHunterSAchievement(currentLanguage, mes);
        ETb.FixChocoAccidenlyFly(dialog);
    }