private void LoadStyle1() { AssetProvider.AddColor(Color.FromArgb(42, 74, 99), ColorBackground) .AddColor(Color.FromArgb(255, 255, 245), ColorPrimary) .AddColor(Color.FromArgb(42, 183, 202), ColorSecondairy) .AddColor(Color.FromArgb(42, 183, 202), ColorMarked); var regularFont = new iOSFont() { Name = FontRegularSmall, FontFilename = "Nunito-Regular.ttf", FontPlatformName = "Nunito-Regular", Size = 12, LineHeight = 12, LineHeightMultiplier = 1.33f, Color = AssetProvider.GetColor(ColorPrimary), SelectedColor = AssetProvider.GetColor(ColorBackground) }; var regularFontAndroid = Font.CopyFont <iOSFont, AndroidFont>(regularFont, FontRegularSmall); regularFontAndroid.LineHeightMultiplier = 1.16f; AssetProvider.AddFont(new Font() { Name = FontH1, FontFilename = "JosefinSlab-Thin.ttf", FontPlatformName = "JosefinSlab-Thin", Size = 40, LineHeight = 20, Color = AssetProvider.GetColor(ColorSecondairy), LineBreakMode = LineBreakMode.TruncateTail }) .AddFont(new Font() { Name = FontItalic, FontFilename = "Nunito-Italic.ttf", FontPlatformName = "Nunito-Italic", Size = 13, Color = AssetProvider.GetColor(ColorSecondairy), Alignment = TextAlignment.Right }) .AddFont(new Font() { Name = FontBold, FontFilename = "Nunito-Light.ttf", FontPlatformName = "Nunito-Light", Size = 13, Color = AssetProvider.GetColor(ColorSecondairy) }) .AddFont(new Font() { Name = FontRegular, FontFilename = "Nunito-Regular.ttf", FontPlatformName = "Nunito-Regular", Size = 16, LineHeight = 12, Color = AssetProvider.GetColor(ColorPrimary), SelectedColor = AssetProvider.GetColor(ColorBackground), }, _tags) //10 13 .AddFont(regularFont, _tags) .AddFont(regularFontAndroid, _tags); }
public override void SetData(PhotoDefinition def, GameData gameData, AssetProvider assetProvider) { def.id = Id; Access.NullableSet(ref def.hasAlts, HasAlts); if (GirlPairDefinitionID.HasValue) { def.girlPairDefinition = gameData.GirlPairs.Get(GirlPairDefinitionID.Value); } if (NextPhotoDefinitionID.HasValue) { def.nextPhotoDefinition = gameData.Photos.Get(NextPhotoDefinitionID.Value); } if (AltCodeDefinitionID.HasValue) { def.altCodeDefinition = gameData.Codes.Get(AltCodeDefinitionID.Value); } if (IsAdditive) { Access.NullSet(ref def.altFlagName, AltFlagName); } else { def.altFlagName = AltFlagName; } SetSprites(ref def.bigPhotoImages, BigPhotoImages, assetProvider); SetSprites(ref def.thumbnailImages, ThumbnailImages, assetProvider); }
public async Task TestAssetSynchronization() { var code = @"class Test { void Method() { } }"; using var workspace = TestWorkspace.CreateCSharp(code); var solution = workspace.CurrentSolution; // build checksum await solution.State.GetChecksumAsync(CancellationToken.None); var map = await solution.GetAssetMapAsync(CancellationToken.None); using var remoteWorkspace = CreateRemoteWorkspace(); var sessionId = 0; var storage = new SolutionAssetCache(); var assetSource = new SimpleAssetSource(workspace.Services.GetService <ISerializerService>(), map); var service = new AssetProvider(sessionId, storage, assetSource, remoteWorkspace.Services.GetService <ISerializerService>()); await service.SynchronizeAssetsAsync(new HashSet <Checksum>(map.Keys), CancellationToken.None); foreach (var kv in map) { Assert.True(storage.TryGetAsset <object>(kv.Key, out _)); } }
private const string StaticWebsiteUrl = "http://localhost:2335"; // Change this to your own URL public void Initialize(InitializationEngine context) { var contentProviderManager = ServiceLocator.Current.GetInstance <IContentProviderManager>(); var contentRepository = ServiceLocator.Current.GetInstance <IContentRepository>(); var startPage = contentRepository.GetChildren <StaticStartPage>(ContentReference.RootPage).FirstOrDefault(); if (startPage == null) { return; } StaticAssetsRootFolder assetsFolder = EnsureAssetsFolder(contentRepository); var contentTypeRepository = ServiceLocator.Current.GetInstance <IContentTypeRepository>(); var objectInstanceCache = ServiceLocator.Current.GetInstance <IObjectInstanceCache>(); var blobFactory = ServiceLocator.Current.GetInstance <IBlobFactory>(); AssetProvider assetProvider = new AssetProvider(assetsFolder, contentTypeRepository, objectInstanceCache, blobFactory); SetupProvider(assetProvider, assetsFolder.ContentLink, contentProviderManager); var pageProvider = new PageProvider(startPage, assetProvider.Assets, contentTypeRepository, objectInstanceCache); SetupProvider(pageProvider, startPage.PageLink, contentProviderManager); var siteDefinitionRepository = ServiceLocator.Current.GetInstance <ISiteDefinitionRepository>(); EnsureSiteDefinition(siteDefinitionRepository, startPage.ContentLink, assetsFolder.ContentLink); }
public async Task TestAssets() { var sessionId = 0; var checksum = Checksum.Create(WellKnownSynchronizationKind.Null, ImmutableArray.CreateRange(Guid.NewGuid().ToByteArray())); var data = new object(); var storage = new AssetStorage(); _ = new SimpleAssetSource(storage, new Dictionary <Checksum, object>() { { checksum, data } }); var provider = new AssetProvider(sessionId, storage, new RemoteWorkspace().Services.GetService <ISerializerService>()); var stored = await provider.GetAssetAsync <object>(checksum, CancellationToken.None); Assert.Equal(data, stored); var stored2 = await provider.GetAssetsAsync <object>(new[] { checksum }, CancellationToken.None); Assert.Equal(1, stored2.Count); Assert.Equal(checksum, stored2[0].Item1); Assert.Equal(data, stored2[0].Item2); }
public LogicActionInfo(LogicAction logicAction, AssetProvider assetProvider) { if (logicAction == null) { throw new ArgumentNullException(nameof(logicAction)); } if (assetProvider == null) { throw new ArgumentNullException(nameof(assetProvider)); } Type = logicAction.type; BoolValue = logicAction.boolValue; IntValue = logicAction.intValue; FloatValue = logicAction.floatValue; StringValue = logicAction.stringValue; AffectionType = logicAction.affectionType; ResourceType = logicAction.resourceType; PuzzleState = logicAction.puzzleState; LocationDefinitionID = logicAction.locationDefinition?.id ?? -1; GirlPairDefinitionID = logicAction.girlPairDefinition?.id ?? -1; ItemDefinitionID = logicAction.itemDefinition?.id ?? -1; GirlDefinitionID = logicAction.girlDefinition?.id ?? -1; CutsceneDefinitionID = logicAction.cutsceneDefinition?.id ?? -1; if (logicAction.backgroundMusic != null) { BackgroundMusic = new AudioKlipInfo(logicAction.backgroundMusic, assetProvider); } }
public AudioClip ToAudioClip(AssetProvider assetProvider) { if (assetProvider == null) { throw new ArgumentNullException(nameof(assetProvider)); } if (Path == null) { return(null); } else if (IsExternal) { if (File.Exists(Path)) { byte[] fileBytes = File.ReadAllBytes(Path); return(WAV.LoadAudioClip(fileBytes, 0)); } return(null); } else { return((AudioClip)assetProvider.GetAsset(Path)); } }
public override bool GetDescription(Object obj, StringBuilder sb) { var path = AssetDatabase.GetAssetOrScenePath(obj); AddToDescription(sb, AssetProvider.GetAssetDescription(path)); return(true); }
public DialogLineInfo(DialogLine dialogLine, AssetProvider assetProvider) { if (dialogLine == null) { throw new ArgumentNullException(nameof(dialogLine)); } if (assetProvider == null) { throw new ArgumentNullException(nameof(assetProvider)); } DialogText = dialogLine.dialogText; Yuri = dialogLine.yuri; YuriDialogText = dialogLine.yuriDialogText; StartExpression = dialogLine.startExpression; Expressions = dialogLine.expressions; EndExpression = dialogLine.endExpression; if (dialogLine.yuriAudioClip != null) { YuriAudioClipInfo = new AudioClipInfo(dialogLine.yuriAudioClip, assetProvider); } if (dialogLine.audioClip != null) { AudioClipInfo = new AudioClipInfo(dialogLine.audioClip, assetProvider); } }
public GirlPartInfo(GirlPartSubDefinition girlPartSubDef, AssetProvider assetProvider, int GirlId) { if (girlPartSubDef == null) { throw new ArgumentNullException(nameof(girlPartSubDef)); } if (assetProvider == null) { throw new ArgumentNullException(nameof(assetProvider)); } PartType = girlPartSubDef.partType; PartName = girlPartSubDef.partName; X = girlPartSubDef.x; Y = girlPartSubDef.y; MirroredPartIndex = girlPartSubDef.mirroredPartIndex; AltPartIndex = girlPartSubDef.altPartIndex; // Special handling, prefixes id because all the part sprites have the same name... if (girlPartSubDef.sprite != null) { SpriteInfo = new SpriteInfo(GirlId.ToString() + "_" + girlPartSubDef.sprite.name, false); assetProvider.AddAsset(SpriteInfo.Path, girlPartSubDef.sprite); } }
private async Task TestAssetAsync(object data) { var sessionId = 0; var checksum = Checksum.Create(WellKnownSynchronizationKind.Null, ImmutableArray.CreateRange(Guid.NewGuid().ToByteArray())); using var workspace = TestWorkspace.CreateCSharp(file: @""); using var remoteWorkspace = CreateRemoteWorkspace(); var storage = new SolutionAssetCache(); var assetSource = new SimpleAssetSource(workspace.Services.GetService <ISerializerService>(), new Dictionary <Checksum, object>() { { checksum, data } }); var provider = new AssetProvider(sessionId, storage, assetSource, remoteWorkspace.Services.GetService <ISerializerService>()); var stored = await provider.GetAssetAsync <object>(checksum, CancellationToken.None); Assert.Equal(data, stored); var stored2 = await provider.GetAssetsAsync <object>(new[] { checksum }, CancellationToken.None); Assert.Equal(1, stored2.Count); Assert.Equal(checksum, stored2[0].Item1); Assert.Equal(data, stored2[0].Item2); }
public async Task TestSolutionSynchronization() { var code = @"class Test { void Method() { } }"; using var workspace = TestWorkspace.CreateCSharp(code); var solution = workspace.CurrentSolution; // build checksum await solution.State.GetChecksumAsync(CancellationToken.None); var map = await solution.GetAssetMapAsync(CancellationToken.None); using var remoteWorkspace = CreateRemoteWorkspace(); var sessionId = 0; var storage = new SolutionAssetCache(); var assetSource = new SimpleAssetSource( workspace.Services.GetService <ISerializerService>(), map ); var service = new AssetProvider( sessionId, storage, assetSource, remoteWorkspace.Services.GetService <ISerializerService>() ); await service.SynchronizeSolutionAssetsAsync( await solution.State.GetChecksumAsync(CancellationToken.None), CancellationToken.None ); TestUtils.VerifyAssetStorage(map, storage); }
public LogicAction ToLogicAction(GameData gameData, AssetProvider assetProvider) { var newLogicAction = new LogicAction(); newLogicAction.type = Type; newLogicAction.boolValue = BoolValue; newLogicAction.intValue = IntValue; newLogicAction.floatValue = FloatValue; newLogicAction.stringValue = StringValue; newLogicAction.affectionType = AffectionType; newLogicAction.resourceType = ResourceType; newLogicAction.puzzleState = PuzzleState; newLogicAction.locationDefinition = gameData.Locations.Get(LocationDefinitionID); newLogicAction.girlPairDefinition = gameData.GirlPairs.Get(GirlPairDefinitionID); newLogicAction.itemDefinition = gameData.Items.Get(ItemDefinitionID); newLogicAction.girlDefinition = gameData.Girls.Get(GirlDefinitionID); newLogicAction.cutsceneDefinition = gameData.Cutscenes.Get(CutsceneDefinitionID); if (BackgroundMusic != null) { newLogicAction.backgroundMusic = BackgroundMusic.ToAudioKlip(assetProvider); } return(newLogicAction); }
private void LoadStyle2() { AssetProvider.AddColor(Color.FromArgb(0, 200, 190), ColorBackground) .AddColor(Color.FromArgb(101, 18, 111), ColorPrimary) .AddColor(Color.FromArgb(230, 229, 6), ColorSecondairy) .AddColor(Color.FromArgb(101, 18, 111), ColorMarked); AssetProvider.AddFont(new Font() { Name = FontH1, FontFilename = "JosefinSlab-Bold.ttf", FontPlatformName = "JosefinSlab-Bold", Size = 40, LineHeight = 50, LineHeightMultiplier = 1.0f, Color = AssetProvider.GetColor(ColorSecondairy) }) .AddFont(new Font() { Name = FontItalic, FontFilename = "Nunito-Italic.ttf", FontPlatformName = "Nunito-Italic", Size = 15, Color = AssetProvider.GetColor(ColorSecondairy), Alignment = TextAlignment.Center }) .AddFont(new BaseFont() { Name = FontBold, FontFilename = "Nunito-Bold.ttf", FontPlatformName = "Nunito-Bold", Size = 15, Color = AssetProvider.GetColor(ColorSecondairy) }) .AddFont(new Font() { Name = FontRegular, FontFilename = "Nunito-Regular.ttf", FontPlatformName = "Nunito-Regular", Size = 13, LineHeight = 28, Color = AssetProvider.GetColor(ColorPrimary), SelectedColor = AssetProvider.GetColor(ColorBackground) }, _tags) .AddFont(new Font() { Name = FontRegularSmall, FontFilename = "Nunito-Regular.ttf", FontPlatformName = "Nunito-Regular", Size = 10, LineHeight = 32, Color = AssetProvider.GetColor(ColorPrimary), SelectedColor = AssetProvider.GetColor(ColorBackground) }, _tags); }
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); } }
public AbilityStepInfo(AbilityStepSubDefinition def, AssetProvider assetProvider) { if (def == null) { throw new ArgumentNullException(nameof(def)); } if (assetProvider == null) { throw new ArgumentNullException(nameof(assetProvider)); } StepType = def.stepType; Handle = def.handle; ValueRef = def.valueRef; PuzzleSetRef = def.puzzleSetRef; MinRequirement = def.minRequirement; ResourceType = def.resourceType; AffectionType = def.affectionType; Negative = def.negative; OppositeGirl = def.oppositeGirl; ValueType = def.valueType; Min = def.min; Max = def.max; CombineValues = def.combineValues; CombineOperation = def.combineOperation; ResourceMaxValue = def.resourceMaxValue; GirlValueType = def.girlValueType; ConditionType = def.conditionType; PercentOfValue = def.percentOfValue; OrCheck = def.orCheck; Limit = def.limit; Merged = def.merged; FlatMerge = def.flatMerge; Weighted = def.weighted; VisualEffectType = def.visualEffectType; EnergyType = def.energyType; SplashText = def.splashText; AilmentItemType = def.ailmentItemType; AilmentAlterType = def.ailmentAlterType; AilmentTargetType = def.ailmentTargetType; AilmentIndex = def.ailmentIndex; AilmentDefinitionID = def.ailmentDefinition?.id ?? -1; EnergyDefinitionID = def.energyDefinition?.id ?? -1; if (def.audioKlip != null) { AudioKlipInfo = new AudioKlipInfo(def.audioKlip, assetProvider); } if (def.tokenConditionSet != null) { TokenConditionSetInfo = new TokenConditionSetInfo(def.tokenConditionSet); } if (def.tokenDefinitions != null) { TokenDefinitionIDs = def.tokenDefinitions.Select(x => x.id).ToList(); } }
public override void SetData(CutsceneDefinition def, GameData gameData, AssetProvider assetProvider) { def.id = Id; Access.NullableSet(ref def.cleanUpType, CleanUpType); SetCutsceneSteps(ref def.steps, Steps, gameData, assetProvider); }
private GameFactory InitGameFactory() { var scoreCounter = new ScoreCounter(); var assetProvider = new AssetProvider(); var gameFactory = new GameFactory(assetProvider, scoreCounter, _playingZone); return(gameFactory); }
public DialogTriggerDataMod(DialogTriggerDefinition def, AssetProvider assetProvider) : base(def.id, false) { EditorTab = def.editorTab; ForceType = def.forceType; ResponseTriggerDefinitionID = def.responseTriggerDefinition?.id ?? -1; Priority = def.priority; DialogLineSetInfos = def.dialogLineSets?.Select(x => new DialogTriggerLineSetInfo(x, assetProvider)).ToList(); }
public override void SetData(TokenDefinition def, GameData gameData, AssetProvider assetProvider) { def.id = Id; Access.NullableSet(ref def.resourceType, ResourceType); Access.NullableSet(ref def.affectionType, AffectionType); Access.NullableSet(ref def.weight, Weight); Access.NullableSet(ref def.bonusWeight, BonusWeight); Access.NullableSet(ref def.negative, Negative); Access.NullableSet(ref def.altBonusSprite, AltBonusSprite); if (EnergyDefinitionID.HasValue) { def.energyDefinition = gameData.Energy.Get(EnergyDefinitionID.Value); } if (IsAdditive) { Access.NullSet(ref def.tokenName, TokenName); Access.NullSet(ref def.resourceName, ResourceName); Access.NullSet(ref def.resourceSign, ResourceSign); Access.NullSet(ref def.difficultyWeightOffset, DifficultyWeightOffset); if (TokenSpriteInfo != null) { def.tokenSprite = TokenSpriteInfo.ToSprite(assetProvider); } if (OverSpriteInfo != null) { def.overSprite = OverSpriteInfo.ToSprite(assetProvider); } if (AltTokenSpriteInfo != null) { def.altTokenSprite = AltTokenSpriteInfo.ToSprite(assetProvider); } if (AltOverSpriteInfo != null) { def.altOverSprite = AltOverSpriteInfo.ToSprite(assetProvider); } if (SfxMatchInfo != null) { def.sfxMatch = SfxMatchInfo.ToAudioKlip(assetProvider); } } else { def.tokenName = TokenName; def.resourceName = ResourceName; def.resourceSign = ResourceSign; def.difficultyWeightOffset = DifficultyWeightOffset; def.tokenSprite = TokenSpriteInfo.ToSprite(assetProvider); def.overSprite = OverSpriteInfo.ToSprite(assetProvider); def.altTokenSprite = AltTokenSpriteInfo.ToSprite(assetProvider); def.altOverSprite = AltOverSpriteInfo.ToSprite(assetProvider); def.sfxMatch = SfxMatchInfo.ToAudioKlip(assetProvider); } }
private void ComboBoxLanguage_OnSelectionChanged(object sender, SelectionChangedEventArgs e) { DataContext = null; if (ComboBoxLanguage.SelectedItem is Languages lang) { AssetProvider.SetLanguage(lang); } DataContext = this; }
public SpriteInfo(Sprite sprite, AssetProvider assetProvider) { if (sprite == null) { return; } assetProvider.NameAndAddAsset(ref Path, sprite); IsExternal = false; }
public DialogTriggerLineSet ToDialogTriggerLineSet(GameData gameData, AssetProvider assetProvider) { var newDTLS = new DialogTriggerLineSet(); if (DialogLines != null) { newDTLS.dialogLines = DialogLines.Select(x => x.ToDialogLine(assetProvider)).ToList(); } return(newDTLS); }
public AbilityDataMod(AbilityDefinition def, AssetProvider assetProvider) : base(def.id, false) { SelectableTarget = def.selectableTarget; TargetMinimumCount = def.targetMinimumCount; if (def.targetConditionSet != null) { TargetConditionSetInfo = new TokenConditionSetInfo(def.targetConditionSet); } Steps = def.steps?.Select(x => new AbilityStepInfo(x, assetProvider)).ToList(); }
/// <summary> /// Initializes a new instance of the <see cref="AssetManager" /> class. /// </summary> /// <param name="assetFile">The asset file.</param> /// <param name="assetProvider">The asset provider.</param> /// <param name="shapeProvider">The shape provider.</param> /// <param name="loadOnCreate">if set to <c>true</c> [load on create].</param> public AssetManager( string assetFile, AssetProvider assetProvider, ShapeProvider shapeProvider, bool loadOnCreate = false) { this.assetProvider = assetProvider; this.shapeProvider = shapeProvider; this.assetFile = assetFile; this.SetupAssets(this.assetFile); }
public override void SetData(DlcDefinition def, GameData gameData, AssetProvider assetProvider) { def.id = Id; if (IsAdditive) { Access.NullSet(ref def.dlcName, DlcName); } else { def.dlcName = DlcName; } }
public override void SetData(DialogTriggerDefinition def, GameData gameData, AssetProvider assetProvider) { def.id = Id; Access.NullableSet(ref def.editorTab, EditorTab); Access.NullableSet(ref def.forceType, ForceType); Access.NullableSet(ref def.priority, Priority); if (ResponseTriggerDefinitionID.HasValue) { def.responseTriggerDefinition = gameData.DialogTriggers.Get(ResponseTriggerDefinitionID.Value); } SetDialogTriggerLineSets(ref def.dialogLineSets, DialogLineSetInfos, gameData, assetProvider); }
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; }
public bool ProcessRequestAsync(IRequest request, ISchemeHandlerResponse response, OnRequestCompletedHandler requestCompletedCallback) { if (AssetProvider.IsLocal(request.Url)) { AssetResource asset = AssetProvider.Get(request.Url); response.MimeType = asset.MimeType; response.ResponseStream = asset.Resource; requestCompletedCallback.Invoke(); return(true); } return(false); }
public LocationDataMod(LocationDefinition def, AssetProvider assetProvider) : base(def.id, false) { LocationName = def.locationName; LocationType = def.locationType; BgMusic = new AudioKlipInfo(def.bgMusic, assetProvider); BgYOffset = def.bgYOffset; FinderLocationIcon = new SpriteInfo(def.finderLocationIcon, assetProvider); DateGirlStyleType = def.dateGirlStyleType; NonStopOptionText = def.nonStopOptionText; SpecialLabels = def.specialLabels; Backgrounds = def.backgrounds.Select(x => new SpriteInfo(x, assetProvider)).ToList(); ArriveBundleList = def.arriveBundleList.Select(x => new LogicBundleInfo(x, assetProvider)).ToList(); DepartBundleList = def.departBundleList.Select(x => new LogicBundleInfo(x, assetProvider)).ToList(); }