public CutsceneStepSubDefinition ToCutsceneStep(GameData gameData, AssetProvider assetProvider) { var newCSS = new CutsceneStepSubDefinition(); newCSS.skipStep = SkipStep; newCSS.stepType = StepType; newCSS.proceedType = ProceedType; newCSS.dollTargetType = DollTargetType; newCSS.targetDollOrientation = TargetDollOrientation; newCSS.targetAlt = TargetAlt; newCSS.boolValue = BoolValue; newCSS.intValue = IntValue; newCSS.floatValue = FloatValue; newCSS.stringValue = StringValue; newCSS.easeType = (Ease)EaseType; newCSS.editorSelectedBranchIndex = EditorSelectedBranchIndex; newCSS.expressionType = ExpressionType; newCSS.setMood = SetMood; newCSS.editorSelectedOptionIndex = EditorSelectedOptionIndex; newCSS.dollPositionType = DollPositionType; newCSS.expressionIndex = ExpressionIndex; newCSS.hairstyleIndex = HairstyleIndex; newCSS.outfitIndex = OutfitIndex; newCSS.animationType = AnimationType; newCSS.subCutsceneType = SubCutsceneType; newCSS.girlPairRelationshipType = GirlPairRelationshipType; newCSS.notificationType = NotificationType; newCSS.proceedBool = ProceedBool; newCSS.proceedFloat = ProceedFloat; newCSS.targetGirlDefinition = gameData.Girls.Get(TargetGirlDefinitionID); newCSS.girlDefinition = gameData.Girls.Get(GirlDefinitionID); newCSS.dialogTriggerDefinition = gameData.DialogTriggers.Get(DialogTriggerDefinitionID); newCSS.subCutsceneDefinition = gameData.Cutscenes.Get(SubCutsceneDefinitionID); newCSS.windowPrefab = (UiWindow)assetProvider.GetAsset(WindowPrefabName); newCSS.emitterBehavior = (EmitterBehavior)assetProvider.GetAsset(EmitterBehaviorName); newCSS.specialStepPrefab = (CutsceneStepSpecial)assetProvider.GetAsset(SpecialStepPrefabName); newCSS.bannerTextPrefab = (BannerTextBehavior)assetProvider.GetAsset(BannerTextPrefabName); if (DialogLineInfo != null) { newCSS.dialogLine = DialogLineInfo.ToDialogLine(assetProvider); } if (LogicActionInfo != null) { newCSS.logicAction = LogicActionInfo.ToLogicAction(gameData, assetProvider); } if (AudioKlipInfo != null) { newCSS.audioKlip = AudioKlipInfo.ToAudioKlip(assetProvider); } if (PositionInfo != null) { newCSS.position = PositionInfo.ToVector2(); } if (BranchInfos != null) { newCSS.branches = BranchInfos.Select(x => x.ToCutsceneBranch(gameData, assetProvider)).ToList(); } if (DialogOptionInfos != null) { newCSS.dialogOptions = DialogOptionInfos.Select(x => x.ToCutsceneDialogOption(gameData, assetProvider)).ToList(); } return(newCSS); }
public CutsceneStepInfo(CutsceneStepSubDefinition cutsceneStep, AssetProvider assetProvider) { if (cutsceneStep == null) { throw new ArgumentNullException(nameof(cutsceneStep)); } if (assetProvider == null) { throw new ArgumentNullException(nameof(assetProvider)); } SkipStep = cutsceneStep.skipStep; StepType = cutsceneStep.stepType; ProceedType = cutsceneStep.proceedType; DollTargetType = cutsceneStep.dollTargetType; TargetDollOrientation = cutsceneStep.targetDollOrientation; TargetAlt = cutsceneStep.targetAlt; BoolValue = cutsceneStep.boolValue; IntValue = cutsceneStep.intValue; FloatValue = cutsceneStep.floatValue; StringValue = cutsceneStep.stringValue; EaseType = (int)cutsceneStep.easeType; EditorSelectedBranchIndex = cutsceneStep.editorSelectedBranchIndex; ExpressionType = cutsceneStep.expressionType; SetMood = cutsceneStep.setMood; EditorSelectedOptionIndex = cutsceneStep.editorSelectedOptionIndex; DollPositionType = cutsceneStep.dollPositionType; ExpressionIndex = cutsceneStep.expressionIndex; HairstyleIndex = cutsceneStep.hairstyleIndex; OutfitIndex = cutsceneStep.outfitIndex; AnimationType = cutsceneStep.animationType; SubCutsceneType = cutsceneStep.subCutsceneType; GirlPairRelationshipType = cutsceneStep.girlPairRelationshipType; NotificationType = cutsceneStep.notificationType; ProceedBool = cutsceneStep.proceedBool; ProceedFloat = cutsceneStep.proceedFloat; SubCutsceneDefinitionID = cutsceneStep.subCutsceneDefinition?.id ?? -1; DialogTriggerDefinitionID = cutsceneStep.dialogTriggerDefinition?.id ?? -1; GirlDefinitionID = cutsceneStep.girlDefinition?.id ?? -1; TargetGirlDefinitionID = cutsceneStep.targetGirlDefinition?.id ?? -1; assetProvider.NameAndAddAsset(ref SpecialStepPrefabName, cutsceneStep.specialStepPrefab); assetProvider.NameAndAddAsset(ref WindowPrefabName, cutsceneStep.windowPrefab); assetProvider.NameAndAddAsset(ref EmitterBehaviorName, cutsceneStep.emitterBehavior); assetProvider.NameAndAddAsset(ref BannerTextPrefabName, cutsceneStep.bannerTextPrefab); if (cutsceneStep.audioKlip != null) { AudioKlipInfo = new AudioKlipInfo(cutsceneStep.audioKlip, assetProvider); } if (cutsceneStep.position != null) { PositionInfo = new VectorInfo(cutsceneStep.position); } if (cutsceneStep.dialogLine != null) { DialogLineInfo = new DialogLineInfo(cutsceneStep.dialogLine, assetProvider); } if (cutsceneStep.logicAction != null) { LogicActionInfo = new LogicActionInfo(cutsceneStep.logicAction, assetProvider); } if (cutsceneStep.dialogOptions != null) { DialogOptionInfos = cutsceneStep.dialogOptions.Select(x => new CutsceneDialogOptionInfo(x, assetProvider)).ToList(); } if (cutsceneStep.branches != null) { BranchInfos = cutsceneStep.branches.Select(x => new CutsceneBranchInfo(x, assetProvider)).ToList(); } }