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); }
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; }