コード例 #1
0
ファイル: KKABMX_GUI.cs プロジェクト: arocarlisle/KKABMX
        private void Start()
        {
            KoikatuAPI.CheckRequiredPlugin(this, KoikatuAPI.GUID, new Version(KoikatuAPI.VersionConst));

            MakerAPI.RegisterCustomSubCategories += OnRegisterCustomSubCategories;
            MakerAPI.MakerBaseLoaded             += OnEarlyMakerFinishedLoading;
            MakerAPI.MakerExiting += OnMakerExiting;
        }
コード例 #2
0
        private void Start()
        {
            if (!KoikatuAPI.CheckRequiredPlugin(this, KoikatuAPI.GUID, new Version(KoikatuAPI.VersionConst)) || StudioAPI.InsideStudio)
            {
                enabled = false;
                return;
            }

            ForceInsert          = new ConfigWrapper <bool>("ForceInsert", this, true);
            ForceInsertAnger     = new ConfigWrapper <bool>("ForceInsertAnger", this, true);
            DecreaseLewd         = new ConfigWrapper <bool>("DecreaseLewd", this, false);
            DisableTrapVagInsert = new ConfigWrapper <bool>("DisableTrapVagInsert", this, true);

            ResetNoCondom = new ConfigWrapper <bool>("ResetNoCondom", this, true);

            FastTravelTimePenalty    = new ConfigWrapper <int>("FastTravelTimePenalty", this, 50);
            StatDecay                = new ConfigWrapper <bool>("StatDecay", this, true);
            LewdDecay                = new ConfigWrapper <bool>("LewdDecay", this, false);
            AdjustBreastSizeQuestion = new ConfigWrapper <bool>("AdjustBreastSizeQuestion", this, true);

            var i = HarmonyInstance.Create(GUID);

            Utilities.ApplyHooks(i);
            Utilities.HSceneEndClicked += UpdateGirlLewdness;

            // H Scene functions
            ForceInsertHooks.ApplyHooks(i);
            ExitFirstHHooks.ApplyHooks(i);
            if (DisableTrapVagInsert.Value)
            {
                TrapNoVagInsertHooks.ApplyHooks(i);
            }

            // Main game functions
            ClassCharaLimitUnlockHooks.ApplyHooks(i);
            FastTravelCostHooks.ApplyHooks(i);
            if (AdjustBreastSizeQuestion.Value)
            {
                BustSizeQuestionHooks.ApplyHooks(i);
            }

            _gameMgr  = Game.Instance;
            _sceneMgr = Scene.Instance;

            // todo replace with scene load?
            InvokeRepeating(nameof(SlowUpdate), 2f, 0.5f);
        }
コード例 #3
0
        private void Awake()
        {
            ExportDirectory  = new ConfigWrapper <string>(nameof(ExportDirectory), this, _defaultOverlayDirectory);
            CompressTextures = new ConfigWrapper <bool>(nameof(CompressTextures), this, false);

            KoikatuAPI.CheckRequiredPlugin(this, KoikatuAPI.GUID, new Version(KoikatuAPI.VersionConst));

            var ab = AssetBundle.LoadFromMemory(Resources.composite);

            OverlayMat = new Material(ab.LoadAsset <Shader>("assets/composite.shader"));
            DontDestroyOnLoad(OverlayMat);
            ab.Unload(false);

            Hooks.Init();
            CharacterApi.RegisterExtraBehaviour <KoiSkinOverlayController>(GUID);

            Directory.CreateDirectory(OverlayDirectory);
        }
コード例 #4
0
        private void Awake()
        {
            _logger = Logger;

            ExportDirectory  = Config.Wrap("", "Overlay export/open folder", "The value needs to be a valid full path to an existing folder. Default folder will be used if the value is invalid. Exported overlays will be saved there, and by default open overlay dialog will show this directory.", _defaultOverlayDirectory);
            CompressTextures = Config.Wrap("", "Compress overlay textures in RAM", "Reduces RAM usage to about 1/4th at the cost of lower quality. Use when loading lots of characters with overlays if you're running out of memory.", false);

            KoikatuAPI.CheckRequiredPlugin(this, KoikatuAPI.GUID, new Version(KoikatuAPI.VersionConst));

            var ab = AssetBundle.LoadFromMemory(Resources.composite);

            OverlayMat = new Material(ab.LoadAsset <Shader>("assets/composite.shader"));
            DontDestroyOnLoad(OverlayMat);
            ab.Unload(false);

            Hooks.Init();
            CharacterApi.RegisterExtraBehaviour <KoiSkinOverlayController>(GUID);

            Directory.CreateDirectory(OverlayDirectory);
        }
コード例 #5
0
        private void Awake()
        {
            KoikatuAPI.CheckRequiredPlugin(this, KoikatuAPI.GUID, new Version(KoikatuAPI.VersionConst));

            var ab = AssetBundle.LoadFromMemory(Resources.composite);

            OverlayMat = new Material(ab.LoadAsset <Shader>("assets/composite.shader"));
            DontDestroyOnLoad(OverlayMat);
            ab.Unload(false);

            _rtFace = new RenderTexture(1024, 1024, 8);
            DontDestroyOnLoad(_rtFace);

            _rtBody = new RenderTexture(2048, 2048, 8);
            DontDestroyOnLoad(_rtBody);

            _rtEye = new RenderTexture(512, 512, 8);
            DontDestroyOnLoad(_rtEye);

            Hooks.Init();
            CharacterApi.RegisterExtraBehaviour <KoiSkinOverlayController>(GUID);
        }
コード例 #6
0
        private void Start()
        {
            if (!KoikatuAPI.CheckRequiredPlugin(this, KoikatuAPI.GUID, new Version("1.2")) ||
                !KoikatuAPI.CheckRequiredPlugin(this, "com.joan6694.illusionplugins.moreaccessories", new Version("1.0.3")))
            {
                return;
            }

            if (StudioAPI.InsideStudio)
            {
                enabled = false;
                return;
            }

            Show = new ConfigWrapper <bool>("Show", this, false);
            ShowCoordinateButtons = new ConfigWrapper <bool>("ShowCoordinateButtons", this, false);
            Keybind = new SavedKeyboardShortcut("keybind", this, new KeyboardShortcut(KeyCode.Tab, KeyCode.LeftShift));

            KoikatuAPI.CheckIncompatiblePlugin(this, "MoreAccessories_CSM");

            MakerAPI.RegisterCustomSubCategories += MakerAPI_Enter;
            MakerAPI.MakerExiting += MakerAPI_Exit;
        }