public override bool RunScriptCommand()
        {
            bool result = false;
            AdventureDigimonInfo digimonInfo = ClassSingleton <AdventureSceneData> .Instance.GetDigimonInfo(this.charaId);

            if (digimonInfo != null)
            {
                CharacterParams        component  = digimonInfo.model.GetComponent <CharacterParams>();
                InvocationEffectParams component2 = digimonInfo.skillEffectList[this.uniqueSkillIndex].GetComponent <InvocationEffectParams>();
                LightColorChanger      component3 = ClassSingleton <AdventureSceneData> .Instance.adventureLight.GetComponent <LightColorChanger>();

                IEnumerator enumerator = component2.SkillInitialize(ClassSingleton <AdventureSceneData> .Instance.adventureCamera.camera3D, ClassSingleton <AdventureSceneData> .Instance.stage, component3);
                while (enumerator.MoveNext())
                {
                }
                CameraParams component4 = digimonInfo.skillCameraAnimation[this.uniqueSkillIndex].GetComponent <CameraParams>();
                string       text       = digimonInfo.skillEffectSeList[this.uniqueSkillIndex];
                if (null != component && null != component2 && null != component4 && !string.IsNullOrEmpty(text))
                {
                    component.PlayAnimation(CharacterAnimationType.attacks, SkillType.Deathblow, this.uniqueSkillIndex, null, null);
                    component2.transform.position = component.transform.position;
                    component4.transform.position = component.transform.position;
                    AppCoroutine.Start(component2.PlaySkillAnimation(component), new Action(this.OnFinishCommand), false);
                    component4.currentTargetCamera = ClassSingleton <AdventureSceneData> .Instance.adventureCamera.camera3D;
                    component4.PlayCameraAnimation(component, false, false);
                    SoundMng.Instance().TryPlaySE("SE/" + text + "/sound", 0f, false, true, null, -1);
                    base.SetContinueAnalyzeForAnimationWaitTime(this.isWaitFlag);
                    result = true;
                }
            }
            return(result);
        }
        private bool LoadDigimon(string monsterGroupId, AdventureDigimonInfo digimonInfo)
        {
            bool result = true;

            try
            {
                MonsterClientMaster monsterMasterByMonsterGroupId = MonsterMaster.GetMonsterMasterByMonsterGroupId(monsterGroupId);
                string     modelId    = monsterMasterByMonsterGroupId.Group.modelId;
                string     path       = MonsterObject.GetFilePath(modelId);
                GameObject original   = AssetDataMng.Instance().LoadObject(path, null, true) as GameObject;
                GameObject gameObject = UnityEngine.Object.Instantiate <GameObject>(original);
                gameObject.name             = "Digimon_" + monsterGroupId;
                gameObject.transform.parent = ClassSingleton <AdventureSceneData> .Instance.scriptObjectRoot.transform;
                gameObject.SetActive(false);
                digimonInfo.model = gameObject;
                List <GameWebAPI.RespDataMA_GetSkillM.SkillM> list;
                if (!this.LoadUniqueSkill(monsterGroupId, out list))
                {
                    throw new Exception("Error : 固有スキルの読み込みに失敗");
                }
                for (int i = 0; i < list.Count; i++)
                {
                    int num  = list[i].skillGroupSubId.ToInt32();
                    int num2 = num - 1;
                    path                        = CommonResourcesDataMng.Instance().GetUniqueSkillPrefabPathByAttackEffectId(list[i].attackEffect);
                    original                    = (AssetDataMng.Instance().LoadObject(path, null, true) as GameObject);
                    gameObject                  = UnityEngine.Object.Instantiate <GameObject>(original);
                    gameObject.name             = "SkillEffect_" + list[i].attackEffect;
                    gameObject.transform.parent = ClassSingleton <AdventureSceneData> .Instance.scriptObjectRoot.transform;
                    gameObject.SetActive(false);
                    digimonInfo.skillEffectList[num2] = gameObject;
                    InvocationEffectParams component = gameObject.GetComponent <InvocationEffectParams>();
                    path                        = CommonResourcesDataMng.Instance().GetCameraMotionPrefabPathByCameraId(component.cameraMotionId);
                    original                    = (AssetDataMng.Instance().LoadObject(path, null, true) as GameObject);
                    gameObject                  = UnityEngine.Object.Instantiate <GameObject>(original);
                    gameObject.name             = "CameraAnime_" + component.cameraMotionId;
                    gameObject.transform.parent = ClassSingleton <AdventureSceneData> .Instance.scriptObjectRoot.transform;
                    gameObject.SetActive(false);
                    digimonInfo.skillCameraAnimation[num2] = gameObject;
                    digimonInfo.skillEffectSeList[num2]    = list[i].soundEffect;
                }
            }
            catch
            {
                result = false;
                digimonInfo.Delete();
            }
            return(result);
        }
Esempio n. 3
0
    public IEnumerator LoadInvocationEffect(string skillInvocation, Action <InvocationEffectParams, string> result)
    {
        BattleDebug.Log("--- 発動スキルエフェクト単体ロード [" + skillInvocation + "] : 開始");
        GameObject skillObject = base.Instantiate <GameObject>(base.stateManager.serverControl.GetInvocationEffectPrefab(skillInvocation));

        yield return(null);

        skillObject.name = skillInvocation;
        skillObject.transform.SetParent(base.battleStateData.skillEffectRoot);
        InvocationEffectParams invocationEffectParams = skillObject.GetComponent <InvocationEffectParams>();
        IEnumerator            skillInit = invocationEffectParams.SkillInitialize(base.hierarchyData.cameraObject.camera3D, base.battleStateData.stageObject, base.hierarchyData.cameraObject.sunLightColorChanger);

        while (skillInit.MoveNext())
        {
            yield return(null);
        }
        skillObject.SetActive(false);
        result(invocationEffectParams, skillInvocation);
        BattleDebug.Log("--- 発動スキルエフェクト単体ロード [" + skillInvocation + "] : 完了");
        yield break;
    }