Beispiel #1
0
        public static ChaControl GetCurrentCharacter(ADVScene advScene)
        {
            ChaControl result = null;

            advScene.SafeProc(advS => advS.Scenario.SafeProc(s => s.currentChara.SafeProc(cd => result = cd.chaCtrl)));
            return(result);
        }
Beispiel #2
0
        public static void ADVSceneSetCameraPostfix(ADVScene __instance, TextScenario ___scenario)
        {
            VRLog.Info("Setting VR Camera to game camera (ADV SET CAM)");

            foreach (ADV.CharaData chara in ___scenario.commandController.Characters.Values)
            {
                if (chara.heroine != null)
                {
                    VRLog.Info($"Adjusting towards: {chara.heroine.chaFile.parameter.fullname}");
                    AdjustForFOVDifference(__instance.advCamera.transform, chara.heroine.transform, TITLE_FOV, GetVRFOV(), LOBBY_DISTANCE_ADJ_RATIO);
                }
            }

            VRPatcher.MoveVRCameraToTarget(__instance.advCamera.transform, false);
        }
Beispiel #3
0
        internal static void ADVSceneOnDisablePostfix()
        {
            // ADV scene exited
            try
            {
                _advScene = null;
                GeBoAPI.Instance.AutoTranslationHelper.UnregisterOnTranslatingCallback(AdvTranslationCallback);
                _advTranslationCallbackRegistered = false;
            }

            catch (Exception err)
            {
                Logger.LogException(err, nameof(ADVSceneOnDisablePostfix));
            }
        }
Beispiel #4
0
        internal static void ADVSceneOnEnablePostfix(ADVScene __instance)
        {
            if (!TranslationHelper.Instance.CurrentCardLoadTranslationEnabled)
            {
                return;
            }
            // ADV scene started
            try
            {
                _advScene = __instance;
                if (_advTranslationCallbackRegistered)
                {
                    return;
                }
                GeBoAPI.Instance.AutoTranslationHelper.RegisterOnTranslatingCallback(AdvTranslationCallback);
                _advTranslationCallbackRegistered = true;
            }

            catch (Exception err)
            {
                Logger.LogException(err, nameof(ADVSceneOnEnablePostfix));
                _advTranslationCallbackRegistered = false;
            }
        }