コード例 #1
0
        public static void RebuildTexPostfix(CustomTextureCreate __instance, ref bool __state)
        {
            if (!__state)
            {
                return;
            }

            CharaOverlaysBasedOnCoordinateController controller = __instance.trfParent?.GetComponent <CharaOverlaysBasedOnCoordinateController>();

            if (null != controller)
            {
                foreach (KeyValuePair <TexType, byte[]> kvp in EyeTexture)
                {
                    controller.OverwriteOverlayWithoutUpdate(kvp.Key, kvp.Value);
                }
                Extension.Extension.TryGetPluginInstance("KSOX_GUI").Invoke("OnChaFileLoaded");
            }
        }
コード例 #2
0
        public static void RebuildTexPrefix(CustomTextureCreate __instance, ref bool __state)
        {
            __state = false;
            CharaOverlaysBasedOnCoordinateController controller = __instance.trfParent?.GetComponent <CharaOverlaysBasedOnCoordinateController>();

            if (null == controller || controller.LoadingLock)
            {
                return;
            }

            CustomTextureCreate toCompare;

            switch (controller.IrisDisplaySide[(int)controller.CurrentCoordinate.Value])
            {
            case 1:
                toCompare = controller.ChaControl.ctCreateEyeL;
                break;

            case 2:
                toCompare = controller.ChaControl.ctCreateEyeR;
                break;

            default:
                //Not Display Both
                return;
            }

            //要保留的那邊return
            if (toCompare == __instance)
            {
                return;
            }

            __state = true;
            foreach (KeyValuePair <TexType, byte[]> kvp in controller.GetOverlayLoaded(new TexType[] { TexType.EyeOver, TexType.EyeUnder }))
            {
                EyeTexture[kvp.Key] = kvp.Value;
                controller.OverwriteOverlayWithoutUpdate(kvp.Key, new byte[] { });
            }
        }