private void UpdateTrainerImage() { BitmapSource trainerImage = PokeManager.TrainerImage; if (gameSave.GameType == GameTypes.Ruby || gameSave.GameType == GameTypes.Sapphire) { trainerImage = ResourceDatabase.GetImageFromName("RubySapphire" + trainerGender.ToString()); } else if (gameSave.GameType == GameTypes.Emerald) { trainerImage = ResourceDatabase.GetImageFromName("Emerald" + trainerGender.ToString()); } else if (gameSave.GameType == GameTypes.FireRed || gameSave.GameType == GameTypes.LeafGreen) { trainerImage = ResourceDatabase.GetImageFromName("FireRedLeafGreen" + trainerGender.ToString()); } else if (gameSave.GameType == GameTypes.Colosseum) { trainerImage = ResourceDatabase.GetImageFromName("ColosseumMale"); } else if (gameSave.GameType == GameTypes.XD) { trainerImage = ResourceDatabase.GetImageFromName("XDMale"); } imageTrainer.Width = Math.Min(90, trainerImage.PixelWidth); imageTrainer.Height = Math.Min(138, trainerImage.PixelHeight); imageTrainer.Source = trainerImage; }
private void AddRibbon(string id) { Image image = new Image(); image.Stretch = Stretch.None; image.SnapsToDevicePixels = true; image.UseLayoutRounding = true; image.Source = ResourceDatabase.GetImageFromName("Ribbon" + id); // PokemonDatabase.GetRibbonImageFromID(id); image.IsHitTestVisible = false; StackPanel stackPanelImage = new StackPanel(); stackPanelImage.Orientation = Orientation.Horizontal; stackPanelImage.Children.Add(image); stackPanelImage.MouseLeftButtonDown += ribbon_MouseLeftButtonDown; stackPanelImage.Background = new SolidColorBrush(Color.FromRgb(244, 244, 245)); stackPanelImage.Tag = id; if (stackPanelRibbons.Children.Count == 0 || ((StackPanel)stackPanelRibbons.Children[stackPanelRibbons.Children.Count - 1]).Children.Count == 9) { StackPanel stackPanel = new StackPanel(); stackPanel.Orientation = Orientation.Horizontal; stackPanel.Children.Add(stackPanelImage); stackPanelRibbons.Children.Add(stackPanel); } else { ((StackPanel)stackPanelRibbons.Children[stackPanelRibbons.Children.Count - 1]).Children.Add(stackPanelImage); } }
public override Dictionary <string, string> GenerateReplacementDictionary( Options options, ResourceDatabase resDb) { return(CommonUtil.Collections.DictionaryUtil.MergeDictionaries( this.ParentPlatform.GenerateReplacementDictionary(options, resDb), new Dictionary <string, string>() { { "PROJECT_TITLE", options.GetString(ExportOptionKey.PROJECT_TITLE, "Untitled") }, { "FAVICON", options.GetBool(ExportOptionKey.HAS_ICON) ? "<link rel=\"shortcut icon\" href=\"" + options.GetStringOrEmpty(ExportOptionKey.JS_FILE_PREFIX) + "favicon.ico\">" : "" }, { "CSS_EXTRA", options.GetBool(ExportOptionKey.JS_FULL_PAGE) ? ("#crayon_host { background-color:#000; text-align:left; width: 100%; height: 100%; }\n" + "body { overflow:hidden; }") : "" }, { "JS_EXTRA_HEAD", options.GetStringOrEmpty(ExportOptionKey.JS_HEAD_EXTRAS) }, })); }
private async Task <BuildData> HandleRequestImpl(BuildRequest request) { BuildContext buildContext = GetBuildContext( request.BuildFile, request.BuildTarget, this.Hub, request.BuildArgOverrides, request.ExtensionArgOverrides); ResourceDatabase resourceDatabase = ResourceDatabaseBuilder.PrepareResources(buildContext); // TODO: this should no longer be a wax request and can be called directly. BuildData buildData = await Compile(buildContext, resourceDatabase, this.Hub); buildData.ExportProperties = BuildExportRequest(buildContext); buildData.ExportProperties.ExportPlatform = buildContext.Platform; buildData.ExportProperties.ProjectDirectory = buildContext.ProjectDirectory; buildData.ExportProperties.OutputDirectory = request.OutputDirectoryOverride ?? buildContext.OutputFolder; if (!buildData.HasErrors) { buildData.CbxBundle.ResourceDB.ConvertToFlattenedFileData(); } return(buildData); }
public void TryAddContainer(DecorationTypes decorationType) { if (inventory.Decorations.ContainsPocket(decorationType)) { TabItem tabItem = new TabItem(); tabItem.Tag = decorationType; if (previousPocket == decorationType) { previousPocketIndex = tabControlPockets.Items.Count; } Image headerImage = new Image(); headerImage.SnapsToDevicePixels = true; headerImage.UseLayoutRounding = true; headerImage.Stretch = Stretch.None; headerImage.Source = ResourceDatabase.GetImageFromName(decorationType.ToString() + "Tab"); tabItem.Header = headerImage; DecorationViewerTab inventoryTab = new DecorationViewerTab(); inventoryTab.Width = Double.NaN; inventoryTab.Height = Double.NaN; tabItem.Content = inventoryTab; tabControlPockets.Items.Add(tabItem); inventoryTab.LoadPocket(inventory.Decorations[decorationType]); tabs.Add(decorationType, inventoryTab); if (currentPocket == DecorationTypes.Unknown) { currentPocket = decorationType; } } }
public abstract void PlatformSpecificFiles( string projectId, Dictionary <string, FileOutput> files, Dictionary <string, string> replacements, ResourceDatabase resourceDatabase, string iconFilePath, BuildContext buildContext);
public Dictionary <string, List <FileOutput> > MatchAndRemoveFiles(ResourceDatabase resDB) { Dictionary <string, List <FileOutput> > output = new Dictionary <string, List <FileOutput> >(); foreach (string sheetId in this.ids) { output.Add(sheetId, new List <FileOutput>()); } foreach (FileOutput file in resDB.ImageResources) { if (file.Type == FileOutputType.Image) { string imageSheetId = this.GetImageSheetIdMatch(file.OriginalPath); if (imageSheetId != null) { output[imageSheetId].Add(file); // This "unregisters" the image file such that it won't be included in the project output. file.ImageSheetId = imageSheetId; file.Type = FileOutputType.Ghost; } } } return(output); }
//Initialize Objective References void InitializeObjectiveReferences() { int totalNumberOfObjectives = 2; objectives = new ObjectiveReference[totalNumberOfObjectives]; //Set objective references for (int i = 0; i < totalNumberOfObjectives; i++) { objectives[i] = new ObjectiveReference(transform.Find("Objective " + (i + 1))); objectives [i].Reset(); } //Set the button reference. continueToNextLevel = transform.Find("Level Continue").Find("Button").GetComponent <Button> (); continueToNextLevel.interactable = false; //Set initial values. switch (CurrentLevelVariableManagement.GetMainGameData().currentLevel) { case 0: objectives [0].icon.sprite = ResourceDatabase.GetItemByParameter("Subsidiary Reactor Core").itemIcon; objectives [0].description.text = "Subsidiary Reactor Core"; objectives [1].icon.sprite = ResourceDatabase.GetItemByParameter("Wooden Pickaxe").itemIcon; objectives [1].description.text = "Pickaxe"; break; default: Debug.LogError("The current level has not been added in ObjectiveManager!"); break; } }
public static void PrepareImageResources(ResourceDatabase resDB) { List <Image> wideImages = new List <Image>(); List <Image> tallImages = new List <Image>(); List <Image> bigImages = new List <Image>(); List <Image> smallImages = new List <Image>(); foreach (Image image in GetAllImages(resDB)) { if (image.IsJpeg) { bigImages.Add(image); } else if (image.Width > 512 && image.Height < 100) { wideImages.Add(image); } else if (image.Height > 512 && image.Width < 100) { tallImages.Add(image); } else if (image.Width * image.Height > 256 * 256) { bigImages.Add(image); } else { smallImages.Add(image); } } List <Chunk> chunks = new List <Chunk>(); chunks.AddRange(GetChunksForBigImages(bigImages)); chunks.AddRange(GetChunksForSkinnyImages(wideImages, true)); chunks.AddRange(GetChunksForSkinnyImages(tallImages, false)); chunks.AddRange(GetChunksForSmallImages(smallImages)); string manifest = ConvertChunksToManifest(chunks); resDB.ImageResourceManifestFile = new FileOutput() { Type = FileOutputType.Text, TrimBomIfPresent = true, TextContent = manifest, }; Dictionary <string, FileOutput> chunkImages = new Dictionary <string, FileOutput>(); foreach (Chunk chunk in chunks) { chunkImages["ch_" + chunk.ID + ".png"] = new FileOutput() { Type = FileOutputType.Image, Bitmap = chunk.FinalizedBitmap, }; } resDB.ImageResourceFiles = chunkImages; }
public abstract Dictionary <string, FileOutput> ExportProject( IList <Pastel.Nodes.VariableDeclaration> globals, IList <Pastel.Nodes.StructDefinition> structDefinitions, IList <Pastel.Nodes.FunctionDefinition> functionDefinitions, IList <LibraryForExport> libraries, ResourceDatabase resourceDatabase, Options options, ILibraryNativeInvocationTranslatorProvider libraryNativeInvocationTranslatorProviderForPlatform);
private static List <string> GetReferencedAssemblies(ResourceDatabase db) { var list = new List <string>(); GetAssemblies(db.RootFolder, list); return(list); }
public override void ExportProject( Dictionary <string, FileOutput> output, IList <LibraryForExport> libraries, ResourceDatabase resourceDatabase, Options options) { throw new NotImplementedException(); }
public override void ExportProject( Dictionary <string, FileOutput> output, IList <LibraryForExport> libraries, ResourceDatabase resourceDatabase, Options options) { throw new InvalidOperationException("This platform does not support direct export."); }
public override void ExportProject( Dictionary <string, FileOutput> output, IList <LibraryForExport> libraries, ResourceDatabase resourceDatabase, Options options) { Dictionary <string, string> replacements = this.GenerateReplacementDictionary(options, resourceDatabase); this.OutputAndroidBoilerplate(output, replacements, options); options.SetOption(ExportOptionKey.JS_FILE_PREFIX, null); options.SetOption(ExportOptionKey.JS_FULL_PAGE, false); // TODO: figure out if logic should be implemented in the web view for this. options.SetOption(ExportOptionKey.JS_HEAD_EXTRAS, string.Join( "\n", "<script type=\"text/javascript\" src=\"android.js\"></script>", "<style type=\"text/css\">", " body { margin:0px; background-color:#000; }", " #crayon_host {", " background-color:#000;", " text-align:left;", " width:100%;", " height:100%;", " }", "</style>" )); Dictionary <string, FileOutput> files = new Dictionary <string, FileOutput>(); Dictionary <string, FileOutput> basicProject = new Dictionary <string, FileOutput>(); this.ParentPlatform.ExportProject( basicProject, libraries, resourceDatabase, options); // TODO: not good. The library inclusions should automatically be populated in LangJavaScript platforms. replacements["JS_LIB_INCLUSIONS"] = JavaScriptApp.PlatformImpl.GenerateJsLibInclusionHtml(basicProject.Keys); foreach (string filePath in basicProject.Keys) { FileOutput file = basicProject[filePath]; if (filePath.EndsWith("index.html")) { file.TextContent = file.TextContent.Replace( "<script type=\"text/javascript\" src=\"", "<script type=\"text/javascript\" src=\"file:///android_asset/"); } files["app/src/main/assets/" + filePath] = file; } // TODO: use orientations OrientationParser orientations = new OrientationParser(options); foreach (string filename in files.Keys) { output[this.ApplyReplacements(filename, replacements)] = files[filename]; } }
public override void NPCActionAfterSpeaking() { //When the NPC has finished speaking to the player. if (talkedToPlayer == false) { talkedToPlayer = true; playerInventory.AssignNewItemToBestSlot(new ResourceReferenceWithStack(ResourceDatabase.GetItemByParameter("Wooden Pickaxe"), 1)); } }
public override Dictionary <string, string> GenerateReplacementDictionary( Options options, ResourceDatabase resDb) { Dictionary <string, string> replacements = AbstractPlatform.GenerateGeneralReplacementsDictionary(options); replacements["PROJECT_GUID"] = "project guid goes here."; return(replacements); }
private void Awake() { DontDestroyOnLoad(gameObject); if (Instance == null) { Instance = this; } _db = Resources.Load <ResourceDatabase>(nameof(ResourceDatabase)) ?? throw new ArgumentException(); }
public override Dictionary <string, FileOutput> ExportProject( IList <VariableDeclaration> globals, IList <StructDefinition> structDefinitions, IList <FunctionDefinition> functionDefinitions, IList <LibraryForExport> libraries, ResourceDatabase resourceDatabase, Options options, ILibraryNativeInvocationTranslatorProvider libraryNativeInvocationTranslatorProviderForPlatform) { return(this.ExportProjectImpl(globals, structDefinitions, functionDefinitions, libraries, resourceDatabase, options, libraryNativeInvocationTranslatorProviderForPlatform, this.Translator)); }
public override Dictionary <string, FileOutput> ExportProject( IList <VariableDeclaration> globals, IList <StructDefinition> structDefinitions, IList <FunctionDefinition> functionDefinitions, IList <LibraryForExport> libraries, ResourceDatabase resourceDatabase, Options options, ILibraryNativeInvocationTranslatorProvider libraryNativeInvocationTranslatorProviderForPlatform) { throw new InvalidOperationException("This platform does not support direct export."); }
public override CrayonWorkerResult DoWorkImpl(CrayonWorkerResult[] args) { // resDb = GetResourceDatabaseFromBuild(buildContext) BuildContext buildContext = (BuildContext)args[0].Value; ResourceDatabase resDb = ResourceDatabaseBuilder.PrepareResources(buildContext, null); return(new CrayonWorkerResult() { Value = resDb }); }
internal static ResourceDatabase PrepareResources(BuildContext buildContext) { // This really needs to go in a separate helper file. ResourceDatabase resourceDatabase = CreateResourceDatabase(buildContext); GenerateResourceMapping(resourceDatabase); ImageResourceAllocator.PrepareImageResources(resourceDatabase); return(resourceDatabase); }
public override CrayonWorkerResult DoWorkImpl(CrayonWorkerResult[] args) { // PopulateFileOutputContext(fileOutputContext, buildContext, resDb, cbxFileBytes) Dictionary <string, FileOutput> fileOutputDescriptor = (Dictionary <string, FileOutput>)args[0].Value; BuildContext buildContext = (BuildContext)args[1].Value; ResourceDatabase resDb = (ResourceDatabase)args[2].Value; byte[] cbxData = (byte[])args[3].Value; this.GenerateFileOutput(fileOutputDescriptor, buildContext, resDb, cbxData); return(new CrayonWorkerResult()); }
private void RefreshTrainer() { string[] maleTrainers = { "Youngster", "Bug Catcher", "Rich Boy", "Camper", "Cooltrainer" }; string[] femaleTrainers = { "Lass", "School Kid", "Lady", "Picnicker", "Cooltrainer" }; for (int i = 0; i < 5; i++) { ((ComboBoxItem)comboBoxTrainer.Items[i]).Content = (newGender == Genders.Male ? maleTrainers[i] : femaleTrainers[i]); } imageTrainer.Source = ResourceDatabase.GetImageFromName(newGender.ToString() + "SecretBaseLarge" + (((int)newTrainerID % 256) % 5).ToString()); }
public SelectGameTypeWindow(GameTypes gameType1, GameTypes gameType2) { InitializeComponent(); this.gameType1 = gameType1; this.gameType2 = gameType2; imageGame1.Source = ResourceDatabase.GetImageFromName(gameType1.ToString() + "Physical"); imageGame2.Source = ResourceDatabase.GetImageFromName(gameType2.ToString() + "Physical"); labelGame1.Content = gameType1.ToString(); labelGame2.Content = gameType2.ToString(); }
private void OnFemaleGenderClicked(object sender, RoutedEventArgs e) { radioButtonMale.IsChecked = false; radioButtonFemale.IsChecked = true; trainerGender = Genders.Female; if (PokeManager.CustomTrainerImage == null) { BitmapSource trainerImage = ResourceDatabase.GetImageFromName("Manager" + trainerGender.ToString()); imageTrainer.Width = Math.Min(90, trainerImage.PixelWidth); imageTrainer.Height = Math.Min(138, trainerImage.PixelHeight); imageTrainer.Source = trainerImage; } }
private static async Task <BuildData> Compile( BuildContext buildContext, ResourceDatabase resDb, WaxHub waxHub) { CompileRequest cr = new CompileRequest(buildContext, waxHub.SourceRoot); InternalCompilationBundle icb = await Compiler.Compile(cr, waxHub); // TODO: the CBX Bundle should be constructed directly from a Dictionary in this result. Dictionary <string, object> resultRaw = ActualCompilation(icb); List <Error> errors = new List <Error>(); string[] errorsRaw = (string[])resultRaw["errors"]; for (int i = 0; i < errorsRaw.Length; i += 4) { Error err = new Error() { FileName = errorsRaw[i], Line = int.Parse(errorsRaw[i + 1]), Column = int.Parse(errorsRaw[i + 2]), Message = errorsRaw[i + 3], }; errors.Add(err); } if (errors.Count > 0) { return new BuildData() { Errors = errors.ToArray() } } ; BuildData buildData = new BuildData() { UsesU3 = (bool)resultRaw["usesU3"], DependencyTreeJson = resultRaw.ContainsKey("depTree") ? (string)resultRaw["depTree"] : null, CbxBundle = new CbxBundle() { ByteCode = (string)resultRaw["byteCode"], ResourceDB = resDb, }, ProjectID = buildContext.ProjectID, }; return(buildData); }
public override void ExportProject( Dictionary <string, FileOutput> output, TemplateStorage templates, IList <LibraryForExport> libraries, ResourceDatabase resourceDatabase, Options options) { this.ExportProjectImpl( output, templates, libraries, resourceDatabase, options); }
public override CrayonWorkerResult DoWorkImpl(CrayonWorkerResult[] args) { // cbxFileBytes = GenerateCbxFileContent(buildContext, resDb, compilationResult, byteCode) BuildContext buildContext = (BuildContext)args[0].Value; ResourceDatabase resDb = (ResourceDatabase)args[1].Value; CompilationBundle compilationResult = (CompilationBundle)args[2].Value; string byteCode = (string)args[3].Value; byte[] cbxData = this.GenerateCbxBinaryData(buildContext, resDb, compilationResult, byteCode); return(new CrayonWorkerResult() { Value = cbxData }); }
IEnumerator BeginGame() { //Wait one frame so everything is initialized. yield return(null); //Initialize the database. ResourceDatabase.InitializeDatabase(); //Default profession (TEMPORARY) GameData.SetPlayerProfession(ResourceDatabase.GetRaceByParameter("Agent")); //Use the init sequence to initialize everything. StartCoroutine(InitializationSequence.instance.LoadEverything()); }
public override void ExportProject( Dictionary <string, FileOutput> output, TemplateStorage templates, IList <LibraryForExport> libraries, ResourceDatabase resourceDatabase, Options options) { Dictionary <string, string> replacements = this.GenerateReplacementDictionary(options, resourceDatabase); StringBuilder cCode = new StringBuilder(); cCode.Append("#include <stdio.h>"); cCode.Append(this.NL); cCode.Append("#include <stdlib.h>"); cCode.Append(this.NL); cCode.Append("#include <string.h>"); cCode.Append(this.NL); cCode.Append(this.NL); cCode.Append(this.LoadTextResource("Resources/List.txt", replacements)); cCode.Append(this.LoadTextResource("Resources/String.txt", replacements)); cCode.Append(this.LoadTextResource("Resources/Dictionary.txt", replacements)); cCode.Append(this.LoadTextResource("Resources/TranslationHelper.txt", replacements)); cCode.Append(this.NL); cCode.Append(templates.GetCode("vm:structsdecl")); cCode.Append(this.NL); foreach (string structKey in templates.GetTemplateKeysWithPrefix("vm:struct:")) { string structName = templates.GetName(structKey); cCode.Append(templates.GetCode(structKey)); } cCode.Append(this.NL); cCode.Append(templates.GetCode("vm:stringtable")); cCode.Append(this.NL); cCode.Append(templates.GetCode("vm:functionsdecl")); cCode.Append(this.NL); cCode.Append(templates.GetCode("vm:functions")); cCode.Append(this.NL); cCode.Append(this.LoadTextResource("Resources/main.txt", replacements)); output["main.c"] = new FileOutput() { Type = FileOutputType.Text, TextContent = cCode.ToString(), }; }