예제 #1
0
        private bool Yotogi_initialize()
        {
            // デバイスオープン
            OpenVorzeDevices();

            //メイドを取得
            this.maid = GameMain.Instance.CharacterMgr.GetMaid(0);
            if (!this.maid)
            {
                return(false);
            }

            // 夜伽コマンドフック
            {
                this.yotogiManager = getInstance <YotogiManager>();
                if (!this.yotogiManager)
                {
                    return(false);
                }
                this.yotogiPlayManager = getInstance <YotogiPlayManager>();
                if (!this.yotogiPlayManager)
                {
                    return(false);
                }

                YotogiCommandFactory cf = getFieldValue <YotogiPlayManager, YotogiCommandFactory>(this.yotogiPlayManager, "command_factory_");
                if (IsNull(cf))
                {
                    return(false);
                }

                try
                {
                    //YotogiPlayManagerのコールバック
                    cf.SetCommandCallback(new YotogiCommandFactory.CommandCallback(this.OnYotogiPlayManagerOnClickCommand));
                }
                catch (Exception ex)
                {
                    DebugManager.Log(string.Format("Error - SetCommandCallback() : {0}", ex.Message));
                    return(false);
                }

                this.orgOnClickCommand = getMethodDelegate <YotogiPlayManager, Action <Yotogi.SkillData.Command.Data> >(this.yotogiPlayManager, "OnClickCommand");
                if (IsNull(this.orgOnClickCommand))
                {
                    return(false);
                }
            }
            return(true);
        }
        private void OnLevelWasLoaded(int level)
        {
            if (!Enum.IsDefined(typeof(TargetLevel), level))
            {
                return;
            }
            menuType = MenuType.None;
            bsEnable = false;
            screenCreated = false;
            currentYotogiName = "";
            xmlLoaded = ssParam.Init();
            winRect = pv.PropScreenMH(1f - guiWidth, 0f, guiWidth, 1f);
            createScreen();
            if (level == (int)TargetLevel.SceneYotogi)
            {
                yotogiManager = GameObject.Find("YotogiManager").GetComponent<YotogiManager>();
            }

            if (ssParam.autoPreset)
            {
                loadPresetXml();
                string key = generateSceneKey(level.ToString(), currentBg, "");
                DebugLog("autoPresetTarget", key);
                if (scenePresets != null && scenePresets.ContainsKey(key) && presets.ContainsKey(scenePresets[key]))
                {
                    SetPreset(presets[scenePresets[key]]);
                }
            }
        }