From 4d456d7e5dd3a2af51d8d236ae439621f4b10673 Mon Sep 17 00:00:00 2001 From: James Daly Date: Sun, 23 Jun 2019 21:25:08 -0400 Subject: [PATCH] Added a builder for elements and made the buttons and damage bursts reflect the elemental color --- Builder/.gitignore | 1 + Builder/src/fmon/builder/App.fxml | 63 ++ Builder/src/fmon/builder/App.scala | 54 ++ Builder/src/fmon/builder/ElementBuilder.fxml | 93 +++ Builder/src/fmon/builder/ElementBuilder.scala | 227 ++++++ FakeMon/src/fmon/battle/BattleUI.scala | 2 +- FakeMon/src/fmon/battle/MoveButton.scala | 7 + FakeMon/src/fmon/stat/Element.scala | 10 +- FakeMon/src/fmon/stat/data/elements.yaml | 671 +++++++++++++----- FakeMon/src/fmon/util/YamlHelper.scala | 45 +- 10 files changed, 1003 insertions(+), 170 deletions(-) create mode 100644 Builder/.gitignore create mode 100644 Builder/src/fmon/builder/App.fxml create mode 100644 Builder/src/fmon/builder/App.scala create mode 100644 Builder/src/fmon/builder/ElementBuilder.fxml create mode 100644 Builder/src/fmon/builder/ElementBuilder.scala diff --git a/Builder/.gitignore b/Builder/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/Builder/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/Builder/src/fmon/builder/App.fxml b/Builder/src/fmon/builder/App.fxml new file mode 100644 index 0000000..1d8b168 --- /dev/null +++ b/Builder/src/fmon/builder/App.fxml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Builder/src/fmon/builder/App.scala b/Builder/src/fmon/builder/App.scala new file mode 100644 index 0000000..f33da58 --- /dev/null +++ b/Builder/src/fmon/builder/App.scala @@ -0,0 +1,54 @@ +package fmon.builder + +import java.io.File + +import javafx.fxml.FXML +import javafx.fxml.FXMLLoader +import javafx.fxml.JavaFXBuilderFactory +import javafx.scene.{control => jfxsc, layout => jfxsl} + +import scalafx.Includes._ +import scalafx.stage.FileChooser +import FileChooser.ExtensionFilter + +trait Savable { + def saveTo(file: File): Unit + def openFrom(file: File): Unit +} + +class App { + @FXML var pane: jfxsl.Pane = _ + + var builder: Savable = _ + + + def open(): Unit = { + val fileChooser = new FileChooser { + title = "Open Resource File" + extensionFilters ++= Seq( + new ExtensionFilter("YAML Files", "*.yaml"), + new ExtensionFilter("All Files", "*.*") + ) + } + + val selectedFile = fileChooser.showOpenDialog(null) + if (selectedFile != null) { + builder openFrom selectedFile + } + } + + def saveAs(): Unit = { + val fileChooser = new FileChooser { + title = "Open Resource File" + extensionFilters ++= Seq( + new ExtensionFilter("YAML Files", "*.yaml"), + new ExtensionFilter("All Files", "*.*") + ) + } + + val selectedFile = fileChooser.showSaveDialog(null) + if (selectedFile != null) { + builder saveTo selectedFile + } + } +} \ No newline at end of file diff --git a/Builder/src/fmon/builder/ElementBuilder.fxml b/Builder/src/fmon/builder/ElementBuilder.fxml new file mode 100644 index 0000000..b59180f --- /dev/null +++ b/Builder/src/fmon/builder/ElementBuilder.fxml @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + +