Exemplo n.º 1
0
        public EnergyDataMod(EnergyDefinition def, AssetProvider assetProvider)
            : base(def.id, false)
        {
            BurstSprites  = def.burstSprites?.Select(x => new SpriteInfo(x, assetProvider)).ToList();
            TrailSprites  = def.trailSprites?.Select(x => new SpriteInfo(x, assetProvider)).ToList();
            SplashSprites = def.splashSprites?.Select(x => new SpriteInfo(x, assetProvider)).ToList();
            SurgeSprites  = def.surgeSprites?.Select(x => new SpriteInfo(x, assetProvider)).ToList();
            assetProvider.NameAndAddAsset(ref TextMaterialName, def.textMaterial);
            SurgeExpression     = def.surgeExpression;
            SurgeEyesClosed     = def.surgeEyesClosed;
            NegSurgeExpression  = def.negSurgeExpression;
            NegSurgeEyesClosed  = def.negSurgeEyesClosed;
            BossSurgeExpression = def.bossSurgeExpression;
            BossSurgeEyesClosed = def.bossSurgeEyesClosed;

            if (def.textColor != null)
            {
                TextColorInfo = new ColorInfo(def.textColor);
            }
            if (def.outlineColor != null)
            {
                OutlineColorInfo = new ColorInfo(def.outlineColor);
            }
            if (def.shadowColor != null)
            {
                ShadowColorInfo = new ColorInfo(def.shadowColor);
            }
            if (def.surgeColor != null)
            {
                SurgeColorInfo = new ColorInfo(def.surgeColor);
            }
        }
Exemplo n.º 2
0
        public SpriteInfo(Sprite sprite, AssetProvider assetProvider)
        {
            if (sprite == null)
            {
                return;
            }

            assetProvider.NameAndAddAsset(ref Path, sprite);
            IsExternal = false;
        }
Exemplo n.º 3
0
        public AudioClipInfo(AudioClip audioClip, AssetProvider assetProvider)
        {
            if (audioClip == null)
            {
                throw new ArgumentNullException(nameof(audioClip));
            }
            if (assetProvider == null)
            {
                throw new ArgumentNullException(nameof(assetProvider));
            }

            assetProvider.NameAndAddAsset(ref Path, audioClip);

            IsExternal = false;
        }
Exemplo n.º 4
0
        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();
            }
        }
Exemplo n.º 5
0
        public GirlDataMod(GirlDefinition def, AssetProvider assetProvider)
            : base(def.id, false)
        {
            EditorTab                  = def.editorTab;
            GirlName                   = def.girlName;
            GirlNickName               = def.girlNickName;
            GirlAge                    = def.girlAge;
            DialogTriggerTab           = def.dialogTriggerTab;
            SpecialCharacter           = def.specialCharacter;
            BossCharacter              = def.bossCharacter;
            FavoriteAffectionType      = def.favoriteAffectionType;
            LeastFavoriteAffectionType = def.leastFavoriteAffectionType;
            VoiceVolume                = def.voiceVolume;
            SexVoiceVolume             = def.sexVoiceVolume;
            assetProvider.NameAndAddAsset(ref SpecialEffectName, def.specialEffectPrefab);
            ShoesType                   = def.shoesType;
            ShoesAdj                    = def.shoesAdj;
            UniqueType                  = def.uniqueType;
            UniqueAdj                   = def.uniqueAdj;
            BadFoodTypes                = def.badFoodTypes;
            GirlPairDefIDs              = def.girlPairDefs?.Select(x => x.id).ToList();
            BaggageItemDefIDs           = def.baggageItemDefs?.Select(x => x.id).ToList();
            UniqueItemDefIDs            = def.uniqueItemDefs?.Select(x => x.id).ToList();
            ShoesItemDefIDs             = def.shoesItemDefs?.Select(x => x.id).ToList();
            HasAltStyles                = def.hasAltStyles;
            AltStylesFlagName           = def.altStylesFlagName;
            AltStylesCodeDefinitionID   = def.altStylesCodeDefinition?.id ?? -1;
            UnlockStyleCodeDefinitionID = def.unlockStyleCodeDefinition?.id ?? -1;
            PartIndexBody               = def.partIndexBody;
            PartIndexNipples            = def.partIndexNipples;
            PartIndexBlushLight         = def.partIndexBlushLight;
            PartIndexBlushHeavy         = def.partIndexBlushHeavy;
            PartIndexBlink              = def.partIndexBlink;
            PartIndexMouthNeutral       = def.partIndexMouthNeutral;
            PartIndexesPhonemes         = def.partIndexesPhonemes;
            PartIndexesPhonemesTeeth    = def.partIndexesPhonemesTeeth;
            DefaultExpressionIndex      = def.defaultExpressionIndex;
            FailureExpressionIndex      = def.failureExpressionIndex;
            DefaultHairstyleIndex       = def.defaultHairstyleIndex;
            DefaultOutfitIndex          = def.defaultOutfitIndex;
            Expressions                 = def.expressions;
            Hairstyles                  = def.hairstyles;
            Outfits      = def.outfits;
            SpecialParts = def.specialParts;
            HerQuestions = def.herQuestions;
            FavAnswers   = def.favAnswers;

            if (def.cellphonePortrait != null)
            {
                CellphonePortrait = new SpriteInfo(def.cellphonePortrait, assetProvider);
            }
            if (def.cellphonePortraitAlt != null)
            {
                CellphonePortraitAlt = new SpriteInfo(def.cellphonePortraitAlt, assetProvider);
            }
            if (def.cellphoneHead != null)
            {
                CellphoneHead = new SpriteInfo(def.cellphoneHead, assetProvider);
            }
            if (def.cellphoneHeadAlt != null)
            {
                CellphoneHeadAlt = new SpriteInfo(def.cellphoneHeadAlt, assetProvider);
            }
            if (def.cellphoneMiniHead)
            {
                CellphoneMiniHead = new SpriteInfo(def.cellphoneMiniHead, assetProvider);
            }
            if (def.cellphoneMiniHeadAlt)
            {
                CellphoneMiniHeadAlt = new SpriteInfo(def.cellphoneMiniHeadAlt, assetProvider);
            }
            if (def.breathEmitterPos != null)
            {
                BreathEmitterPos = new VectorInfo(def.breathEmitterPos);
            }
            if (def.upsetEmitterPos != null)
            {
                UpsetEmitterPos = new VectorInfo(def.upsetEmitterPos);
            }
            if (def.specialEffectOffset != null)
            {
                SpecialEffectOffset = new VectorInfo(def.specialEffectOffset);
            }
            if (def.parts != null)
            {
                Parts = def.parts.Select(x => new GirlPartInfo(x, assetProvider, Id)).ToList();
            }
        }