Compare commits
50 Commits
snapshot-2
...
master
Author | SHA1 | Date | |
---|---|---|---|
|
00ab6ce37d | ||
|
3e5fce0256 | ||
|
90e0ac8221 | ||
|
bfdeccdc88 | ||
|
07226f2d2c | ||
|
37723d8913 | ||
|
3cbd7ebf19 | ||
|
ecf639234d | ||
|
b2171ac44d | ||
|
cf4ba8a9b2 | ||
|
06067a65df | ||
|
b62b0f749a | ||
|
32452b1f42 | ||
|
69beb98a0c | ||
|
e6f766e287 | ||
|
3def96588f | ||
|
ba4d61b0a5 | ||
|
6f9d413bf7 | ||
|
507dee45d8 | ||
|
18665c9022 | ||
|
1a5a7b7a66 | ||
|
67df93c0da | ||
|
a1fa243882 | ||
|
ede8f5137a | ||
|
196f3cfa76 | ||
|
e6a07bee7f | ||
|
899647b165 | ||
|
894e3fe7f3 | ||
|
d1990656cd | ||
|
7df908f500 | ||
|
cbe3f8ea85 | ||
|
417bd199a7 | ||
|
0b174aba41 | ||
|
2000ac6a30 | ||
|
3799a7549b | ||
|
0c2eb7acea | ||
|
a92732ad1f | ||
|
87c1ff3af1 | ||
|
a4484404cd | ||
|
242d30b51c | ||
|
7c448591ea | ||
|
3c20db686c | ||
|
ad6593bd00 | ||
|
68cc275302 | ||
|
2dd019a8ea | ||
|
82e83e0248 | ||
|
cfb056a05e | ||
|
39d214a3a2 | ||
|
6984a8bd23 | ||
|
1f87e20877 |
7
DESIGN.md
Normal file
7
DESIGN.md
Normal file
@ -0,0 +1,7 @@
|
||||
# Launcher
|
||||
|
||||
Refer to [docs/launcher/README.md](docs/launcher/README.md)
|
||||
|
||||
# Engine
|
||||
|
||||
Refer to [docs/engine/README.md](docs/engine/README.md)
|
22
INSTALL.md
Normal file
22
INSTALL.md
Normal file
@ -0,0 +1,22 @@
|
||||
# How to install Boulevard Combattant?
|
||||
|
||||
## Windows
|
||||
|
||||
To run Boulevard Combattant, simply get the [latest release](https://gitlab.istic.univ-rennes1.fr/fautin/jeu-de-combat/-/releases) and run the executable JAR. You need Java >8 installed on your computer. All libraries are packaged within the JAR.
|
||||
|
||||
## Linux
|
||||
|
||||
You will need to build the project, as creating a working .jar has proven more difficult than expected. You need `openjdk8`, not `openjdk8-headless`, installed on your computer.
|
||||
|
||||
## MacOS
|
||||
|
||||
We do not provide support for MacOS. It may work though... Try to build it!
|
||||
|
||||
# How to build Boulevard Combattant?
|
||||
|
||||
In order to ensure proper building of the project, clone this repository using your favourite IDE and run the `Main` class.
|
||||
This project is managed via Maven. All dependencies are automatically downloaded as required.
|
||||
|
||||
## Packaging
|
||||
|
||||
To package, simply clone the project, and run `mvn package` in the root directory of the cloned project. A JAR will be generated in `${project_folder}/target`.
|
40
README.md
40
README.md
@ -1,20 +1,37 @@
|
||||

|
||||
|
||||
# Boulevard Combattant
|
||||
# 👊 Boulevard Combattant
|
||||
|
||||
2D Fighting game, inspired by Street Fighter III: Third Strike.
|
||||
Developed in the context of an end-of-year project at ISTIC (2020/2021)
|
||||
[**Watch the game trailer now**](https://www.youtube.com/watch?v=Bg_Tftfuyt0)
|
||||
|
||||

|
||||
Boulevard Comabattant is a 2D Fighting game, inspired by Street Fighter III: Third Strike. Challenge your friends in an epic faceoff on the streets of Angoulême!
|
||||
|
||||
## Technologies used by the project
|
||||
Built upon our lwjgl and glfw based game engine, BK Engine, Boulevard Comabattant was designed to be easily expansible in the future.
|
||||
|
||||
* Java
|
||||
* OpenGL via [lwjgl](https://www.lwjgl.org/)
|
||||
* OpenAL via [lwjgl](https://www.lwjgl.org/)
|
||||
* [JavaFX](https://openjfx.io)
|
||||

|
||||
|
||||
## Contributors
|
||||
## 🎮 How to play?
|
||||
|
||||
Set your preferences in the launcher window, plug-in two DirectInput or XInput capable controllers in your computer, and click **Play**! Use the left analog stick or the D-Pad to move, and the four face buttons to kick and punch, neo-geo style!
|
||||
|
||||

|
||||
|
||||
Blue, the main character, knows some advanced martial arts techniques, which can be unlocked through special combinaisons ;).
|
||||
|
||||
⚠️ The game does not support keyboard input, only gamepad input. **Controllers are required.**
|
||||
|
||||
## ⚙ How to install / build?
|
||||
|
||||
Please refer to [INSTALL.md](INSTALL.md).
|
||||
|
||||
## 🧪 Technologies used by the project
|
||||
|
||||
* Java 🍵
|
||||
* OpenGL via [lwjgl](https://www.lwjgl.org/) 📺
|
||||
* OpenAL via [lwjgl](https://www.lwjgl.org/) 📢
|
||||
* [JavaFX](https://openjfx.io) 🪟
|
||||
|
||||
## ⌨ Authors
|
||||
|
||||
* [François AUTIN](https://gitlab.istic.univ-rennes1.fr/fautin)
|
||||
* [Victor AZRA](https://gitlab.istic.univ-rennes1.fr/vazra)
|
||||
@ -22,3 +39,6 @@ Developed in the context of an end-of-year project at ISTIC (2020/2021)
|
||||
* [Antoine DUPUIS](https://gitlab.istic.univ-rennes1.fr/18002392)
|
||||
* [Léo NOLIÈRE](https://gitlab.istic.univ-rennes1.fr/lnoliere)
|
||||
* [Rémi RATIVEL](https://gitlab.istic.univ-rennes1.fr/rrativel)
|
||||
|
||||
|
||||
*Developed in the context of an end-of-year project at ISTIC (2020/2021).*
|
||||
|
0
docs/engine/.gitkeep
Normal file
0
docs/engine/.gitkeep
Normal file
86
docs/engine/README.md
Normal file
86
docs/engine/README.md
Normal file
@ -0,0 +1,86 @@
|
||||
# Boulevard Combattant 2D Engine
|
||||
|
||||
## What does the engine do?
|
||||
|
||||
The goal of the engine is to determine a representation of the element described in the gameplay package.
|
||||
## Functionality
|
||||
|
||||
The engine can create a window apply an aspect ratio, and dynamically as the window resize maintain the graphic environment as the selected aspect ratio.
|
||||
|
||||
Display 2d model on the screen apply texture/shader to them, every basic geometric transformation: translation, rotation, scaling.
|
||||
|
||||
Built-in HUD system, the engine is able to create an object and make it keep track of the position/scaling of the camera.
|
||||
For this release three types of ui element exist: basic geometric shape, text and progress bar but this is a really easy system to expand on.
|
||||
|
||||
Sound is also managed by the engine, with the help of the OpenAl library we can recreate 3d sound, doppler effect and such in the game albeit these effects are unused by the game at the moment.
|
||||
## Behaviour
|
||||
|
||||
At every call of the `engine.render()` method every Object added to the render queue is rendered in accordance with the shader chosen.
|
||||
|
||||
<div id="HDIK">
|
||||
<h2>
|
||||
How does it work?
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
Because our engine uses the OpenGL API every object in the scene is represented by a vertex array object, this array keep track of every vertex, indices, color and textureUV information. All of these informations are encapsulated in the `VertexArray` class.
|
||||
|
||||
A vertex array work in tandem with a shader to show the object as our artist intended, shader are written in the glsl standard of the OpenGl library. Those small programs are sent to the gpu and are used in two phases, the vertex calculation and the fragment one, the first is used to calculate the position of the vertex in the game world and through the projection, the second one is used to calculate which color each pixel on the screen should be. These two part essential for the creation of an object are encapsulated in the `ObjectGl` class which is the most used class in the engine.
|
||||
Through this class you can apply transformation to the object, modify shader, vertex array etc...
|
||||
|
||||
Now these objects are used by the engine class who store every one of them in a `arrayList`, at every call of the `render()` method these `ObjectGl` are draw on the screen according to the rule specified in their shader and vertex array.
|
||||
|
||||
Inputs are collected via the use of the `update()` method for every interaction a callback has been created in the `Input` package through these callbacks we can fetch for example which key has been pressed on a keyboard.
|
||||
## Brief package presentation
|
||||
|
||||
### camera
|
||||
|
||||
A camera is represented by a 3D vector in the world space the main class in the package camera can be used to modify the position, zoom in or out.
|
||||
Tracking class are used to control automatically the behavior of the camera.
|
||||
|
||||
`TrackingSF3ThirdStrick` is an imitation of the camera behavior in the game Street Fighter 3 Tracking is updated every frame in the `engine.update()` method
|
||||
|
||||
### graphics
|
||||
|
||||
Here are the class who make the connection between our program and the OpenGl API as we talked in the <a href="#HDIK"> How does it work ?</a> section.
|
||||
|
||||
### gui
|
||||
|
||||
Every class here inherited from the `UIDummy` class, they represent special type of `ObjectGl` who translate/scale with the camera.
|
||||
|
||||
### input
|
||||
|
||||
`Button` was created to allow rebinding of the key, a feature that has not been added in the game yet.
|
||||
`GamepadInput` and `KeyboardInput` are the classes used to fetch which key has been used every frame
|
||||
|
||||
### loader
|
||||
|
||||
In some optimization effort some texture are loaded all at once and reused without ever needing to reload the texture from the file.
|
||||
|
||||
### math
|
||||
|
||||
Every class used to represent the geometrical shape `Primitive`, and the operation associated with it `Matrix4f` and `Vector3f`.
|
||||
### object
|
||||
|
||||
The `ObjectGl` class and his derivatives as we explained in the <a href="#HDIK"> How does it work ?</a>
|
||||
section.
|
||||
|
||||
### object_wrapper
|
||||
|
||||
Some type of structure need to use multiple `ObjectGl` at once like `Text`
|
||||
|
||||
### sound
|
||||
|
||||
Basic OpenAl implementation completely functional, not used.
|
||||
|
||||
### utils
|
||||
|
||||
Every tool needed for accessing files and create buffers.
|
||||
|
||||
### Engine
|
||||
|
||||
The main class in which you can control the whole behavior of the graphical application. The game should be created around the class.
|
||||
|
||||
## Main contributors of the engine
|
||||
### Antoine Dupuis
|
||||
### Léo Nolière
|
65
docs/launcher/README.md
Normal file
65
docs/launcher/README.md
Normal file
@ -0,0 +1,65 @@
|
||||
# Boulevard Combattant Launcher
|
||||
|
||||
By [François AUTIN](@fautin) & [Indy BOYEAU](@iboyeau).
|
||||
|
||||
## What is the launcher about?
|
||||
|
||||
In order to allow for the end-user to properly input its preferred parameters, we needed a user interface to edit the game.set JSON configuration file (which is then parsed by the game engine to configure itself). Therefore, a launcher window providing basic configuration toggles and boxes was implemented.
|
||||
|
||||

|
||||
|
||||
## Functionality
|
||||
|
||||
Through this window, the end-user can set the resolution, whether or not to display the game fullscreen or windowed, how many rounds to play and whether or not to display the hitboxes in-game.
|
||||
|
||||
Also implemented is the ability to select characters for each player and another arena. **However, this game having both a single character and a single arena, this part of the user interface has been obscured.**
|
||||
|
||||
## Behaviour
|
||||
|
||||
When starting the program, the launcher window pops, prompting you to enter your preferred settings. Clicking on play will hide the launcher and start a new thread containing the game engine itself. Upon thread completion (ie: the match has ended, or the player quit the game), the window will reappear.
|
||||
|
||||
## How does it work?
|
||||
|
||||
The launcher code is entirely comprised within the `launcher` package. There are two classes: `launcher.Launcher` and `launcher.Settings`.
|
||||
|
||||

|
||||
|
||||
### launcher.Launcher
|
||||
|
||||
This class is an extension of the `javafx.application.Application` class. As such, it operates within its own JavaFX thread, allowing it to manipulate JavaFX artifacts at will using the `@FXML` annotation tag.
|
||||
|
||||
Any JavaFX `Application` class instance must have a `start(Stage primaryStage)` method. This method is automatically called when an instance is created. `start(...)` proceeds to load the `launcher.fxml` resource file contained in the `launcher` package. This FXML file defines a class arborescence describing a JavaFX scene to be displayed. Once loaded, this class arborescence is filled with relevant additional information, such as default values parsed by `launcher.Settings`, and item lists for `javafx.scene.control.ChoiceBox<>` instances. Then finally, the window is given attributes (title, icon, etc) and displayed via the window manager of the operating system.
|
||||
|
||||
`launcher.Launcher` also contains additional methods to be launched through user input:
|
||||
|
||||
* `runGame()`: transcribes the user inputed data to a format usable by `launcher.Settings`, asks the `launcher.Settings` instance linked to the launcher to write the game.set JSON file, hides the window and creates a new thread containing an instance of the `gameplay.match.match` class. Upon thread completion, the window is shown again.
|
||||
|
||||
* `fillArraySettings()`: transcribes the user inputed data to a format usable by `launcher.Settings`.
|
||||
|
||||
* `hideWindow()`: hides the launcher window.
|
||||
|
||||
* `showWindow()`: shows the launcher window again.
|
||||
|
||||
* `quit()`: calls `System.exit(0);`.
|
||||
|
||||
* `website()`: opens the gitlab page of the project in the user's default web browser on click.
|
||||
|
||||
* `chp()`: part of the obscured character select pane. Changes the character image according to the user selected character.
|
||||
|
||||
### launcher.Settings
|
||||
|
||||
This class is specifically made to bridge between the launcher itself, and the resulting game.set JSON configuration file. `launcher.Settings` parses game.set using `com.googlecode.json-simple`, a JSON parser for Java, upon instanciation. It also provides a `write(...)` method to write the user inputed settings to file.
|
||||
|
||||
# Task repartition
|
||||
|
||||
`launcher.Launcher` and all its dependent resources (`launcher.fxml` & `style.css`) were written by @fautin.
|
||||
|
||||
`launcher.Settings` was co-written by @fautin and @iboyeau.
|
||||
|
||||
`match.match` methods relevant to parsing the game.set file were co-written by @iboyeau and @fautin.
|
||||
|
||||
Launcher logo was designed by @rrativel.
|
||||
|
||||
# TODO
|
||||
|
||||
As-is, the launcher works well. Future updates may include improvements to the launcher's layout and looks and reintegration of the character select pane.
|
BIN
docs/launcher/class-diagram.png
Normal file
BIN
docs/launcher/class-diagram.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 91 KiB |
248
docs/launcher/class-diagram.svg
Normal file
248
docs/launcher/class-diagram.svg
Normal file
@ -0,0 +1,248 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'>
|
||||
<svg xmlns='http://www.w3.org/2000/svg' viewBox='15 -30 1150 928' xmlns:xlink='http://www.w3.org/1999/xlink' width='1150.0px' font-size='13' font-family='Arial, LiberationSans' version='1.1' height='928.0px'>
|
||||
<defs>
|
||||
<style type='text/css'><![CDATA[svg text {text-rendering: geometricPrecision;}]]></style> <linearGradient y1='0.0%' x1='0.0%' y2='100.0%' x2='0.0%' id='b3f897b4-c209-4fe8-9dfb-f15e0fa75261' spreadMethod='pad'>
|
||||
<stop stop-opacity='1' offset='0' stop-color='rgb(255, 255, 255)'/>
|
||||
<stop stop-opacity='1' offset='100' stop-color='rgb(239, 233, 222)'/>
|
||||
</linearGradient>
|
||||
<linearGradient y1='0.0%' x1='0.0%' y2='100.0%' x2='0.0%' id='64ed63d1-2f1e-4592-a935-36666ede968d' spreadMethod='pad'>
|
||||
<stop stop-opacity='1' offset='0' stop-color='rgb(255, 255, 255)'/>
|
||||
<stop stop-opacity='1' offset='100' stop-color='rgb(239, 233, 222)'/>
|
||||
</linearGradient>
|
||||
<linearGradient y1='0.0%' x1='0.0%' y2='100.0%' x2='0.0%' id='90b92241-31be-4fbf-9743-d826a85754b6' spreadMethod='pad'>
|
||||
<stop stop-opacity='1' offset='0' stop-color='rgb(255, 255, 255)'/>
|
||||
<stop stop-opacity='1' offset='100' stop-color='rgb(238, 238, 238)'/>
|
||||
</linearGradient>
|
||||
<linearGradient y1='0.0%' x1='0.0%' y2='100.0%' x2='0.0%' id='21cc2823-92d5-4ff0-85b8-8eb3d15ebebc' spreadMethod='pad'>
|
||||
<stop stop-opacity='1' offset='0' stop-color='rgb(255, 255, 255)'/>
|
||||
<stop stop-opacity='1' offset='100' stop-color='rgb(238, 238, 238)'/>
|
||||
</linearGradient>
|
||||
<linearGradient y1='0.0%' x1='0.0%' y2='100.0%' x2='0.0%' id='c7a59d8f-6a85-48ef-8f3e-5ef25775cfc4' spreadMethod='pad'>
|
||||
<stop stop-opacity='1' offset='0' stop-color='rgb(255, 255, 255)'/>
|
||||
<stop stop-opacity='1' offset='100' stop-color='rgb(238, 238, 238)'/>
|
||||
</linearGradient>
|
||||
<linearGradient y1='0.0%' x1='0.0%' y2='100.0%' x2='0.0%' id='0c84d8fe-2609-49d4-98d5-e654c986184d' spreadMethod='pad'>
|
||||
<stop stop-opacity='1' offset='0' stop-color='rgb(255, 255, 255)'/>
|
||||
<stop stop-opacity='1' offset='100' stop-color='rgb(239, 233, 222)'/>
|
||||
</linearGradient>
|
||||
<linearGradient y1='0.0%' x1='0.0%' y2='100.0%' x2='0.0%' id='336857b3-5a78-482b-8a61-0a5eab3024c9' spreadMethod='pad'>
|
||||
<stop stop-opacity='1' offset='0' stop-color='rgb(255, 255, 255)'/>
|
||||
<stop stop-opacity='1' offset='100' stop-color='rgb(239, 233, 222)'/>
|
||||
</linearGradient>
|
||||
<linearGradient y1='0.0%' x1='0.0%' y2='100.0%' x2='0.0%' id='bba14698-32fa-4b4a-bfce-000a72f8f558' spreadMethod='pad'>
|
||||
<stop stop-opacity='1' offset='0' stop-color='rgb(255, 255, 255)'/>
|
||||
<stop stop-opacity='1' offset='100' stop-color='rgb(238, 238, 238)'/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<desc>ClassDiagram</desc>
|
||||
<g transform='translate(45.0,288.0)' id='_RQnUgLgaEDm32IpGZr-LtA'>
|
||||
<rect x='0.0' width='70.0px' y='0.0' stroke-width='1.0' fill='url(#b3f897b4-c209-4fe8-9dfb-f15e0fa75261)' stroke='rgb(194, 183, 159)' look='allInOne' height='24.0px'/>
|
||||
<rect x='0.0' width='1090.0px' y='24.0' stroke-width='1.0' fill='url(#b3f897b4-c209-4fe8-9dfb-f15e0fa75261)' stroke='rgb(194, 183, 159)' look='allInOne' height='556.0px'/>
|
||||
<text font-weight='bold' text-anchor='middle' x='35.0' y='18.0' font-size='13' fill='rgb(128, 98, 33)'>launcher</text>
|
||||
</g>
|
||||
<g transform='translate(45.0,0.0)' id='_WtsoQrgaEDm32IpGZr-LtA'>
|
||||
<rect x='0.0' width='54.0px' y='0.0' stroke-width='1.0' fill='url(#64ed63d1-2f1e-4592-a935-36666ede968d)' stroke='rgb(194, 183, 159)' look='allInOne' height='24.0px'/>
|
||||
<rect x='0.0' width='1090.0px' y='24.0' stroke-width='1.0' fill='url(#64ed63d1-2f1e-4592-a935-36666ede968d)' stroke='rgb(194, 183, 159)' look='allInOne' height='246.0px'/>
|
||||
<text font-weight='bold' text-anchor='middle' x='27.0' y='18.0' font-size='13' fill='rgb(128, 98, 33)'>javafx</text>
|
||||
</g>
|
||||
<g transform='translate(101.0,409.0)' id='_TOv1ILgaEDm32IpGZr-LtA'>
|
||||
<rect rx='3.0' ry='3.0' x='0.0' width='286.0px' y='0.0' stroke-width='1.0' fill='url(#90b92241-31be-4fbf-9743-d826a85754b6)' stroke='rgb(187, 187, 187)' look='allInOne' height='302.0px'/>
|
||||
<text font-weight='bold' text-anchor='middle' x='143.0' y='19.0' font-size='13' font-style='normal' fill='rgb(3, 54, 86)'>Launcher</text>
|
||||
<line y1='26.0' x1='0.0' y2='26.0' x2='286.0' stroke-width='1.0' stroke='rgb(187, 187, 187)' look='border'/>
|
||||
<g transform='translate(0.0,26.0)' id='_kiRycLgaEDm32IpGZr-LtA'>
|
||||
<image x='4.0' width='16.0' y='5.0' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAG8dAAB6pAAA9NYAAIZwAAB37gAA9bAAADqjAAAVsi1zQqwAAAMAUExURQAAAP////3+/ypvqCtuqCtvqDF0qzp5rzp4rjp5rkN/skOAsk2Ftk2GtlWMulaMulaNulaMuV6Svl6RvV6SvV+SvWWWwGWXwGqawvr9//b8//L7/+T3/+H3/+T4/+z6/+36/+P4/+f5//L8//b9/7ONIu/Aaf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIu2A3AAAAAodFJOU////////////////////////////////////////////////////wC+qi4YAAAAjUlEQVR42lyPuwoCQQxFT8bsNgpWIrYy4P//zkwpWmmxIFjMI1vMjqumO1xuciIXfsf9Mcr0jXuU+lj5AEo+JkwwgSGDUrbPXcunMYGjvBO1jnWsJgWUqsZgeSh3XgSUsinLWi/Ri2L5lBxcPx52cwaCB/OYcm5JkHa7qwciRIjaJZfG+pwggqyV3mAeAEwDNXVo/ukaAAAAAElFTkSuQmCC' height='16.0'/>
|
||||
<text text-anchor='start' text-decoration='underline' x='22.0' y='16.0' font-size='13' fill='rgb(0, 0, 0)'>arraysettings: HashMap<String,Object></text>
|
||||
</g>
|
||||
<g transform='translate(0.0,46.0)' id='_yMJhcbgaEDm32IpGZr-LtA'>
|
||||
<image x='4.0' width='16.0' y='5.0' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAG8dAAB6pAAA9NYAAIZwAAB37gAA9bAAADqjAAAVsi1zQqwAAAMAUExURQAAAP///8gdLP3+/zt4ripvqCtuqCtvqDF0qzJzqzp5rzp4rjp5rkN/skOAskR/sk2Ftk2GtlWMulaMulaNulaMuV6Svl6RvV6SvV+SvWWWwGWXwGqawvr9/+35//b8//L7/+T3/+H3/+T4/+j5/+z6/+36/+P4/+f5//L8//b9/8lHPvV8fP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALr1MDoAAAAudFJOU////////////////////////////////////////////////////////////wCCj3NVAAAAjklEQVR42lyPsQ6CYAyEv/4WcGFwM8bZwej7vwiR3U0ddDIG/rYOYBBuuXx3Q69yZq60YJTnP25Q/DbxFpS86wkhBIoMitWPeuhfVQ8Je/e4V155iIFihVNGLs2tcFBsZXcAPuswULzfdwnwpNlAiWsKkA6ABuUwnGiOy+mtiIi0Os28jL/8FMyD0+jfAQAK/zLXcxrOkQAAAABJRU5ErkJggg==' height='16.0'/>
|
||||
<text text-anchor='start' text-decoration='underline' x='22.0' y='16.0' font-size='13' fill='rgb(0, 0, 0)'>setter: Settings</text>
|
||||
</g>
|
||||
<g transform='translate(0.0,66.0)' id='_4A6VYbgaEDm32IpGZr-LtA'>
|
||||
<image x='4.0' width='16.0' y='5.0' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAG8dAAB6pAAA9NYAAIZwAAB37gAA9bAAADqjAAAVsi1zQqwAAAMAUExURQAAAP///8gdLP3+/zt4ripvqCtuqCtvqDF0qzJzqzp5rzp4rjp5rkN/skOAskR/sk2Ftk2GtlWMulaMulaNulaMuV6Svl6RvV6SvV+SvWWWwGWXwGqawvr9/+35//b8//L7/+T3/+H3/+T4/+j5/+z6/+36/+P4/+f5//L8//b9/8lHPvV8fP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALr1MDoAAAAudFJOU////////////////////////////////////////////////////////////wCCj3NVAAAAjklEQVR42lyPsQ6CYAyEv/4WcGFwM8bZwej7vwiR3U0ddDIG/rYOYBBuuXx3Q69yZq60YJTnP25Q/DbxFpS86wkhBIoMitWPeuhfVQ8Je/e4V155iIFihVNGLs2tcFBsZXcAPuswULzfdwnwpNlAiWsKkA6ABuUwnGiOy+mtiIi0Os28jL/8FMyD0+jfAQAK/zLXcxrOkQAAAABJRU5ErkJggg==' height='16.0'/>
|
||||
<text text-anchor='start' text-decoration='underline' x='22.0' y='16.0' font-size='13' fill='rgb(0, 0, 0)'>namespace: Map<String,Object></text>
|
||||
</g>
|
||||
<line y1='90.0' x1='0.0' y2='90.0' x2='286.0' stroke-width='1.0' stroke='rgb(187, 187, 187)' look='border'/>
|
||||
<g transform='translate(0.0,90.0)' id='_CkLf0LgbEDm32IpGZr-LtA'>
|
||||
<image x='4.0' width='16.0' y='5.0' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAG8dAAB6pAAA9NYAAIZwAAB37gAA9bAAADqjAAAVsi1zQqwAAAMAUExURQAAAP///8gdLMHBw6Ky1rfD3Ymh0au73Ku62Yag0aq72bPB27fD2b7J3XmXyYWh0Ieiz4ahzomk0Z2z2Ki72bPD3L7J23eXyIajz7TE27PD2rTD2maPxbvK38PP32WQxWOMwGSMvYamz7PE2LXE10V/vkh/v0d/vEiAvUh+vFGEu1OEvGGPw2aEpqC40kaBvUWAukd/ukmBvGGQvmSGqWOEpZ+61QA9cwA8cgA7cQI7cAM8czZ0rT16sEF9s0J9tUWCu0SBuE6GuVGFt2OGpmSHp2OEo2WGpWSFpAA8cAA9cAA7bwA8bgA9bgA7bQI8bgI8bD18slCGtWKFo2OGpGSHpQA9bAA7aDR3rMlHPvV8fP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0EaqEAAABcdFJOU/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8Ag20X4AAAANtJREFUeNpUj0tLAlEARs+9XppGpzHDu1AQJcHHZlZFuBDa9wci/6Cu/AmBEcJQLSxFRJCgBy3MGSd8QenCB3Y2B87q+0SF/8i12v7TXvjok2o5eI+b0NED73U5+G7kXEBU+HGl6U/EXJvFKIQcDnQryBWsoTyzAcmD/2yV4+PZlXc3egHJ6f0ksAM307V+b9Mg+SqpWJC8MIy/48sxhBxtxuRb+HD6rnXSBgWj2TT7ma8DTUCBIeNHiyHXu6VhLxKJJqgJIYSoKSANvROo7p87z7Jco7a3bzZeDQBYqUT6Rob/IQAAAABJRU5ErkJggg==' height='16.0'/>
|
||||
<text x='22.0' y='16.0' font-size='12' fill='rgb(105, 105, 105)'></text>
|
||||
<text text-anchor='start' x='24.0' y='16.0' font-size='13' font-style='normal' fill='rgb(0, 0, 0)'>runGame(): void</text>
|
||||
</g>
|
||||
<g transform='translate(0.0,110.0)' id='_E91e0bgbEDm32IpGZr-LtA'>
|
||||
<image x='4.0' width='16.0' y='5.0' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAG8dAAB6pAAA9NYAAIZwAAB37gAA9bAAADqjAAAVsi1zQqwAAAMAUExURQAAAP///8gdLMHBw6Ky1rfD3Ymh0au73Ku62Yag0aq72bPB27fD2b7J3XmXyYWh0Ieiz4ahzomk0Z2z2Ki72bPD3L7J23eXyIajz7TE27PD2rTD2maPxbvK38PP32WQxWOMwGSMvYamz7PE2LXE10V/vkh/v0d/vEiAvUh+vFGEu1OEvGGPw2aEpqC40kaBvUWAukd/ukmBvGGQvmSGqWOEpZ+61QA9cwA8cgA7cQI7cAM8czZ0rT16sEF9s0J9tUWCu0SBuE6GuVGFt2OGpmSHp2OEo2WGpWSFpAA8cAA9cAA7bwA8bgA9bgA7bQI8bgI8bD18slCGtWKFo2OGpGSHpQA9bAA7aDR3rMlHPvV8fP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0EaqEAAABcdFJOU/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8Ag20X4AAAANtJREFUeNpUj0tLAlEARs+9XppGpzHDu1AQJcHHZlZFuBDa9wci/6Cu/AmBEcJQLSxFRJCgBy3MGSd8QenCB3Y2B87q+0SF/8i12v7TXvjok2o5eI+b0NED73U5+G7kXEBU+HGl6U/EXJvFKIQcDnQryBWsoTyzAcmD/2yV4+PZlXc3egHJ6f0ksAM307V+b9Mg+SqpWJC8MIy/48sxhBxtxuRb+HD6rnXSBgWj2TT7ma8DTUCBIeNHiyHXu6VhLxKJJqgJIYSoKSANvROo7p87z7Jco7a3bzZeDQBYqUT6Rob/IQAAAABJRU5ErkJggg==' height='16.0'/>
|
||||
<text x='22.0' y='16.0' font-size='12' fill='rgb(105, 105, 105)'></text>
|
||||
<text text-anchor='start' x='24.0' y='16.0' font-size='13' font-style='normal' fill='rgb(0, 0, 0)'>fillArraySettings(): void</text>
|
||||
</g>
|
||||
<g transform='translate(0.0,130.0)' id='_FDQxZLgbEDm32IpGZr-LtA'>
|
||||
<image x='4.0' width='16.0' y='5.0' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAG8dAAB6pAAA9NYAAIZwAAB37gAA9bAAADqjAAAVsi1zQqwAAAMAUExURQAAAP///8gdLMHBw6Ky1rfD3Ymh0au73Ku62Yag0aq72bPB27fD2b7J3XmXyYWh0Ieiz4ahzomk0Z2z2Ki72bPD3L7J23eXyIajz7TE27PD2rTD2maPxbvK38PP32WQxWOMwGSMvYamz7PE2LXE10V/vkh/v0d/vEiAvUh+vFGEu1OEvGGPw2aEpqC40kaBvUWAukd/ukmBvGGQvmSGqWOEpZ+61QA9cwA8cgA7cQI7cAM8czZ0rT16sEF9s0J9tUWCu0SBuE6GuVGFt2OGpmSHp2OEo2WGpWSFpAA8cAA9cAA7bwA8bgA9bgA7bQI8bgI8bD18slCGtWKFo2OGpGSHpQA9bAA7aDR3rMlHPvV8fP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0EaqEAAABcdFJOU/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8Ag20X4AAAANtJREFUeNpUj0tLAlEARs+9XppGpzHDu1AQJcHHZlZFuBDa9wci/6Cu/AmBEcJQLSxFRJCgBy3MGSd8QenCB3Y2B87q+0SF/8i12v7TXvjok2o5eI+b0NED73U5+G7kXEBU+HGl6U/EXJvFKIQcDnQryBWsoTyzAcmD/2yV4+PZlXc3egHJ6f0ksAM307V+b9Mg+SqpWJC8MIy/48sxhBxtxuRb+HD6rnXSBgWj2TT7ma8DTUCBIeNHiyHXu6VhLxKJJqgJIYSoKSANvROo7p87z7Jco7a3bzZeDQBYqUT6Rob/IQAAAABJRU5ErkJggg==' height='16.0'/>
|
||||
<text x='22.0' y='16.0' font-size='12' fill='rgb(105, 105, 105)'></text>
|
||||
<text text-anchor='start' x='24.0' y='16.0' font-size='13' font-style='normal' fill='rgb(0, 0, 0)'>hideWindow(): void</text>
|
||||
</g>
|
||||
<g transform='translate(0.0,150.0)' id='_FIRNNLgbEDm32IpGZr-LtA'>
|
||||
<image x='4.0' width='16.0' y='5.0' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAG8dAAB6pAAA9NYAAIZwAAB37gAA9bAAADqjAAAVsi1zQqwAAAMAUExURQAAAP///8gdLMHBw6Ky1rfD3Ymh0au73Ku62Yag0aq72bPB27fD2b7J3XmXyYWh0Ieiz4ahzomk0Z2z2Ki72bPD3L7J23eXyIajz7TE27PD2rTD2maPxbvK38PP32WQxWOMwGSMvYamz7PE2LXE10V/vkh/v0d/vEiAvUh+vFGEu1OEvGGPw2aEpqC40kaBvUWAukd/ukmBvGGQvmSGqWOEpZ+61QA9cwA8cgA7cQI7cAM8czZ0rT16sEF9s0J9tUWCu0SBuE6GuVGFt2OGpmSHp2OEo2WGpWSFpAA8cAA9cAA7bwA8bgA9bgA7bQI8bgI8bD18slCGtWKFo2OGpGSHpQA9bAA7aDR3rMlHPvV8fP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0EaqEAAABcdFJOU/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8Ag20X4AAAANtJREFUeNpUj0tLAlEARs+9XppGpzHDu1AQJcHHZlZFuBDa9wci/6Cu/AmBEcJQLSxFRJCgBy3MGSd8QenCB3Y2B87q+0SF/8i12v7TXvjok2o5eI+b0NED73U5+G7kXEBU+HGl6U/EXJvFKIQcDnQryBWsoTyzAcmD/2yV4+PZlXc3egHJ6f0ksAM307V+b9Mg+SqpWJC8MIy/48sxhBxtxuRb+HD6rnXSBgWj2TT7ma8DTUCBIeNHiyHXu6VhLxKJJqgJIYSoKSANvROo7p87z7Jco7a3bzZeDQBYqUT6Rob/IQAAAABJRU5ErkJggg==' height='16.0'/>
|
||||
<text x='22.0' y='16.0' font-size='12' fill='rgb(105, 105, 105)'></text>
|
||||
<text text-anchor='start' x='24.0' y='16.0' font-size='13' font-style='normal' fill='rgb(0, 0, 0)'>showWindow(): void</text>
|
||||
</g>
|
||||
<g transform='translate(0.0,170.0)' id='_FNMJcbgbEDm32IpGZr-LtA'>
|
||||
<image x='4.0' width='16.0' y='5.0' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAG8dAAB6pAAA9NYAAIZwAAB37gAA9bAAADqjAAAVsi1zQqwAAAMAUExURQAAAP///8gdLMHBw6Ky1rfD3Ymh0au73Ku62Yag0aq72bPB27fD2b7J3XmXyYWh0Ieiz4ahzomk0Z2z2Ki72bPD3L7J23eXyIajz7TE27PD2rTD2maPxbvK38PP32WQxWOMwGSMvYamz7PE2LXE10V/vkh/v0d/vEiAvUh+vFGEu1OEvGGPw2aEpqC40kaBvUWAukd/ukmBvGGQvmSGqWOEpZ+61QA9cwA8cgA7cQI7cAM8czZ0rT16sEF9s0J9tUWCu0SBuE6GuVGFt2OGpmSHp2OEo2WGpWSFpAA8cAA9cAA7bwA8bgA9bgA7bQI8bgI8bD18slCGtWKFo2OGpGSHpQA9bAA7aDR3rMlHPvV8fP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0EaqEAAABcdFJOU/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8Ag20X4AAAANtJREFUeNpUj0tLAlEARs+9XppGpzHDu1AQJcHHZlZFuBDa9wci/6Cu/AmBEcJQLSxFRJCgBy3MGSd8QenCB3Y2B87q+0SF/8i12v7TXvjok2o5eI+b0NED73U5+G7kXEBU+HGl6U/EXJvFKIQcDnQryBWsoTyzAcmD/2yV4+PZlXc3egHJ6f0ksAM307V+b9Mg+SqpWJC8MIy/48sxhBxtxuRb+HD6rnXSBgWj2TT7ma8DTUCBIeNHiyHXu6VhLxKJJqgJIYSoKSANvROo7p87z7Jco7a3bzZeDQBYqUT6Rob/IQAAAABJRU5ErkJggg==' height='16.0'/>
|
||||
<text x='22.0' y='16.0' font-size='12' fill='rgb(105, 105, 105)'></text>
|
||||
<text text-anchor='start' x='24.0' y='16.0' font-size='13' font-style='normal' fill='rgb(0, 0, 0)'>quit(): void</text>
|
||||
</g>
|
||||
<g transform='translate(0.0,190.0)' id='_FRO79rgbEDm32IpGZr-LtA'>
|
||||
<image x='4.0' width='16.0' y='5.0' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAG8dAAB6pAAA9NYAAIZwAAB37gAA9bAAADqjAAAVsi1zQqwAAAMAUExURQAAAP///8gdLMHBw6Ky1rfD3Ymh0au73Ku62Yag0aq72bPB27fD2b7J3XmXyYWh0Ieiz4ahzomk0Z2z2Ki72bPD3L7J23eXyIajz7TE27PD2rTD2maPxbvK38PP32WQxWOMwGSMvYamz7PE2LXE10V/vkh/v0d/vEiAvUh+vFGEu1OEvGGPw2aEpqC40kaBvUWAukd/ukmBvGGQvmSGqWOEpZ+61QA9cwA8cgA7cQI7cAM8czZ0rT16sEF9s0J9tUWCu0SBuE6GuVGFt2OGpmSHp2OEo2WGpWSFpAA8cAA9cAA7bwA8bgA9bgA7bQI8bgI8bD18slCGtWKFo2OGpGSHpQA9bAA7aDR3rMlHPvV8fP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0EaqEAAABcdFJOU/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8Ag20X4AAAANtJREFUeNpUj0tLAlEARs+9XppGpzHDu1AQJcHHZlZFuBDa9wci/6Cu/AmBEcJQLSxFRJCgBy3MGSd8QenCB3Y2B87q+0SF/8i12v7TXvjok2o5eI+b0NED73U5+G7kXEBU+HGl6U/EXJvFKIQcDnQryBWsoTyzAcmD/2yV4+PZlXc3egHJ6f0ksAM307V+b9Mg+SqpWJC8MIy/48sxhBxtxuRb+HD6rnXSBgWj2TT7ma8DTUCBIeNHiyHXu6VhLxKJJqgJIYSoKSANvROo7p87z7Jco7a3bzZeDQBYqUT6Rob/IQAAAABJRU5ErkJggg==' height='16.0'/>
|
||||
<text x='22.0' y='16.0' font-size='12' fill='rgb(105, 105, 105)'></text>
|
||||
<text text-anchor='start' x='24.0' y='16.0' font-size='13' font-style='normal' fill='rgb(0, 0, 0)'>website(): void</text>
|
||||
</g>
|
||||
<g transform='translate(0.0,210.0)' id='_FVa4ZrgbEDm32IpGZr-LtA'>
|
||||
<image x='4.0' width='16.0' y='5.0' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAG8dAAB6pAAA9NYAAIZwAAB37gAA9bAAADqjAAAVsi1zQqwAAAMAUExURQAAAP///8gdLMHBw6Ky1rfD3Ymh0au73Ku62Yag0aq72bPB27fD2b7J3XmXyYWh0Ieiz4ahzomk0Z2z2Ki72bPD3L7J23eXyIajz7TE27PD2rTD2maPxbvK38PP32WQxWOMwGSMvYamz7PE2LXE10V/vkh/v0d/vEiAvUh+vFGEu1OEvGGPw2aEpqC40kaBvUWAukd/ukmBvGGQvmSGqWOEpZ+61QA9cwA8cgA7cQI7cAM8czZ0rT16sEF9s0J9tUWCu0SBuE6GuVGFt2OGpmSHp2OEo2WGpWSFpAA8cAA9cAA7bwA8bgA9bgA7bQI8bgI8bD18slCGtWKFo2OGpGSHpQA9bAA7aDR3rMlHPvV8fP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0EaqEAAABcdFJOU/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8Ag20X4AAAANtJREFUeNpUj0tLAlEARs+9XppGpzHDu1AQJcHHZlZFuBDa9wci/6Cu/AmBEcJQLSxFRJCgBy3MGSd8QenCB3Y2B87q+0SF/8i12v7TXvjok2o5eI+b0NED73U5+G7kXEBU+HGl6U/EXJvFKIQcDnQryBWsoTyzAcmD/2yV4+PZlXc3egHJ6f0ksAM307V+b9Mg+SqpWJC8MIy/48sxhBxtxuRb+HD6rnXSBgWj2TT7ma8DTUCBIeNHiyHXu6VhLxKJJqgJIYSoKSANvROo7p87z7Jco7a3bzZeDQBYqUT6Rob/IQAAAABJRU5ErkJggg==' height='16.0'/>
|
||||
<text x='22.0' y='16.0' font-size='12' fill='rgb(105, 105, 105)'></text>
|
||||
<text text-anchor='start' x='24.0' y='16.0' font-size='13' font-style='normal' fill='rgb(0, 0, 0)'>chp1(): void</text>
|
||||
</g>
|
||||
<g transform='translate(0.0,230.0)' id='_FZA--LgbEDm32IpGZr-LtA'>
|
||||
<image x='4.0' width='16.0' y='5.0' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAG8dAAB6pAAA9NYAAIZwAAB37gAA9bAAADqjAAAVsi1zQqwAAAMAUExURQAAAP///8gdLMHBw6Ky1rfD3Ymh0au73Ku62Yag0aq72bPB27fD2b7J3XmXyYWh0Ieiz4ahzomk0Z2z2Ki72bPD3L7J23eXyIajz7TE27PD2rTD2maPxbvK38PP32WQxWOMwGSMvYamz7PE2LXE10V/vkh/v0d/vEiAvUh+vFGEu1OEvGGPw2aEpqC40kaBvUWAukd/ukmBvGGQvmSGqWOEpZ+61QA9cwA8cgA7cQI7cAM8czZ0rT16sEF9s0J9tUWCu0SBuE6GuVGFt2OGpmSHp2OEo2WGpWSFpAA8cAA9cAA7bwA8bgA9bgA7bQI8bgI8bD18slCGtWKFo2OGpGSHpQA9bAA7aDR3rMlHPvV8fP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0EaqEAAABcdFJOU/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8Ag20X4AAAANtJREFUeNpUj0tLAlEARs+9XppGpzHDu1AQJcHHZlZFuBDa9wci/6Cu/AmBEcJQLSxFRJCgBy3MGSd8QenCB3Y2B87q+0SF/8i12v7TXvjok2o5eI+b0NED73U5+G7kXEBU+HGl6U/EXJvFKIQcDnQryBWsoTyzAcmD/2yV4+PZlXc3egHJ6f0ksAM307V+b9Mg+SqpWJC8MIy/48sxhBxtxuRb+HD6rnXSBgWj2TT7ma8DTUCBIeNHiyHXu6VhLxKJJqgJIYSoKSANvROo7p87z7Jco7a3bzZeDQBYqUT6Rob/IQAAAABJRU5ErkJggg==' height='16.0'/>
|
||||
<text x='22.0' y='16.0' font-size='12' fill='rgb(105, 105, 105)'></text>
|
||||
<text text-anchor='start' x='24.0' y='16.0' font-size='13' font-style='normal' fill='rgb(0, 0, 0)'>chp2(): void</text>
|
||||
</g>
|
||||
<g transform='translate(0.0,250.0)' id='_FclQUrgbEDm32IpGZr-LtA'>
|
||||
<image x='4.0' width='16.0' y='5.0' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAG8dAAB6pAAA9NYAAIZwAAB37gAA9bAAADqjAAAVsi1zQqwAAAMAUExURQAAAP///8gdLMHBw6Ky1rfD3Ymh0au73Ku62Yag0aq72bPB27fD2b7J3XmXyYWh0Ieiz4ahzomk0Z2z2Ki72bPD3L7J23eXyIajz7TE27PD2rTD2maPxbvK38PP32WQxWOMwGSMvYamz7PE2LXE10V/vkh/v0d/vEiAvUh+vFGEu1OEvGGPw2aEpqC40kaBvUWAukd/ukmBvGGQvmSGqWOEpZ+61QA9cwA8cgA7cQI7cAM8czZ0rT16sEF9s0J9tUWCu0SBuE6GuVGFt2OGpmSHp2OEo2WGpWSFpAA8cAA9cAA7bwA8bgA9bgA7bQI8bgI8bD18slCGtWKFo2OGpGSHpQA9bAA7aDR3rMlHPvV8fP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0EaqEAAABcdFJOU/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8Ag20X4AAAANtJREFUeNpUj0tLAlEARs+9XppGpzHDu1AQJcHHZlZFuBDa9wci/6Cu/AmBEcJQLSxFRJCgBy3MGSd8QenCB3Y2B87q+0SF/8i12v7TXvjok2o5eI+b0NED73U5+G7kXEBU+HGl6U/EXJvFKIQcDnQryBWsoTyzAcmD/2yV4+PZlXc3egHJ6f0ksAM307V+b9Mg+SqpWJC8MIy/48sxhBxtxuRb+HD6rnXSBgWj2TT7ma8DTUCBIeNHiyHXu6VhLxKJJqgJIYSoKSANvROo7p87z7Jco7a3bzZeDQBYqUT6Rob/IQAAAABJRU5ErkJggg==' height='16.0'/>
|
||||
<text x='22.0' y='16.0' font-size='12' fill='rgb(105, 105, 105)'></text>
|
||||
<text text-anchor='start' x='24.0' y='16.0' font-size='13' font-style='normal' fill='rgb(0, 0, 0)'>chp(): void</text>
|
||||
</g>
|
||||
<g transform='translate(0.0,270.0)' id='_FljmKrgbEDm32IpGZr-LtA'>
|
||||
<image x='4.0' width='16.0' y='5.0' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAG8dAAB6pAAA9NYAAIZwAAB37gAA9bAAADqjAAAVsi1zQqwAAAMAUExURQAAAP///8HBw6Ky1rfD3Ymh0au73Ku62aq72bPB27fD2b7J3Yahzomk0Z2z2Ki72bPD3L7J23eXyIajz7TE27PD2rTD2maPxbvK38PP32OMwIamz7PE2LXE10V/vkh/v0d/vEiAvUh+vFGEu1OEvGaEpqC40kaBvUWAukd/ukmBvGGQvmSGqWOEpZ+61QA9cwA7cQI7cAM8czZ0rT16sEF9s0J9tUSBuE6GuVGFt2OGpmSHp2OEo2WGpWSFpAA8cAA9cAA7bwA8bgA9bgA7bQI8bgI8bD18slCGtWKFo2OGpGSHpQA9bAA7aLONIu/Aaf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOIeGg8AAABRdFJOU///////////////////////////////////////////////////////////////////////////////////////////////////////////AGjsqMEAAADRSURBVHjaVI9BSwJRGEXP93z0dGgGUlyEhIUigZsC/4C4HvC3zsZ1OzHQctGkYFEtxIKacTTHgp6LHKi7uXDgwL3S5X/Ub90vx3/A/JFK2CS+3YNJ+Tl+sU8fg9oQkC7rkTLJVr6OTMOD3DkHpcnnWc2J5MIFFDfLu3yrmKSdVT8KQVMdmI23GLenP6srpmjeWqGbHFtj8CXwRdOguXg4Peztd2iI0rT6WscH62M1GFV0v98RK1hBQSF2HO+aAAIINHACs8zIzl0iiCCSATKD3QDRJUatWRzdjwAAAABJRU5ErkJggg==' height='16.0'/>
|
||||
<text x='22.0' y='16.0' font-size='12' fill='rgb(105, 105, 105)'></text>
|
||||
<text text-anchor='start' x='24.0' y='16.0' font-size='13' font-style='normal' fill='rgb(0, 0, 0)'>getArraySettings(): HashMap<String,Object></text>
|
||||
</g>
|
||||
</g>
|
||||
<g transform='translate(508.0,409.0)' id='_hkImULgaEDm32IpGZr-LtA'>
|
||||
<rect rx='3.0' ry='3.0' x='0.0' width='464.0px' y='0.0' stroke-width='1.0' fill='url(#21cc2823-92d5-4ff0-85b8-8eb3d15ebebc)' stroke='rgb(187, 187, 187)' look='allInOne' height='407.0px'/>
|
||||
<text font-weight='bold' text-anchor='middle' x='232.0' y='19.0' font-size='13' font-style='normal' fill='rgb(3, 54, 86)'>Settings</text>
|
||||
<line y1='26.0' x1='0.0' y2='26.0' x2='464.0' stroke-width='1.0' stroke='rgb(187, 187, 187)' look='border'/>
|
||||
<g transform='translate(0.0,26.0)' id='_vmJ6ILgbEDm32IpGZr-LtA'>
|
||||
<image x='4.0' width='16.0' y='5.0' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAG8dAAB6pAAA9NYAAIZwAAB37gAA9bAAADqjAAAVsi1zQqwAAAMAUExURQAAAP///8gdLP3+/zt4ripvqCtuqCtvqDF0qzJzqzp5rzp4rjp5rkN/skOAskR/sk2Ftk2GtlWMulaMulaNulaMuV6Svl6RvV6SvV+SvWWWwGWXwGqawvr9/+35//b8//L7/+T3/+H3/+T4/+j5/+z6/+36/+P4/+f5//L8//b9/8lHPvV8fP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALr1MDoAAAAudFJOU////////////////////////////////////////////////////////////wCCj3NVAAAAjklEQVR42lyPsQ6CYAyEv/4WcGFwM8bZwej7vwiR3U0ddDIG/rYOYBBuuXx3Q69yZq60YJTnP25Q/DbxFpS86wkhBIoMitWPeuhfVQ8Je/e4V155iIFihVNGLs2tcFBsZXcAPuswULzfdwnwpNlAiWsKkA6ABuUwnGiOy+mtiIi0Os28jL/8FMyD0+jfAQAK/zLXcxrOkQAAAABJRU5ErkJggg==' height='16.0'/>
|
||||
<text text-anchor='start' x='22.0' y='16.0' font-size='13' fill='rgb(0, 0, 0)'>width: Integer</text>
|
||||
</g>
|
||||
<g transform='translate(0.0,46.0)' id='_wNME8bgbEDm32IpGZr-LtA'>
|
||||
<image x='4.0' width='16.0' y='5.0' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAG8dAAB6pAAA9NYAAIZwAAB37gAA9bAAADqjAAAVsi1zQqwAAAMAUExURQAAAP///8gdLP3+/zt4ripvqCtuqCtvqDF0qzJzqzp5rzp4rjp5rkN/skOAskR/sk2Ftk2GtlWMulaMulaNulaMuV6Svl6RvV6SvV+SvWWWwGWXwGqawvr9/+35//b8//L7/+T3/+H3/+T4/+j5/+z6/+36/+P4/+f5//L8//b9/8lHPvV8fP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALr1MDoAAAAudFJOU////////////////////////////////////////////////////////////wCCj3NVAAAAjklEQVR42lyPsQ6CYAyEv/4WcGFwM8bZwej7vwiR3U0ddDIG/rYOYBBuuXx3Q69yZq60YJTnP25Q/DbxFpS86wkhBIoMitWPeuhfVQ8Je/e4V155iIFihVNGLs2tcFBsZXcAPuswULzfdwnwpNlAiWsKkA6ABuUwnGiOy+mtiIi0Os28jL/8FMyD0+jfAQAK/zLXcxrOkQAAAABJRU5ErkJggg==' height='16.0'/>
|
||||
<text text-anchor='start' x='22.0' y='16.0' font-size='13' fill='rgb(0, 0, 0)'>height: Integer</text>
|
||||
</g>
|
||||
<g transform='translate(0.0,66.0)' id='_wWX2IbgbEDm32IpGZr-LtA'>
|
||||
<image x='4.0' width='16.0' y='5.0' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAG8dAAB6pAAA9NYAAIZwAAB37gAA9bAAADqjAAAVsi1zQqwAAAMAUExURQAAAP///8gdLP3+/zt4ripvqCtuqCtvqDF0qzJzqzp5rzp4rjp5rkN/skOAskR/sk2Ftk2GtlWMulaMulaNulaMuV6Svl6RvV6SvV+SvWWWwGWXwGqawvr9/+35//b8//L7/+T3/+H3/+T4/+j5/+z6/+36/+P4/+f5//L8//b9/8lHPvV8fP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALr1MDoAAAAudFJOU////////////////////////////////////////////////////////////wCCj3NVAAAAjklEQVR42lyPsQ6CYAyEv/4WcGFwM8bZwej7vwiR3U0ddDIG/rYOYBBuuXx3Q69yZq60YJTnP25Q/DbxFpS86wkhBIoMitWPeuhfVQ8Je/e4V155iIFihVNGLs2tcFBsZXcAPuswULzfdwnwpNlAiWsKkA6ABuUwnGiOy+mtiIi0Os28jL/8FMyD0+jfAQAK/zLXcxrOkQAAAABJRU5ErkJggg==' height='16.0'/>
|
||||
<text text-anchor='start' x='22.0' y='16.0' font-size='13' fill='rgb(0, 0, 0)'>rounds: Integer</text>
|
||||
</g>
|
||||
<g transform='translate(0.0,86.0)' id='_wlvH0bgbEDm32IpGZr-LtA'>
|
||||
<image x='4.0' width='16.0' y='5.0' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAG8dAAB6pAAA9NYAAIZwAAB37gAA9bAAADqjAAAVsi1zQqwAAAMAUExURQAAAP///8gdLP3+/zt4ripvqCtuqCtvqDF0qzJzqzp5rzp4rjp5rkN/skOAskR/sk2Ftk2GtlWMulaMulaNulaMuV6Svl6RvV6SvV+SvWWWwGWXwGqawvr9/+35//b8//L7/+T3/+H3/+T4/+j5/+z6/+36/+P4/+f5//L8//b9/8lHPvV8fP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALr1MDoAAAAudFJOU////////////////////////////////////////////////////////////wCCj3NVAAAAjklEQVR42lyPsQ6CYAyEv/4WcGFwM8bZwej7vwiR3U0ddDIG/rYOYBBuuXx3Q69yZq60YJTnP25Q/DbxFpS86wkhBIoMitWPeuhfVQ8Je/e4V155iIFihVNGLs2tcFBsZXcAPuswULzfdwnwpNlAiWsKkA6ABuUwnGiOy+mtiIi0Os28jL/8FMyD0+jfAQAK/zLXcxrOkQAAAABJRU5ErkJggg==' height='16.0'/>
|
||||
<text text-anchor='start' x='22.0' y='16.0' font-size='13' fill='rgb(0, 0, 0)'>fullscreen: Boolean</text>
|
||||
</g>
|
||||
<g transform='translate(0.0,106.0)' id='_wp09pLgbEDm32IpGZr-LtA'>
|
||||
<image x='4.0' width='16.0' y='5.0' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAG8dAAB6pAAA9NYAAIZwAAB37gAA9bAAADqjAAAVsi1zQqwAAAMAUExURQAAAP///8gdLP3+/zt4ripvqCtuqCtvqDF0qzJzqzp5rzp4rjp5rkN/skOAskR/sk2Ftk2GtlWMulaMulaNulaMuV6Svl6RvV6SvV+SvWWWwGWXwGqawvr9/+35//b8//L7/+T3/+H3/+T4/+j5/+z6/+36/+P4/+f5//L8//b9/8lHPvV8fP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALr1MDoAAAAudFJOU////////////////////////////////////////////////////////////wCCj3NVAAAAjklEQVR42lyPsQ6CYAyEv/4WcGFwM8bZwej7vwiR3U0ddDIG/rYOYBBuuXx3Q69yZq60YJTnP25Q/DbxFpS86wkhBIoMitWPeuhfVQ8Je/e4V155iIFihVNGLs2tcFBsZXcAPuswULzfdwnwpNlAiWsKkA6ABuUwnGiOy+mtiIi0Os28jL/8FMyD0+jfAQAK/zLXcxrOkQAAAABJRU5ErkJggg==' height='16.0'/>
|
||||
<text text-anchor='start' x='22.0' y='16.0' font-size='13' fill='rgb(0, 0, 0)'>hitboxes: Boolean</text>
|
||||
</g>
|
||||
<g transform='translate(0.0,126.0)' id='_wugpVrgbEDm32IpGZr-LtA'>
|
||||
<image x='4.0' width='16.0' y='5.0' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAG8dAAB6pAAA9NYAAIZwAAB37gAA9bAAADqjAAAVsi1zQqwAAAMAUExURQAAAP///8gdLP3+/zt4ripvqCtuqCtvqDF0qzJzqzp5rzp4rjp5rkN/skOAskR/sk2Ftk2GtlWMulaMulaNulaMuV6Svl6RvV6SvV+SvWWWwGWXwGqawvr9/+35//b8//L7/+T3/+H3/+T4/+j5/+z6/+36/+P4/+f5//L8//b9/8lHPvV8fP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALr1MDoAAAAudFJOU////////////////////////////////////////////////////////////wCCj3NVAAAAjklEQVR42lyPsQ6CYAyEv/4WcGFwM8bZwej7vwiR3U0ddDIG/rYOYBBuuXx3Q69yZq60YJTnP25Q/DbxFpS86wkhBIoMitWPeuhfVQ8Je/e4V155iIFihVNGLs2tcFBsZXcAPuswULzfdwnwpNlAiWsKkA6ABuUwnGiOy+mtiIi0Os28jL/8FMyD0+jfAQAK/zLXcxrOkQAAAABJRU5ErkJggg==' height='16.0'/>
|
||||
<text text-anchor='start' x='22.0' y='16.0' font-size='13' fill='rgb(0, 0, 0)'>stage: String</text>
|
||||
</g>
|
||||
<g transform='translate(0.0,146.0)' id='_wyejV7gbEDm32IpGZr-LtA'>
|
||||
<image x='4.0' width='16.0' y='5.0' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAG8dAAB6pAAA9NYAAIZwAAB37gAA9bAAADqjAAAVsi1zQqwAAAMAUExURQAAAP///8gdLP3+/zt4ripvqCtuqCtvqDF0qzJzqzp5rzp4rjp5rkN/skOAskR/sk2Ftk2GtlWMulaMulaNulaMuV6Svl6RvV6SvV+SvWWWwGWXwGqawvr9/+35//b8//L7/+T3/+H3/+T4/+j5/+z6/+36/+P4/+f5//L8//b9/8lHPvV8fP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALr1MDoAAAAudFJOU////////////////////////////////////////////////////////////wCCj3NVAAAAjklEQVR42lyPsQ6CYAyEv/4WcGFwM8bZwej7vwiR3U0ddDIG/rYOYBBuuXx3Q69yZq60YJTnP25Q/DbxFpS86wkhBIoMitWPeuhfVQ8Je/e4V155iIFihVNGLs2tcFBsZXcAPuswULzfdwnwpNlAiWsKkA6ABuUwnGiOy+mtiIi0Os28jL/8FMyD0+jfAQAK/zLXcxrOkQAAAABJRU5ErkJggg==' height='16.0'/>
|
||||
<text text-anchor='start' x='22.0' y='16.0' font-size='13' fill='rgb(0, 0, 0)'>p1: String</text>
|
||||
</g>
|
||||
<g transform='translate(0.0,166.0)' id='_w2kZIbgbEDm32IpGZr-LtA'>
|
||||
<image x='4.0' width='16.0' y='5.0' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAG8dAAB6pAAA9NYAAIZwAAB37gAA9bAAADqjAAAVsi1zQqwAAAMAUExURQAAAP///8gdLP3+/zt4ripvqCtuqCtvqDF0qzJzqzp5rzp4rjp5rkN/skOAskR/sk2Ftk2GtlWMulaMulaNulaMuV6Svl6RvV6SvV+SvWWWwGWXwGqawvr9/+35//b8//L7/+T3/+H3/+T4/+j5/+z6/+36/+P4/+f5//L8//b9/8lHPvV8fP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALr1MDoAAAAudFJOU////////////////////////////////////////////////////////////wCCj3NVAAAAjklEQVR42lyPsQ6CYAyEv/4WcGFwM8bZwej7vwiR3U0ddDIG/rYOYBBuuXx3Q69yZq60YJTnP25Q/DbxFpS86wkhBIoMitWPeuhfVQ8Je/e4V155iIFihVNGLs2tcFBsZXcAPuswULzfdwnwpNlAiWsKkA6ABuUwnGiOy+mtiIi0Os28jL/8FMyD0+jfAQAK/zLXcxrOkQAAAABJRU5ErkJggg==' height='16.0'/>
|
||||
<text text-anchor='start' x='22.0' y='16.0' font-size='13' fill='rgb(0, 0, 0)'>p2: String</text>
|
||||
</g>
|
||||
<line y1='190.0' x1='0.0' y2='190.0' x2='464.0' stroke-width='1.0' stroke='rgb(187, 187, 187)' look='border'/>
|
||||
<g transform='translate(0.0,190.0)' id='_Nt9bMbgcEDm32IpGZr-LtA'>
|
||||
<image x='4.0' width='16.0' y='5.0' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAG8dAAB6pAAA9NYAAIZwAAB37gAA9bAAADqjAAAVsi1zQqwAAAMAUExURQAAAP///8HBw6Ky1rfD3Ymh0au73Ku62aq72bPB27fD2b7J3Yahzomk0Z2z2Ki72bPD3L7J23eXyIajz7TE27PD2rTD2maPxbvK38PP32OMwIamz7PE2LXE10V/vkh/v0d/vEiAvUh+vFGEu1OEvGaEpqC40kaBvUWAukd/ukmBvGGQvmSGqWOEpZ+61QA9cwA7cQI7cAM8czZ0rT16sEF9s0J9tUSBuE6GuVGFt2OGpmSHp2OEo2WGpWSFpAA8cAA9cAA7bwA8bgA9bgA7bQI8bgI8bD18slCGtWKFo2OGpGSHpQA9bAA7aLONIu/Aaf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOIeGg8AAABRdFJOU///////////////////////////////////////////////////////////////////////////////////////////////////////////AGjsqMEAAADRSURBVHjaVI9BSwJRGEXP93z0dGgGUlyEhIUigZsC/4C4HvC3zsZ1OzHQctGkYFEtxIKacTTHgp6LHKi7uXDgwL3S5X/Ub90vx3/A/JFK2CS+3YNJ+Tl+sU8fg9oQkC7rkTLJVr6OTMOD3DkHpcnnWc2J5MIFFDfLu3yrmKSdVT8KQVMdmI23GLenP6srpmjeWqGbHFtj8CXwRdOguXg4Peztd2iI0rT6WscH62M1GFV0v98RK1hBQSF2HO+aAAIINHACs8zIzl0iiCCSATKD3QDRJUatWRzdjwAAAABJRU5ErkJggg==' height='16.0'/>
|
||||
<text x='22.0' y='16.0' font-size='12' fill='rgb(105, 105, 105)'></text>
|
||||
<text text-anchor='start' x='24.0' y='16.0' font-size='13' font-style='normal' fill='rgb(0, 0, 0)'>parse(): void</text>
|
||||
</g>
|
||||
<g transform='translate(0.0,210.0)' id='_N7SFhLgcEDm32IpGZr-LtA'>
|
||||
<image x='4.0' width='16.0' y='5.0' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAG8dAAB6pAAA9NYAAIZwAAB37gAA9bAAADqjAAAVsi1zQqwAAAMAUExURQAAAP///8HBw6Ky1rfD3Ymh0au73Ku62aq72bPB27fD2b7J3Yahzomk0Z2z2Ki72bPD3L7J23eXyIajz7TE27PD2rTD2maPxbvK38PP32OMwIamz7PE2LXE10V/vkh/v0d/vEiAvUh+vFGEu1OEvGaEpqC40kaBvUWAukd/ukmBvGGQvmSGqWOEpZ+61QA9cwA7cQI7cAM8czZ0rT16sEF9s0J9tUSBuE6GuVGFt2OGpmSHp2OEo2WGpWSFpAA8cAA9cAA7bwA8bgA9bgA7bQI8bgI8bD18slCGtWKFo2OGpGSHpQA9bAA7aLONIu/Aaf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOIeGg8AAABRdFJOU///////////////////////////////////////////////////////////////////////////////////////////////////////////AGjsqMEAAADRSURBVHjaVI9BSwJRGEXP93z0dGgGUlyEhIUigZsC/4C4HvC3zsZ1OzHQctGkYFEtxIKacTTHgp6LHKi7uXDgwL3S5X/Ub90vx3/A/JFK2CS+3YNJ+Tl+sU8fg9oQkC7rkTLJVr6OTMOD3DkHpcnnWc2J5MIFFDfLu3yrmKSdVT8KQVMdmI23GLenP6srpmjeWqGbHFtj8CXwRdOguXg4Peztd2iI0rT6WscH62M1GFV0v98RK1hBQSF2HO+aAAIINHACs8zIzl0iiCCSATKD3QDRJUatWRzdjwAAAABJRU5ErkJggg==' height='16.0'/>
|
||||
<text x='22.0' y='16.0' font-size='12' fill='rgb(105, 105, 105)'></text>
|
||||
<text text-anchor='start' x='24.0' y='16.0' font-size='13' font-style='normal' fill='rgb(0, 0, 0)'>setSettings(): void</text>
|
||||
</g>
|
||||
<g transform='translate(0.0,230.0)' id='_OJm1Y7gcEDm32IpGZr-LtA'>
|
||||
<image x='4.0' width='16.0' y='5.0' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAG8dAAB6pAAA9NYAAIZwAAB37gAA9bAAADqjAAAVsi1zQqwAAAMAUExURQAAAP///8gdLMHBw6Ky1rfD3Ymh0au73Ku62Yag0aq72bPB27fD2b7J3XmXyYWh0Ieiz4ahzomk0Z2z2Ki72bPD3L7J23eXyIajz7TE27PD2rTD2maPxbvK38PP32WQxWOMwGSMvYamz7PE2LXE10V/vkh/v0d/vEiAvUh+vFGEu1OEvGGPw2aEpqC40kaBvUWAukd/ukmBvGGQvmSGqWOEpZ+61QA9cwA8cgA7cQI7cAM8czZ0rT16sEF9s0J9tUWCu0SBuE6GuVGFt2OGpmSHp2OEo2WGpWSFpAA8cAA9cAA7bwA8bgA9bgA7bQI8bgI8bD18slCGtWKFo2OGpGSHpQA9bAA7aDR3rMlHPvV8fP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0EaqEAAABcdFJOU/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8Ag20X4AAAANtJREFUeNpUj0tLAlEARs+9XppGpzHDu1AQJcHHZlZFuBDa9wci/6Cu/AmBEcJQLSxFRJCgBy3MGSd8QenCB3Y2B87q+0SF/8i12v7TXvjok2o5eI+b0NED73U5+G7kXEBU+HGl6U/EXJvFKIQcDnQryBWsoTyzAcmD/2yV4+PZlXc3egHJ6f0ksAM307V+b9Mg+SqpWJC8MIy/48sxhBxtxuRb+HD6rnXSBgWj2TT7ma8DTUCBIeNHiyHXu6VhLxKJJqgJIYSoKSANvROo7p87z7Jco7a3bzZeDQBYqUT6Rob/IQAAAABJRU5ErkJggg==' height='16.0'/>
|
||||
<text x='22.0' y='16.0' font-size='12' fill='rgb(105, 105, 105)'></text>
|
||||
<text text-anchor='start' x='24.0' y='16.0' font-size='13' font-style='normal' fill='rgb(0, 0, 0)'>write(): void</text>
|
||||
</g>
|
||||
<g transform='translate(0.0,250.0)' id='_OQWWkbgcEDm32IpGZr-LtA'>
|
||||
<image x='4.0' width='16.0' y='5.0' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAG8dAAB6pAAA9NYAAIZwAAB37gAA9bAAADqjAAAVsi1zQqwAAAMAUExURQAAAP///8HBw6Ky1rfD3Ymh0au73Ku62aq72bPB27fD2b7J3Yahzomk0Z2z2Ki72bPD3L7J23eXyIajz7TE27PD2rTD2maPxbvK38PP32OMwIamz7PE2LXE10V/vkh/v0d/vEiAvUh+vFGEu1OEvGaEpqC40kaBvUWAukd/ukmBvGGQvmSGqWOEpZ+61QA9cwA7cQI7cAM8czZ0rT16sEF9s0J9tUSBuE6GuVGFt2OGpmSHp2OEo2WGpWSFpAA8cAA9cAA7bwA8bgA9bgA7bQI8bgI8bD18slCGtWKFo2OGpGSHpQA9bAA7aLONIu/Aaf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOIeGg8AAABRdFJOU///////////////////////////////////////////////////////////////////////////////////////////////////////////AGjsqMEAAADRSURBVHjaVI9BSwJRGEXP93z0dGgGUlyEhIUigZsC/4C4HvC3zsZ1OzHQctGkYFEtxIKacTTHgp6LHKi7uXDgwL3S5X/Ub90vx3/A/JFK2CS+3YNJ+Tl+sU8fg9oQkC7rkTLJVr6OTMOD3DkHpcnnWc2J5MIFFDfLu3yrmKSdVT8KQVMdmI23GLenP6srpmjeWqGbHFtj8CXwRdOguXg4Peztd2iI0rT6WscH62M1GFV0v98RK1hBQSF2HO+aAAIINHACs8zIzl0iiCCSATKD3QDRJUatWRzdjwAAAABJRU5ErkJggg==' height='16.0'/>
|
||||
<text x='22.0' y='16.0' font-size='12' fill='rgb(105, 105, 105)'></text>
|
||||
<text text-anchor='start' x='24.0' y='16.0' font-size='13' font-style='normal' fill='rgb(0, 0, 0)'>write(Integer, Integer, Integer, Boolean, Boolean, String, String, String): void</text>
|
||||
</g>
|
||||
<g transform='translate(0.0,270.0)' id='_on88dLgcEDm32IpGZr-LtA'>
|
||||
<image x='4.0' width='16.0' y='5.0' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAG8dAAB6pAAA9NYAAIZwAAB37gAA9bAAADqjAAAVsi1zQqwAAAMAUExURQAAAP///8HBw6Ky1rfD3Ymh0au73Ku62Yag0aq72bPB27fD2b7J3YWh0Ieiz4ahzomk0Z2z2Ki72bPD3L7J23eXyIajz7TE27PD2rTD2maPxbvK38PP32OMwGSMvYamz7PE2LXE10V/vkh/v0d/vEiAvUh+vFGEu1OEvGaEpqC40kaBvUWAukd/ukmBvGGQvmSGqWOEpZ+61QA9cwA8cgA7cQI7cAM8czZ0rT16sEF9s0J9tUSBuE6GuVGFt2OGpmSHp2OEo2WGpWSFpAA8cAA9cAA7bwA8bgA9bgA7bQI8bgI8bD18slCGtWKFo2OGpGSHpQA9bAA7aDR3rAWBSUOcbHGxdf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADH1d5AAAABYdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wB4m8IIAAAA2UlEQVR42lSPzUoCURhAz/0cUrhjTYzuIu0PicZFy57ABxjQdxR8iQQJYmrTDYJZNEZQC2fGHPIndVyUkGdz4OyO6rCL/Mqkj//Ce8iR8Uge/sJzNUqG+etocH4PqA6TQEpfUzWvlBoOFDyKrsnOLnQi1weAEKRG37iTWWs8iJ9AqN9Ns/0sqL3oVf8YCl7UGO05lbKTDRer0FxZXNL8CE/tNMaHHgLx9+zkU9++gUDXgqK45Z8YH8DHAh3Z9tIGAWFtATUID2GNykFtb7vgq7y3vYV2G3JgMwDzTEnCPC8r9AAAAABJRU5ErkJggg==' height='16.0'/>
|
||||
<text x='22.0' y='16.0' font-size='12' fill='rgb(105, 105, 105)'></text>
|
||||
<text text-anchor='start' x='24.0' y='16.0' font-size='13' font-style='normal' fill='rgb(0, 0, 0)'>getResolution(): String</text>
|
||||
</g>
|
||||
<g transform='translate(0.0,290.0)' id='_ornUdbgcEDm32IpGZr-LtA'>
|
||||
<image x='4.0' width='16.0' y='5.0' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAG8dAAB6pAAA9NYAAIZwAAB37gAA9bAAADqjAAAVsi1zQqwAAAMAUExURQAAAP///8HBw6Ky1rfD3Ymh0au73Ku62Yag0aq72bPB27fD2b7J3YWh0Ieiz4ahzomk0Z2z2Ki72bPD3L7J23eXyIajz7TE27PD2rTD2maPxbvK38PP32OMwGSMvYamz7PE2LXE10V/vkh/v0d/vEiAvUh+vFGEu1OEvGaEpqC40kaBvUWAukd/ukmBvGGQvmSGqWOEpZ+61QA9cwA8cgA7cQI7cAM8czZ0rT16sEF9s0J9tUSBuE6GuVGFt2OGpmSHp2OEo2WGpWSFpAA8cAA9cAA7bwA8bgA9bgA7bQI8bgI8bD18slCGtWKFo2OGpGSHpQA9bAA7aDR3rAWBSUOcbHGxdf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADH1d5AAAABYdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wB4m8IIAAAA2UlEQVR42lSPzUoCURhAz/0cUrhjTYzuIu0PicZFy57ABxjQdxR8iQQJYmrTDYJZNEZQC2fGHPIndVyUkGdz4OyO6rCL/Mqkj//Ce8iR8Uge/sJzNUqG+etocH4PqA6TQEpfUzWvlBoOFDyKrsnOLnQi1weAEKRG37iTWWs8iJ9AqN9Ns/0sqL3oVf8YCl7UGO05lbKTDRer0FxZXNL8CE/tNMaHHgLx9+zkU9++gUDXgqK45Z8YH8DHAh3Z9tIGAWFtATUID2GNykFtb7vgq7y3vYV2G3JgMwDzTEnCPC8r9AAAAABJRU5ErkJggg==' height='16.0'/>
|
||||
<text x='22.0' y='16.0' font-size='12' fill='rgb(105, 105, 105)'></text>
|
||||
<text text-anchor='start' x='24.0' y='16.0' font-size='13' font-style='normal' fill='rgb(0, 0, 0)'>getFullscreen(): Boolean</text>
|
||||
</g>
|
||||
<g transform='translate(0.0,310.0)' id='_owTAIrgcEDm32IpGZr-LtA'>
|
||||
<image x='4.0' width='16.0' y='5.0' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAG8dAAB6pAAA9NYAAIZwAAB37gAA9bAAADqjAAAVsi1zQqwAAAMAUExURQAAAP///8HBw6Ky1rfD3Ymh0au73Ku62Yag0aq72bPB27fD2b7J3YWh0Ieiz4ahzomk0Z2z2Ki72bPD3L7J23eXyIajz7TE27PD2rTD2maPxbvK38PP32OMwGSMvYamz7PE2LXE10V/vkh/v0d/vEiAvUh+vFGEu1OEvGaEpqC40kaBvUWAukd/ukmBvGGQvmSGqWOEpZ+61QA9cwA8cgA7cQI7cAM8czZ0rT16sEF9s0J9tUSBuE6GuVGFt2OGpmSHp2OEo2WGpWSFpAA8cAA9cAA7bwA8bgA9bgA7bQI8bgI8bD18slCGtWKFo2OGpGSHpQA9bAA7aDR3rAWBSUOcbHGxdf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADH1d5AAAABYdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wB4m8IIAAAA2UlEQVR42lSPzUoCURhAz/0cUrhjTYzuIu0PicZFy57ABxjQdxR8iQQJYmrTDYJZNEZQC2fGHPIndVyUkGdz4OyO6rCL/Mqkj//Ce8iR8Uge/sJzNUqG+etocH4PqA6TQEpfUzWvlBoOFDyKrsnOLnQi1weAEKRG37iTWWs8iJ9AqN9Ns/0sqL3oVf8YCl7UGO05lbKTDRer0FxZXNL8CE/tNMaHHgLx9+zkU9++gUDXgqK45Z8YH8DHAh3Z9tIGAWFtATUID2GNykFtb7vgq7y3vYV2G3JgMwDzTEnCPC8r9AAAAABJRU5ErkJggg==' height='16.0'/>
|
||||
<text x='22.0' y='16.0' font-size='12' fill='rgb(105, 105, 105)'></text>
|
||||
<text text-anchor='start' x='24.0' y='16.0' font-size='13' font-style='normal' fill='rgb(0, 0, 0)'>getHitboxes(): Boolean</text>
|
||||
</g>
|
||||
<g transform='translate(0.0,330.0)' id='_o2Na4LgcEDm32IpGZr-LtA'>
|
||||
<image x='4.0' width='16.0' y='5.0' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAG8dAAB6pAAA9NYAAIZwAAB37gAA9bAAADqjAAAVsi1zQqwAAAMAUExURQAAAP///8HBw6Ky1rfD3Ymh0au73Ku62Yag0aq72bPB27fD2b7J3YWh0Ieiz4ahzomk0Z2z2Ki72bPD3L7J23eXyIajz7TE27PD2rTD2maPxbvK38PP32OMwGSMvYamz7PE2LXE10V/vkh/v0d/vEiAvUh+vFGEu1OEvGaEpqC40kaBvUWAukd/ukmBvGGQvmSGqWOEpZ+61QA9cwA8cgA7cQI7cAM8czZ0rT16sEF9s0J9tUSBuE6GuVGFt2OGpmSHp2OEo2WGpWSFpAA8cAA9cAA7bwA8bgA9bgA7bQI8bgI8bD18slCGtWKFo2OGpGSHpQA9bAA7aDR3rAWBSUOcbHGxdf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADH1d5AAAABYdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wB4m8IIAAAA2UlEQVR42lSPzUoCURhAz/0cUrhjTYzuIu0PicZFy57ABxjQdxR8iQQJYmrTDYJZNEZQC2fGHPIndVyUkGdz4OyO6rCL/Mqkj//Ce8iR8Uge/sJzNUqG+etocH4PqA6TQEpfUzWvlBoOFDyKrsnOLnQi1weAEKRG37iTWWs8iJ9AqN9Ns/0sqL3oVf8YCl7UGO05lbKTDRer0FxZXNL8CE/tNMaHHgLx9+zkU9++gUDXgqK45Z8YH8DHAh3Z9tIGAWFtATUID2GNykFtb7vgq7y3vYV2G3JgMwDzTEnCPC8r9AAAAABJRU5ErkJggg==' height='16.0'/>
|
||||
<text x='22.0' y='16.0' font-size='12' fill='rgb(105, 105, 105)'></text>
|
||||
<text text-anchor='start' x='24.0' y='16.0' font-size='13' font-style='normal' fill='rgb(0, 0, 0)'>getRounds(): String</text>
|
||||
</g>
|
||||
<g transform='translate(0.0,350.0)' id='_o5Qu4bgcEDm32IpGZr-LtA'>
|
||||
<image x='4.0' width='16.0' y='5.0' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAG8dAAB6pAAA9NYAAIZwAAB37gAA9bAAADqjAAAVsi1zQqwAAAMAUExURQAAAP///8HBw6Ky1rfD3Ymh0au73Ku62Yag0aq72bPB27fD2b7J3YWh0Ieiz4ahzomk0Z2z2Ki72bPD3L7J23eXyIajz7TE27PD2rTD2maPxbvK38PP32OMwGSMvYamz7PE2LXE10V/vkh/v0d/vEiAvUh+vFGEu1OEvGaEpqC40kaBvUWAukd/ukmBvGGQvmSGqWOEpZ+61QA9cwA8cgA7cQI7cAM8czZ0rT16sEF9s0J9tUSBuE6GuVGFt2OGpmSHp2OEo2WGpWSFpAA8cAA9cAA7bwA8bgA9bgA7bQI8bgI8bD18slCGtWKFo2OGpGSHpQA9bAA7aDR3rAWBSUOcbHGxdf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADH1d5AAAABYdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wB4m8IIAAAA2UlEQVR42lSPzUoCURhAz/0cUrhjTYzuIu0PicZFy57ABxjQdxR8iQQJYmrTDYJZNEZQC2fGHPIndVyUkGdz4OyO6rCL/Mqkj//Ce8iR8Uge/sJzNUqG+etocH4PqA6TQEpfUzWvlBoOFDyKrsnOLnQi1weAEKRG37iTWWs8iJ9AqN9Ns/0sqL3oVf8YCl7UGO05lbKTDRer0FxZXNL8CE/tNMaHHgLx9+zkU9++gUDXgqK45Z8YH8DHAh3Z9tIGAWFtATUID2GNykFtb7vgq7y3vYV2G3JgMwDzTEnCPC8r9AAAAABJRU5ErkJggg==' height='16.0'/>
|
||||
<text x='22.0' y='16.0' font-size='12' fill='rgb(105, 105, 105)'></text>
|
||||
<text text-anchor='start' x='24.0' y='16.0' font-size='13' font-style='normal' fill='rgb(0, 0, 0)'>getChar1(): String</text>
|
||||
</g>
|
||||
<g transform='translate(0.0,370.0)' id='_o73-AbgcEDm32IpGZr-LtA'>
|
||||
<image x='4.0' width='16.0' y='5.0' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAG8dAAB6pAAA9NYAAIZwAAB37gAA9bAAADqjAAAVsi1zQqwAAAMAUExURQAAAP///8HBw6Ky1rfD3Ymh0au73Ku62Yag0aq72bPB27fD2b7J3YWh0Ieiz4ahzomk0Z2z2Ki72bPD3L7J23eXyIajz7TE27PD2rTD2maPxbvK38PP32OMwGSMvYamz7PE2LXE10V/vkh/v0d/vEiAvUh+vFGEu1OEvGaEpqC40kaBvUWAukd/ukmBvGGQvmSGqWOEpZ+61QA9cwA8cgA7cQI7cAM8czZ0rT16sEF9s0J9tUSBuE6GuVGFt2OGpmSHp2OEo2WGpWSFpAA8cAA9cAA7bwA8bgA9bgA7bQI8bgI8bD18slCGtWKFo2OGpGSHpQA9bAA7aDR3rAWBSUOcbHGxdf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADH1d5AAAABYdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wB4m8IIAAAA2UlEQVR42lSPzUoCURhAz/0cUrhjTYzuIu0PicZFy57ABxjQdxR8iQQJYmrTDYJZNEZQC2fGHPIndVyUkGdz4OyO6rCL/Mqkj//Ce8iR8Uge/sJzNUqG+etocH4PqA6TQEpfUzWvlBoOFDyKrsnOLnQi1weAEKRG37iTWWs8iJ9AqN9Ns/0sqL3oVf8YCl7UGO05lbKTDRer0FxZXNL8CE/tNMaHHgLx9+zkU9++gUDXgqK45Z8YH8DHAh3Z9tIGAWFtATUID2GNykFtb7vgq7y3vYV2G3JgMwDzTEnCPC8r9AAAAABJRU5ErkJggg==' height='16.0'/>
|
||||
<text x='22.0' y='16.0' font-size='12' fill='rgb(105, 105, 105)'></text>
|
||||
<text text-anchor='start' x='24.0' y='16.0' font-size='13' font-style='normal' fill='rgb(0, 0, 0)'>getChar2(): String</text>
|
||||
</g>
|
||||
</g>
|
||||
<text text-anchor='middle' x='474.0' y='550.0' fill='rgb(0, 0, 0)'>+settings</text>
|
||||
<text text-anchor='middle' x='488.0' y='580.0' fill='rgb(0, 0, 0)'>1</text>
|
||||
<g transform='translate(397.0,575.0)' id='_9LlqgLgaEDm32IpGZr-LtA'/>
|
||||
<g transform='translate(62.0,36.0)' id='_-ZadorgcEDm32IpGZr-LtA'>
|
||||
<rect x='0.0' width='82.0px' y='0.0' stroke-width='1.0' fill='url(#0c84d8fe-2609-49d4-98d5-e654c986184d)' stroke='rgb(194, 183, 159)' look='allInOne' height='24.0px'/>
|
||||
<rect x='0.0' width='160.0px' y='24.0' stroke-width='1.0' fill='url(#0c84d8fe-2609-49d4-98d5-e654c986184d)' stroke='rgb(194, 183, 159)' look='allInOne' height='136.0px'/>
|
||||
<text font-weight='bold' text-anchor='middle' x='41.0' y='18.0' font-size='13' fill='rgb(128, 98, 33)'>application</text>
|
||||
</g>
|
||||
<g transform='translate(265.0,41.0)' id='_DZMKUbgdEDm32IpGZr-LtA'>
|
||||
<rect x='0.0' width='25.0px' y='0.0' stroke-width='1.0' fill='url(#336857b3-5a78-482b-8a61-0a5eab3024c9)' stroke='rgb(194, 183, 159)' look='allInOne' height='24.0px'/>
|
||||
<rect x='0.0' width='830.0px' y='24.0' stroke-width='1.0' fill='url(#336857b3-5a78-482b-8a61-0a5eab3024c9)' stroke='rgb(194, 183, 159)' look='allInOne' height='126.0px'/>
|
||||
<text font-weight='bold' text-anchor='middle' x='12.5' y='18.0' font-size='13' fill='rgb(128, 98, 33)'>*</text>
|
||||
</g>
|
||||
<g transform='translate(96.0,97.0)' id='_YOEO0LgaEDm32IpGZr-LtA'>
|
||||
<rect rx='3.0' ry='3.0' x='0.0' width='93.0px' y='0.0' stroke-width='1.0' fill='url(#bba14698-32fa-4b4a-bfce-000a72f8f558)' stroke='rgb(187, 187, 187)' look='allInOne' height='80.0px'/>
|
||||
<text font-weight='bold' text-anchor='middle' x='46.5' y='19.0' font-size='13' font-style='normal' fill='rgb(3, 54, 86)'>Application</text>
|
||||
<line y1='26.0' x1='0.0' y2='26.0' x2='93.0' stroke-width='1.0' stroke='rgb(187, 187, 187)' look='border'/>
|
||||
<g transform='translate(0.0,26.0)' id='_EKwcErgbEDm32IpGZr-LtA'>
|
||||
<image x='4.0' width='16.0' y='5.0' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAG8dAAB6pAAA9NYAAIZwAAB37gAA9bAAADqjAAAVsi1zQqwAAAMAUExURQAAAP///8HBw6Ky1rfD3Ymh0au73Ku62Yag0aq72bPB27fD2b7J3YWh0Ieiz4ahzomk0Z2z2Ki72bPD3L7J23eXyIajz7TE27PD2rTD2maPxbvK38PP32OMwGSMvYamz7PE2LXE10V/vkh/v0d/vEiAvUh+vFGEu1OEvGaEpqC40kaBvUWAukd/ukmBvGGQvmSGqWOEpZ+61QA9cwA8cgA7cQI7cAM8czZ0rT16sEF9s0J9tUSBuE6GuVGFt2OGpmSHp2OEo2WGpWSFpAA8cAA9cAA7bwA8bgA9bgA7bQI8bgI8bD18slCGtWKFo2OGpGSHpQA9bAA7aDR3rAWBSUOcbHGxdf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADH1d5AAAABYdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wB4m8IIAAAA2UlEQVR42lSPzUoCURhAz/0cUrhjTYzuIu0PicZFy57ABxjQdxR8iQQJYmrTDYJZNEZQC2fGHPIndVyUkGdz4OyO6rCL/Mqkj//Ce8iR8Uge/sJzNUqG+etocH4PqA6TQEpfUzWvlBoOFDyKrsnOLnQi1weAEKRG37iTWWs8iJ9AqN9Ns/0sqL3oVf8YCl7UGO05lbKTDRer0FxZXNL8CE/tNMaHHgLx9+zkU9++gUDXgqK45Z8YH8DHAh3Z9tIGAWFtATUID2GNykFtb7vgq7y3vYV2G3JgMwDzTEnCPC8r9AAAAABJRU5ErkJggg==' height='16.0'/>
|
||||
<text x='22.0' y='16.0' font-size='12' fill='rgb(105, 105, 105)'></text>
|
||||
<text text-anchor='start' x='24.0' y='16.0' font-size='13' font-style='normal' fill='rgb(0, 0, 0)'>start(): void</text>
|
||||
</g>
|
||||
</g>
|
||||
<g id='_cBCKIbgaEDm32IpGZr-LtA'>
|
||||
<line y1='409.0' x1='145.0' y2='293.0' x2='145.0' id='_cBD_ULgaEDm32IpGZr-LtA' stroke-width='1.0' fill='none' stroke='rgb(0, 0, 0)'/>
|
||||
</g>
|
||||
<g id='_cBCKIbgaEDm32IpGZr-LtA'>
|
||||
<line y1='293.0' x1='145.0' y2='293.0' x2='145.0' id='_cBD_U7gaEDm32IpGZr-LtA' stroke-width='1.0' fill='none' stroke='rgb(0, 0, 0)'/>
|
||||
</g>
|
||||
<g id='_cBCKIbgaEDm32IpGZr-LtA'>
|
||||
<line y1='293.0' x1='145.0' y2='177.0' x2='145.0' id='_cBD_VLgaEDm32IpGZr-LtA' stroke-width='1.0' fill='none' stroke='rgb(0, 0, 0)'/>
|
||||
<polygon transform='translate(145.0,177.0) rotate(-0.0)' stroke-width='1.0' fill='rgb(255, 255, 255)' stroke='rgb(0, 0, 0)' points='-6.0,10.0 0.0,0.0 6.0,10.0'/>
|
||||
</g>
|
||||
<g id='_9LdHorgaEDm32IpGZr-LtA'>
|
||||
<line y1='560.0' x1='387.0' y2='560.0' x2='447.0' id='_9LeVwrgaEDm32IpGZr-LtA' stroke-width='1.0' fill='none' stroke='rgb(0, 0, 0)'/>
|
||||
</g>
|
||||
<g id='_9LdHorgaEDm32IpGZr-LtA'>
|
||||
<line y1='560.0' x1='447.0' y2='560.0' x2='448.0' id='_9LeVxbgaEDm32IpGZr-LtA' stroke-width='1.0' fill='none' stroke='rgb(0, 0, 0)'/>
|
||||
</g>
|
||||
<g id='_9LdHorgaEDm32IpGZr-LtA'>
|
||||
<line y1='560.0' x1='448.0' y2='560.0' x2='508.0' id='_9LeVxrgaEDm32IpGZr-LtA' stroke-width='1.0' fill='none' stroke='rgb(0, 0, 0)'/>
|
||||
<polyline transform='translate(508.0,560.0) rotate(90.0)' stroke-width='1.0' fill='none' stroke='rgb(0, 0, 0)' points='-5.0,10.0 0.0,0.0 5.0,10.0'/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 68 KiB |
BIN
docs/launcher/launcher_screenshot.png
Normal file
BIN
docs/launcher/launcher_screenshot.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
4
pom.xml
4
pom.xml
@ -5,8 +5,8 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<groupId>jeu-de-combat</groupId>
|
||||
<artifactId>jeu-de-combat</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<artifactId>boulevard-combattant</artifactId>
|
||||
<version>1.0</version>
|
||||
<name>Boulevard Combattant</name>
|
||||
<description>Jeu de combat inspiré de Street Fighter 3: Third Strike.
|
||||
Projet de fin d'année de L3.
|
||||
|
BIN
release/boulevard-combattant-1.0-windows.jar
Normal file
BIN
release/boulevard-combattant-1.0-windows.jar
Normal file
Binary file not shown.
@ -29,6 +29,10 @@ public class KeyboardInput extends GLFWKeyCallback {
|
||||
match.showP1Hitbox = !match.showP1Hitbox;
|
||||
match.showP2Hitbox = !match.showP2Hitbox;
|
||||
}
|
||||
else if(key == GLFW_KEY_D && action == GLFW_PRESS)
|
||||
match.debugToggle();
|
||||
else if(key == GLFW_KEY_I && action == GLFW_PRESS)
|
||||
match.inputP1Toggle();
|
||||
}
|
||||
|
||||
public static boolean isKeyDown(int keyCode) {
|
||||
|
@ -135,7 +135,7 @@ public class BlueBaseFrames {
|
||||
private static Frame generateNeutralJumpFrame1(){
|
||||
//movement data
|
||||
double moveX = 0.0;
|
||||
double moveY = 18.0;
|
||||
double moveY = 36.0;
|
||||
|
||||
//cancelData
|
||||
boolean normalC = true;
|
||||
@ -173,7 +173,7 @@ public class BlueBaseFrames {
|
||||
private static Frame generateNeutralJumpFrame2(){
|
||||
//movement data
|
||||
double moveX = 0.0;
|
||||
double moveY = -18.0;
|
||||
double moveY = -36.0;
|
||||
|
||||
//cancelData
|
||||
boolean normalC = true;
|
||||
@ -221,8 +221,8 @@ public class BlueBaseFrames {
|
||||
|
||||
private static Frame GenerateForwardJumpFrame1(){
|
||||
//movement data
|
||||
double moveX = 10.0;
|
||||
double moveY = 18.0;
|
||||
double moveX = 20.0;
|
||||
double moveY = 36.0;
|
||||
|
||||
//cancelData
|
||||
boolean normalC = true;
|
||||
@ -259,8 +259,8 @@ public class BlueBaseFrames {
|
||||
|
||||
private static Frame GenerateForwardJumpFrame2(){
|
||||
//movement data
|
||||
double moveX = 10.0;
|
||||
double moveY = 9.0;
|
||||
double moveX = 20.0;
|
||||
double moveY = 18.0;
|
||||
|
||||
//cancelData
|
||||
boolean normalC = true;
|
||||
@ -297,8 +297,8 @@ public class BlueBaseFrames {
|
||||
|
||||
private static Frame GenerateForwardJumpFrame3(){
|
||||
//movement data
|
||||
double moveX = 10.0;
|
||||
double moveY = -9.0;
|
||||
double moveX = 20.0;
|
||||
double moveY = -18.0;
|
||||
|
||||
//cancelData
|
||||
boolean normalC = true;
|
||||
@ -335,8 +335,8 @@ public class BlueBaseFrames {
|
||||
|
||||
private static Frame GenerateForwardJumpFrame4(){
|
||||
//movement data
|
||||
double moveX = 10.0;
|
||||
double moveY = -18.0;
|
||||
double moveX = 20.0;
|
||||
double moveY = -36.0;
|
||||
|
||||
//cancelData
|
||||
boolean normalC = true;
|
||||
@ -390,8 +390,8 @@ public class BlueBaseFrames {
|
||||
|
||||
private static Frame BackJumpFrame1(){
|
||||
//movement data
|
||||
double moveX = -10.0;
|
||||
double moveY = 18.0;
|
||||
double moveX = -20.0;
|
||||
double moveY = 36.0;
|
||||
|
||||
//cancelData
|
||||
boolean normalC = true;
|
||||
@ -428,8 +428,8 @@ public class BlueBaseFrames {
|
||||
|
||||
private static Frame BackJumpFrame2(){
|
||||
//movement data
|
||||
double moveX = -10.0;
|
||||
double moveY = 9.0;
|
||||
double moveX = -20.0;
|
||||
double moveY = 18.0;
|
||||
|
||||
//cancelData
|
||||
boolean normalC = true;
|
||||
@ -466,8 +466,8 @@ public class BlueBaseFrames {
|
||||
|
||||
private static Frame BackJumpFrame3(){
|
||||
//movement data
|
||||
double moveX = -10.0;
|
||||
double moveY = -9.0;
|
||||
double moveX = -20.0;
|
||||
double moveY = -18.0;
|
||||
|
||||
//cancelData
|
||||
boolean normalC = true;
|
||||
@ -504,8 +504,8 @@ public class BlueBaseFrames {
|
||||
|
||||
private static Frame BackJumpFrame4(){
|
||||
//movement data
|
||||
double moveX = -10.0;
|
||||
double moveY = -18.0;
|
||||
double moveX = -20.0;
|
||||
double moveY = -36.0;
|
||||
|
||||
//cancelData
|
||||
boolean normalC = true;
|
||||
|
@ -66,7 +66,7 @@ public class BlueMisc {
|
||||
/*
|
||||
frame creation
|
||||
*/
|
||||
Frame f = new Frame(0.0,12.0,phb,ahb,pthb,athb,pushB,
|
||||
Frame f = new Frame(0.0,25.0,phb,ahb,pthb,athb,pushB,
|
||||
//cancels (in order : normal, special, jump, move, dash)
|
||||
false,false,false,false,false);
|
||||
f.setSpriteWrap(14*138,139,138,138);
|
||||
@ -97,7 +97,7 @@ public class BlueMisc {
|
||||
/*
|
||||
frame creation
|
||||
*/
|
||||
Frame f = new Frame(0.0,6.0,phb,ahb,pthb,athb,pushB,
|
||||
Frame f = new Frame(0.0,15.0,phb,ahb,pthb,athb,pushB,
|
||||
//cancels (in order : normal, special, jump, move, dash)
|
||||
false,false,true,false,false);
|
||||
f.setSpriteWrap(14*138,139,138,138);
|
||||
@ -200,7 +200,7 @@ public class BlueMisc {
|
||||
/*
|
||||
frame creation
|
||||
*/
|
||||
Frame f = new Frame(0.0,-12.0,phb,ahb,pthb,athb,pushB,
|
||||
Frame f = new Frame(0.0,-25.0,phb,ahb,pthb,athb,pushB,
|
||||
//cancels (in order : normal, special, jump, move, dash)
|
||||
false,false,false,false,false);
|
||||
f.setSpriteWrap(14*138,139,138,138);
|
||||
@ -231,7 +231,7 @@ public class BlueMisc {
|
||||
/*
|
||||
frame creation
|
||||
*/
|
||||
Frame f = new Frame(0.0,-6.0,phb,ahb,pthb,athb,pushB,
|
||||
Frame f = new Frame(0.0,-15.0,phb,ahb,pthb,athb,pushB,
|
||||
//cancels (in order : normal, special, jump, move, dash)
|
||||
false,false,false,false,false);
|
||||
f.setSpriteWrap(14*138,139,138,138);
|
||||
|
@ -7,9 +7,9 @@ public class InputBuffer {
|
||||
/**
|
||||
* The number of past frames to check for a certain input pas another one.
|
||||
* For example, if you need to input DOWN, then FORWARD, and we know FORWARD has been input on frame 25,
|
||||
* this indicates that you need to check for DOWN on frames 20 to 24
|
||||
* this indicates that you need to check for DOWN on frames 20 to 24 if pastframestocheck is at 5
|
||||
*/
|
||||
private static final int pastFramesToCheck = 5;
|
||||
private static final int pastFramesToCheck = 8;
|
||||
|
||||
/**
|
||||
* a list of various inputs being recorded, such as inputs pressed at each frame
|
||||
|
@ -45,12 +45,12 @@ public class match {
|
||||
/**
|
||||
* the number of inputs read for each character, a.k.a. for how many frames the inputs are saved in memory.
|
||||
*/
|
||||
private static final int inputBufferSize = 120;
|
||||
private final static int inputBufferSize = 120;
|
||||
|
||||
/**
|
||||
* the level of the "ground", used to determine if a character is in the air or not.
|
||||
*/
|
||||
private static final int groundLevel = 180;
|
||||
private final static int groundLevel = 180;
|
||||
|
||||
private static int timer;
|
||||
private static InputBuffer inputsP1, inputsP2;
|
||||
@ -76,6 +76,7 @@ public class match {
|
||||
private static HorizontalProgressBar healthBarP2Obj;
|
||||
private static UIElementText timerUI;
|
||||
private static UIElementText fpsCounter;
|
||||
private static boolean showInputListP1 = false;
|
||||
private static UIInputList inputListP1;
|
||||
private static UIElementText matchWon;
|
||||
|
||||
@ -84,6 +85,7 @@ public class match {
|
||||
private static int rightBoundary;
|
||||
|
||||
// Debug
|
||||
public static boolean debugMode = false;
|
||||
public static boolean showP1Hitbox;
|
||||
public static boolean showP2Hitbox;
|
||||
private static List<Hitbox> listHitboxObj = new ArrayList<>();
|
||||
@ -121,9 +123,11 @@ public class match {
|
||||
objP1.getShadow().translate(new Vector3f(0f,p1.getPosY(),0));
|
||||
objP2.getShadow().translate(new Vector3f(0f,p2.getPosY(),0));
|
||||
// Crée l'InputList
|
||||
inputListP1 = new UIInputList(inputsP1, 10f, 0f, 0.85f, 110f, engine);
|
||||
engine.add_uiElement(inputListP1);
|
||||
inputListP1.init();
|
||||
if (showInputListP1){
|
||||
inputListP1 = new UIInputList(inputsP1, 10f, 0f, 0.85f, 110f, engine);
|
||||
engine.add_uiElement(inputListP1);
|
||||
inputListP1.init();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -132,7 +136,7 @@ public class match {
|
||||
*/
|
||||
private static void endRound() {
|
||||
roundCounter++;
|
||||
String victoryTxt = roundP1 ? "Player1 won the round"+roundCounter : "Player2 won the round"+roundCounter;
|
||||
String victoryTxt = roundP1 ? "Player1 won the round "+roundCounter : "Player2 won the round "+roundCounter;
|
||||
|
||||
System.out.println(victoryTxt);
|
||||
matchWon = new UIElementText(victoryTxt, 5f, 0.25f, 0.5f, 200f, engine);
|
||||
@ -146,6 +150,9 @@ public class match {
|
||||
}
|
||||
|
||||
engine.remove_uiElement(matchWon);
|
||||
if(inputListP1 != null){
|
||||
engine.remove_uiElement(inputListP1);
|
||||
}
|
||||
|
||||
//replacement des sprites
|
||||
objP1.translate(new Vector3f(-p1.getPosX(), -p1.getPosY()));
|
||||
@ -153,6 +160,8 @@ public class match {
|
||||
objP1.getShadow().translate(new Vector3f(0f,-p1.getPosY(),0));
|
||||
objP2.getShadow().translate(new Vector3f(0f,-p2.getPosY(),0));
|
||||
|
||||
acCode = 0;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -162,7 +171,7 @@ public class match {
|
||||
private static void endMatch() {
|
||||
String victoryTxt = roundsWonP1 > roundsWonP2 ? "P1 won the match" : "P2 won the match";
|
||||
|
||||
matchWon = new UIElementText(victoryTxt, 5f, 0.25f, 0.5f, 200f, engine);
|
||||
matchWon = new UIElementText(victoryTxt, 5f, 0.3f, 0.5f, 200f, engine);
|
||||
matchWon.setShader("/shaders/StylishShaders/WavyTextVert.glsl", "/shaders/StylishShaders/TextFrag.glsl", true, true);
|
||||
engine.add_uiElement(matchWon);
|
||||
|
||||
@ -199,6 +208,19 @@ public class match {
|
||||
}
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
|
||||
timer = 0;
|
||||
timeStamp1 = 0;
|
||||
timeStamp2 = 0;
|
||||
frameCount = 0;
|
||||
oldPosXp1 = 0;
|
||||
oldPosXp2 = 0;
|
||||
oldPosYp1 = 0;
|
||||
acCode = 0;
|
||||
roundCounter = 0;
|
||||
roundsWonP1 = 0;
|
||||
roundsWonP2 = 0;
|
||||
|
||||
parse();
|
||||
engine = new Engine(width, height, fullscreen, new Vector3f(4.0f, 3.0f));
|
||||
engine.init();
|
||||
@ -277,12 +299,6 @@ public class match {
|
||||
/*
|
||||
GUI Setup
|
||||
*/
|
||||
coordP1 = new UIElementText("objP1: " + objP1.getXPos() + ":" + objP1.getYPos() + " P1: " + p1.getPosX() +":" + p1.getPosY(), 5f, 0f, 0.15f, 70f, engine);
|
||||
coordP1.setBackground(new Vector3f(0f,0f,0f));
|
||||
engine.add_uiElement(coordP1);
|
||||
coordP2 = new UIElementText("objP2: " + objP2.getXPos() + ":" + objP2.getYPos() + " P1: " + p2.getPosX() +":" + p2.getPosY(), 5f, 0f, 0.1f, 70f, engine);
|
||||
coordP2.setBackground(new Vector3f(0f,0f,0f));
|
||||
engine.add_uiElement(coordP2);
|
||||
// Barre de vie
|
||||
healthBarP1Obj = new HorizontalProgressBar(80f, 8.5f, 0.4f, 100f, p1.getCurrentHP(), p1.getMaxHP(), false);
|
||||
healthBarP1Obj.setShader("/shaders/StylishShaders/BasicNoTexVert.glsl", "/shaders/StylishShaders/HorizontalProgressBarGradientSquareFrag.glsl");
|
||||
@ -309,17 +325,18 @@ public class match {
|
||||
// Timer
|
||||
timerUI = new UIElementText(timer + "", 10f, 0.453f, 0.995f, 85f, engine);
|
||||
engine.add_uiElement(timerUI);
|
||||
// FPS counter
|
||||
fpsCounter = new UIElementText("Boulevard Combattant", 5f, 0f, 0.04f, 100f, engine);
|
||||
fpsCounter.setBackground(new Vector3f(0f,0f,0f));
|
||||
engine.add_uiElement(fpsCounter);
|
||||
|
||||
if(debugMode){
|
||||
createDebugHUD();
|
||||
}
|
||||
|
||||
timeStampFpsCounter = System.currentTimeMillis();
|
||||
//SetTracking
|
||||
engine.setCameraTrackingSF3ThirdStrike(objP1, objP2);
|
||||
//Stage
|
||||
leftBoundary = (int) background.getXPos();
|
||||
rightBoundary = (int) (background.getXPos() + background.getWidth() * background.getScalingFactor());
|
||||
|
||||
|
||||
while(frameCount < 5940 && engine.getRunning()) {
|
||||
ac(acCode);
|
||||
if(engine.shouldClose()) engine.setRunning(false);
|
||||
@ -357,8 +374,8 @@ public class match {
|
||||
|
||||
//end round
|
||||
case 11:
|
||||
if(roundsWonP1 >= (rounds/2 +1) || roundsWonP2 >= (rounds/2 +1)) { endMatch(); break;}
|
||||
endRound();
|
||||
if(roundsWonP1 >= (rounds/2 +1) || roundsWonP2 >= (rounds/2 +1)) { endMatch();} //TODO : will probably need to specify more
|
||||
acCode = 0;
|
||||
break;
|
||||
|
||||
@ -397,12 +414,16 @@ public class match {
|
||||
case 21:
|
||||
try {
|
||||
handleThrows(p1, p2);
|
||||
handleThrows(p2,p1);
|
||||
} catch (IndexOutOfBoundsException e) {}
|
||||
try {
|
||||
handleHits(p1, p2, inputsP2);
|
||||
} catch (IndexOutOfBoundsException e) {};
|
||||
try {
|
||||
handleThrows(p2,p1);
|
||||
} catch (IndexOutOfBoundsException e) {}
|
||||
try {
|
||||
handleHits(p2, p1, inputsP1);
|
||||
}catch (IndexOutOfBoundsException e) {};
|
||||
} catch (IndexOutOfBoundsException e) {};
|
||||
acCode = 22;
|
||||
break;
|
||||
|
||||
@ -481,8 +502,10 @@ public class match {
|
||||
//Waits the end of 1/60th of a second since start of frame then loops back to start
|
||||
case 23:
|
||||
// GUI update here
|
||||
coordP1.setText("objP1: " + objP1.getXPos() + ":" + objP1.getYPos() + " P1: " + p1.getPosX() +":" + p1.getPosY());
|
||||
coordP2.setText("objP2: " + objP2.getXPos() + ":" + objP2.getYPos() + " P2: " + p2.getPosX() +":" + p2.getPosY());
|
||||
if (debugMode){
|
||||
coordP1.setText("objP1: " + objP1.getXPos() + ":" + objP1.getYPos() + " P1: " + p1.getPosX() +":" + p1.getPosY());
|
||||
coordP2.setText("objP2: " + objP2.getXPos() + ":" + objP2.getYPos() + " P2: " + p2.getPosX() +":" + p2.getPosY());
|
||||
}
|
||||
healthBarP1Obj.setCurrent(p1.getCurrentHP()); healthBarP1Obj.setMax(p1.getMaxHP());
|
||||
healthBarP2Obj.setCurrent(p2.getCurrentHP()); healthBarP2Obj.setMax(p2.getMaxHP());
|
||||
timerUI.setText(timer + "");
|
||||
@ -496,7 +519,9 @@ public class match {
|
||||
|
||||
frameCounter++;
|
||||
if (System.currentTimeMillis() - timeStampFpsCounter >= 1000){
|
||||
fpsCounter.setText("FPS: " + frameCounter);
|
||||
if(debugMode){
|
||||
fpsCounter.setText("FPS: " + frameCounter);
|
||||
}
|
||||
frameCounter = 0;
|
||||
timeStampFpsCounter = System.currentTimeMillis();
|
||||
}
|
||||
@ -913,4 +938,49 @@ public class match {
|
||||
}
|
||||
}
|
||||
|
||||
public static void debugToggle(){
|
||||
if (debugMode){
|
||||
if(coordP1 != null){
|
||||
engine.remove_uiElement(coordP1);
|
||||
}
|
||||
if(coordP2 != null){
|
||||
engine.remove_uiElement(coordP2);
|
||||
}
|
||||
if(fpsCounter != null){
|
||||
engine.remove_uiElement(fpsCounter);
|
||||
}
|
||||
debugMode = false;
|
||||
} else {
|
||||
createDebugHUD();
|
||||
}
|
||||
}
|
||||
|
||||
public static void inputP1Toggle(){
|
||||
if (showInputListP1){
|
||||
if (inputListP1 != null){
|
||||
engine.remove_uiElement(inputListP1);
|
||||
}
|
||||
showInputListP1 = false;
|
||||
} else {
|
||||
inputListP1 = new UIInputList(inputsP1, 10f, 0f, 0.85f, 110f, engine);
|
||||
engine.add_uiElement(inputListP1);
|
||||
inputListP1.init();
|
||||
showInputListP1 = true;
|
||||
}
|
||||
}
|
||||
|
||||
public static void createDebugHUD(){
|
||||
coordP1 = new UIElementText("objP1: " + objP1.getXPos() + ":" + objP1.getYPos() + " P1: " + p1.getPosX() +":" + p1.getPosY(), 5f, 0f, 0.15f, 70f, engine);
|
||||
coordP1.setBackground(new Vector3f(0f,0f,0f));
|
||||
engine.add_uiElement(coordP1);
|
||||
coordP2 = new UIElementText("objP2: " + objP2.getXPos() + ":" + objP2.getYPos() + " P1: " + p2.getPosX() +":" + p2.getPosY(), 5f, 0f, 0.1f, 70f, engine);
|
||||
coordP2.setBackground(new Vector3f(0f,0f,0f));
|
||||
engine.add_uiElement(coordP2);
|
||||
// FPS counter
|
||||
fpsCounter = new UIElementText("Boulevard Combattant", 5f, 0f, 0.04f, 100f, engine);
|
||||
fpsCounter.setBackground(new Vector3f(0f,0f,0f));
|
||||
engine.add_uiElement(fpsCounter);
|
||||
debugMode = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -9,10 +9,12 @@ import javafx.scene.Scene;
|
||||
import javafx.scene.control.ChoiceBox;
|
||||
import javafx.scene.image.Image;
|
||||
import javafx.scene.image.ImageView;
|
||||
import javafx.scene.layout.HBox;
|
||||
import javafx.scene.layout.VBox;
|
||||
import javafx.scene.control.CheckBox;
|
||||
import javafx.stage.Stage;
|
||||
import javafx.stage.StageStyle;
|
||||
import javafx.stage.Window;
|
||||
import javafx.fxml.*;
|
||||
|
||||
import java.io.IOException;
|
||||
@ -141,16 +143,24 @@ public class Launcher extends Application {
|
||||
b2.setValue("Blue");
|
||||
}
|
||||
|
||||
// Hiding character select (only a single character anyways
|
||||
v1.getParent().setManaged(false);
|
||||
v1.getParent().setVisible(false);
|
||||
|
||||
/*******************/
|
||||
/* Window settings */
|
||||
/*******************/
|
||||
|
||||
// Removing window decorations
|
||||
primaryStage.initStyle(StageStyle.UNDECORATED);
|
||||
// Setting the window as unresizeable
|
||||
primaryStage.setResizable(false);
|
||||
// Setting window title
|
||||
primaryStage.setTitle("Boulevard Combattant");
|
||||
// Assinging main scene to primaryStage
|
||||
primaryStage.setScene(main);
|
||||
// Adding icon to taskbar
|
||||
primaryStage.getIcons().add(new Image(Launcher.class.getResourceAsStream("logo.png")));
|
||||
// Showing the stage to the user
|
||||
primaryStage.show();
|
||||
|
||||
@ -166,9 +176,22 @@ public class Launcher extends Application {
|
||||
try {
|
||||
fillArraySettings();
|
||||
setter.setSettings();
|
||||
match.main(null);
|
||||
hideWindow();
|
||||
Thread t = new Thread() {
|
||||
public void run() {
|
||||
try {
|
||||
match.main(null);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
};
|
||||
t.start();
|
||||
t.join();
|
||||
showWindow();
|
||||
} catch (Exception e) {
|
||||
System.out.println("Fill all boxes to launch the game");
|
||||
e.printStackTrace();
|
||||
System.exit(1);
|
||||
}
|
||||
|
||||
}
|
||||
@ -245,6 +268,28 @@ public class Launcher extends Application {
|
||||
arraysettings.put("stage", "default");
|
||||
}
|
||||
|
||||
/**
|
||||
* hides the launcher
|
||||
*/
|
||||
@FXML
|
||||
private void hideWindow() {
|
||||
HBox hb = (HBox) namespace.get("window");
|
||||
Scene sc = hb.getScene();
|
||||
Window win = sc.getWindow();
|
||||
win.hide();
|
||||
}
|
||||
|
||||
/**
|
||||
* shows the launcher
|
||||
* @throws Exception
|
||||
*/
|
||||
@FXML
|
||||
private void showWindow() throws Exception {
|
||||
setter.parse();
|
||||
Stage st = new Stage();
|
||||
start(st);
|
||||
}
|
||||
|
||||
/**
|
||||
* quits the launcher and the game
|
||||
*/
|
||||
|
@ -41,7 +41,7 @@ public class Settings {
|
||||
* @author François Autin
|
||||
* @author Indy Boyeau
|
||||
*/
|
||||
private void parse() throws Exception {
|
||||
protected void parse() throws Exception {
|
||||
|
||||
// Initializing the parser
|
||||
JSONParser jsonP = new JSONParser();
|
||||
@ -93,7 +93,7 @@ public class Settings {
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
System.exit(1);
|
||||
} catch (ParseException e) {
|
||||
} catch (Exception e) {
|
||||
rounds = 3;
|
||||
p1 = "default";
|
||||
p2 = "default";
|
||||
|
@ -18,7 +18,7 @@
|
||||
<?import javafx.scene.control.Hyperlink?>
|
||||
|
||||
<HBox xmlns:fx="http://javafx.com/fxml" stylesheets="@style.css" fx:id="window"
|
||||
prefWidth="1280" prefHeight="720"
|
||||
prefWidth="280" prefHeight="550"
|
||||
fx:controller="launcher.Launcher">
|
||||
|
||||
<children>
|
||||
@ -37,10 +37,10 @@
|
||||
<Label StyleClass="title" text="COMBATTANT"/>
|
||||
|
||||
<VBox fx:id="btn"
|
||||
prefWidth="120" prefHeight="260" spacing="5">
|
||||
prefWidth="120" prefHeight="300" spacing="5">
|
||||
<children>
|
||||
<Label text="Resolution"/>
|
||||
<ChoiceBox fx:id="resolution" styleClass="res_box"/>
|
||||
<ChoiceBox fx:id="resolution" styleClass="res_box" prefWidth="180"/>
|
||||
<HBox fx:id="fs_box" styleClass="fs_box">
|
||||
<children>
|
||||
<Label text="Fullscreen "/>
|
||||
@ -48,7 +48,7 @@
|
||||
</children>
|
||||
</HBox>
|
||||
<Label text="Rounds"/>
|
||||
<ChoiceBox fx:id="rounds" styleClass="res_box"/>
|
||||
<ChoiceBox fx:id="rounds" styleClass="res_box" prefWidth="180"/>
|
||||
<HBox fx:id="hb_box" styleClass="fs_box">
|
||||
<children>
|
||||
<Label text="Hitboxes "/>
|
||||
@ -56,17 +56,17 @@
|
||||
</children>
|
||||
</HBox>
|
||||
<Button text="Play" fx:id="btn_launch" onAction="#runGame"
|
||||
prefWidth="110" prefHeight="15"/>
|
||||
prefWidth="180" prefHeight="25"/>
|
||||
<Button text="Quit" fx:id="btn_quit" onAction="#quit"
|
||||
prefWidth="110" prefHeight="15"/>
|
||||
prefWidth="180" prefHeight="25"/>
|
||||
</children>
|
||||
</VBox>
|
||||
|
||||
<VBox fx:id="prgm"
|
||||
prefWidth="120">
|
||||
prefWidth="120" prefHeight="80">
|
||||
<children>
|
||||
<Hyperlink text="GIT" onAction="#website"/>
|
||||
<Text text="Ver: Snapshot"/>
|
||||
<Text text="Ver: 1.0"/>
|
||||
</children>
|
||||
</VBox>
|
||||
</children>
|
||||
|
@ -1,6 +1,7 @@
|
||||
#window {
|
||||
-fx-background-color: #131320;
|
||||
-fx-font-size: 1.25em;
|
||||
-fx-font-family: "Sergoe UI", "Noto Sans", Arial, "Liberation Sans", Sans;
|
||||
}
|
||||
|
||||
Text, Label {
|
||||
@ -13,8 +14,9 @@ Text, Label {
|
||||
/*************/
|
||||
|
||||
#sidepanel {
|
||||
-fx-background-color: #303050;
|
||||
-fx-alignment: center;
|
||||
-fx-background-color: #000000;
|
||||
-fx-alignment: top-center;
|
||||
-fx-padding: 30 0 0 0;
|
||||
}
|
||||
|
||||
/* Logo */
|
||||
@ -37,12 +39,22 @@ Text, Label {
|
||||
}
|
||||
|
||||
#btn_launch {
|
||||
-fx-background-color: #108010;
|
||||
-fx-text-fill: #e1e1e1;
|
||||
}
|
||||
|
||||
#btn_launch:hover {
|
||||
-fx-background-color: #30c130;
|
||||
-fx-text-fill: #f2f2f2;
|
||||
}
|
||||
|
||||
#btn_quit {
|
||||
-fx-background-color: #c13030;
|
||||
-fx-background-color: #801010;
|
||||
-fx-text-fill: #e1e1e1;
|
||||
}
|
||||
|
||||
#btn_quit:hover {
|
||||
-fx-background-color: #b41010;
|
||||
-fx-text-fill: #f2f2f2;
|
||||
}
|
||||
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 597 KiB After Width: | Height: | Size: 612 KiB |
Loading…
x
Reference in New Issue
Block a user