From 41ab6a140959ffae45ce9032ed50c7387ef41698 Mon Sep 17 00:00:00 2001 From: Placu Date: Mon, 20 Aug 2018 14:22:59 +0200 Subject: [PATCH 01/91] refactor entity type material to matter --- src/main/resources/levels/1.json | 12 ++++++------ src/main/resources/levels/2.json | 10 +++++----- src/main/resources/levels/3.json | 6 +++--- src/main/resources/levels/4.json | 14 +++++++------- .../osmos/redux/ecs/components/EntityType.scala | 2 +- .../osmos/redux/ecs/entities/CellBuilder.scala | 2 +- src/test/resources/levels/1.json | 6 +++--- .../it/unibo/osmos/redux/TestCollisionSystem.scala | 4 ++-- .../it/unibo/osmos/redux/TestDrawSystem.scala | 2 +- .../it/unibo/osmos/redux/TestEndGameSystem.scala | 6 +++--- .../it/unibo/osmos/redux/TestGravitySystem.scala | 2 +- .../it/unibo/osmos/redux/TestInputSystem.scala | 2 +- .../it/unibo/osmos/redux/TestJsonConversion.scala | 2 +- .../it/unibo/osmos/redux/TestMovementSystem.scala | 12 ++++++------ .../redux/TestSystemWithTwoTypeOfEntity.scala | 2 +- 15 files changed, 42 insertions(+), 42 deletions(-) diff --git a/src/main/resources/levels/1.json b/src/main/resources/levels/1.json index c7759097..33d25cc8 100644 --- a/src/main/resources/levels/1.json +++ b/src/main/resources/levels/1.json @@ -15,7 +15,7 @@ "canSpawn": true }, "typeEntity": { - "entity_type": "Material" + "entity_type": "Matter" }, "position": { "point": { @@ -44,7 +44,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "Material" + "entity_type": "Matter" }, "position": { "point": { @@ -73,7 +73,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "Material" + "entity_type": "Matter" }, "position": { "point": { @@ -102,7 +102,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "Material" + "entity_type": "Matter" }, "position": { "point": { @@ -131,7 +131,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "Material" + "entity_type": "Matter" }, "position": { "point": { @@ -160,7 +160,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "Material" + "entity_type": "Matter" }, "position": { "point": { diff --git a/src/main/resources/levels/2.json b/src/main/resources/levels/2.json index 9b986f7a..ddcd4a5e 100644 --- a/src/main/resources/levels/2.json +++ b/src/main/resources/levels/2.json @@ -11,7 +11,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "Material" + "entity_type": "Matter" }, "position": { "point": { @@ -39,7 +39,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "Material" + "entity_type": "Matter" }, "position": { "point": { @@ -67,7 +67,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "Material" + "entity_type": "Matter" }, "position": { "point": { @@ -95,7 +95,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "Material" + "entity_type": "Matter" }, "position": { "point": { @@ -126,7 +126,7 @@ "canSpawn": true }, "typeEntity": { - "entity_type": "Material" + "entity_type": "Matter" }, "position": { "point": { diff --git a/src/main/resources/levels/3.json b/src/main/resources/levels/3.json index d7b80768..4bed6235 100644 --- a/src/main/resources/levels/3.json +++ b/src/main/resources/levels/3.json @@ -11,7 +11,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "Material" + "entity_type": "Matter" }, "position": { "point": { @@ -42,7 +42,7 @@ "canSpawn": true }, "typeEntity": { - "entity_type": "Material" + "entity_type": "Matter" }, "position": { "point": { @@ -73,7 +73,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "Material" + "entity_type": "Matter" }, "position": { "point": { diff --git a/src/main/resources/levels/4.json b/src/main/resources/levels/4.json index 2ef28542..6000a34c 100644 --- a/src/main/resources/levels/4.json +++ b/src/main/resources/levels/4.json @@ -11,7 +11,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "Material" + "entity_type": "Matter" }, "position": { "point": { @@ -39,7 +39,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "Material" + "entity_type": "Matter" }, "position": { "point": { @@ -67,7 +67,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "Material" + "entity_type": "Matter" }, "position": { "point": { @@ -95,7 +95,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "Material" + "entity_type": "Matter" }, "position": { "point": { @@ -123,7 +123,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "Material" + "entity_type": "Matter" }, "position": { "point": { @@ -151,7 +151,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "Material" + "entity_type": "Matter" }, "position": { "point": { @@ -182,7 +182,7 @@ "canSpawn": true }, "typeEntity": { - "entity_type": "Material" + "entity_type": "Matter" }, "position": { "point": { diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/components/EntityType.scala b/src/main/scala/it/unibo/osmos/redux/ecs/components/EntityType.scala index 0674e91e..db53f045 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/components/EntityType.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/components/EntityType.scala @@ -8,5 +8,5 @@ object EntityType extends Enumeration { /** * Basic entity type used by common entities */ - val Material, Attractive, Repulse: EntityType.Value = Value + val Matter, Attractive, Repulse: EntityType.Value = Value } diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/CellBuilder.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/CellBuilder.scala index c8d74bdb..19cd4f15 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/entities/CellBuilder.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/CellBuilder.scala @@ -10,7 +10,7 @@ case class CellBuilder() { private var position = PositionComponent(Point(0,0)) private var speed = SpeedComponent(0, 0) private var visible = VisibleComponent(true) - private var entityType = TypeComponent(EntityType.Material) + private var entityType = TypeComponent(EntityType.Matter) def collidable(collidable: Boolean): CellBuilder = { this.collidable = CollidableComponent(collidable) diff --git a/src/test/resources/levels/1.json b/src/test/resources/levels/1.json index b06c806d..b5a97afd 100644 --- a/src/test/resources/levels/1.json +++ b/src/test/resources/levels/1.json @@ -11,7 +11,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "Material" + "entity_type": "Matter" }, "position": { "point": { @@ -42,7 +42,7 @@ "canSpawn": true }, "typeEntity": { - "entity_type": "Material" + "entity_type": "Matter" }, "position": { "point": { @@ -73,7 +73,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "Material" + "entity_type": "Matter" }, "position": { "point": { diff --git a/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala b/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala index 1cc1f5bc..73e3de68 100644 --- a/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala +++ b/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala @@ -9,9 +9,9 @@ import org.scalatest.FunSuite class TestCollisionSystem extends FunSuite { val entity1 = CellEntity(AccelerationComponent(0,0), CollidableComponent(true), DimensionComponent(5), - PositionComponent(Point(20, 30)), SpeedComponent(0, 0), VisibleComponent(true), TypeComponent(EntityType.Material)) + PositionComponent(Point(20, 30)), SpeedComponent(0, 0), VisibleComponent(true), TypeComponent(EntityType.Matter)) val entity2 = CellEntity(AccelerationComponent(0,0), CollidableComponent(true), DimensionComponent(2), - PositionComponent(Point(60, 80)), SpeedComponent(0, 0), VisibleComponent(true), TypeComponent(EntityType.Material)) + PositionComponent(Point(60, 80)), SpeedComponent(0, 0), VisibleComponent(true), TypeComponent(EntityType.Matter)) test("CollisionSystem should not collide the entity with herself") { val system = CollisionSystem() diff --git a/src/test/scala/it/unibo/osmos/redux/TestDrawSystem.scala b/src/test/scala/it/unibo/osmos/redux/TestDrawSystem.scala index d9319286..9440ce61 100644 --- a/src/test/scala/it/unibo/osmos/redux/TestDrawSystem.scala +++ b/src/test/scala/it/unibo/osmos/redux/TestDrawSystem.scala @@ -53,7 +53,7 @@ class TestDrawSystem extends FunSuite with BeforeAndAfter { val position = PositionComponent(Point(0, 0)) val visible = VisibleComponent(true) val notVisible = VisibleComponent(false) - val typeEntity = TypeComponent(EntityType.Material) + val typeEntity = TypeComponent(EntityType.Matter) val dimension1 = DimensionComponent(3) val position1 = PositionComponent(Point(3, 4)) val spawner = SpawnerComponent(false) diff --git a/src/test/scala/it/unibo/osmos/redux/TestEndGameSystem.scala b/src/test/scala/it/unibo/osmos/redux/TestEndGameSystem.scala index e55d18ed..4a8b2421 100644 --- a/src/test/scala/it/unibo/osmos/redux/TestEndGameSystem.scala +++ b/src/test/scala/it/unibo/osmos/redux/TestEndGameSystem.scala @@ -45,7 +45,7 @@ class TestEndGameSystem extends FunSuite with BeforeAndAfter { val scp = PositionComponent(Point(60, 64)) val scs = SpeedComponent(0, 0) val scv = VisibleComponent(true) - val sct = TypeComponent(EntityType.Material) + val sct = TypeComponent(EntityType.Matter) val smallerCellEntity = CellEntity(sca, scc, scd, scp, scs, scv, sct) val pca = AccelerationComponent(0, 0) @@ -54,7 +54,7 @@ class TestEndGameSystem extends FunSuite with BeforeAndAfter { val pcp = PositionComponent(Point(50, 64)) val pcs = SpeedComponent(4, 0) val pcv = VisibleComponent(true) - val pct = TypeComponent(EntityType.Material) + val pct = TypeComponent(EntityType.Matter) val spw = SpawnerComponent(false) val playerCellEntity = PlayerCellEntity(pca, pcc, pcd, pcp, pcs, pcv, pct, spw) @@ -110,7 +110,7 @@ class TestEndGameSystem extends FunSuite with BeforeAndAfter { val bcp = PositionComponent(Point(65, 64)) val bcs = SpeedComponent(0, 0) val bcv = VisibleComponent(true) - val bct = TypeComponent(EntityType.Material) + val bct = TypeComponent(EntityType.Matter) val biggerCellEntity = CellEntity(bca, bcc, bcd, bcp, bcs, bcv, bct) EntityManager.add(biggerCellEntity) diff --git a/src/test/scala/it/unibo/osmos/redux/TestGravitySystem.scala b/src/test/scala/it/unibo/osmos/redux/TestGravitySystem.scala index 1151b4f0..5553d61c 100644 --- a/src/test/scala/it/unibo/osmos/redux/TestGravitySystem.scala +++ b/src/test/scala/it/unibo/osmos/redux/TestGravitySystem.scala @@ -16,7 +16,7 @@ class TestGravitySystem extends FunSuite with BeforeAndAfter{ val dimension = DimensionComponent(3) val position = PositionComponent(Point(0, 0)) val visible = VisibleComponent(true) - val baseTypeEntity = TypeComponent(EntityType.Material) + val baseTypeEntity = TypeComponent(EntityType.Matter) val attractiveTypeEntity = TypeComponent(EntityType.Attractive) val repulseTypeEntity = TypeComponent(EntityType.Repulse) val specificWeight = SpecificWeightComponent(1.5) diff --git a/src/test/scala/it/unibo/osmos/redux/TestInputSystem.scala b/src/test/scala/it/unibo/osmos/redux/TestInputSystem.scala index e00603db..7ab3f3f2 100644 --- a/src/test/scala/it/unibo/osmos/redux/TestInputSystem.scala +++ b/src/test/scala/it/unibo/osmos/redux/TestInputSystem.scala @@ -16,7 +16,7 @@ class TestInputSystem extends FunSuite { val dimension = Seq(DimensionComponent(5), DimensionComponent(1), DimensionComponent(8)) val position = Seq(PositionComponent(Point(0, 0)), PositionComponent(Point(1, 2)), PositionComponent(Point(0, 4))) val visibility = Seq(VisibleComponent(true), VisibleComponent(false), VisibleComponent(false)) - val typeEntity = Seq(TypeComponent(EntityType.Material), TypeComponent(EntityType.Material), TypeComponent(EntityType.Material)) + val typeEntity = Seq(TypeComponent(EntityType.Matter), TypeComponent(EntityType.Matter), TypeComponent(EntityType.Matter)) val dummyEvent = MouseEventWrapper(Point(157,104)) diff --git a/src/test/scala/it/unibo/osmos/redux/TestJsonConversion.scala b/src/test/scala/it/unibo/osmos/redux/TestJsonConversion.scala index 37f73070..3fa9628b 100644 --- a/src/test/scala/it/unibo/osmos/redux/TestJsonConversion.scala +++ b/src/test/scala/it/unibo/osmos/redux/TestJsonConversion.scala @@ -16,7 +16,7 @@ class TestJsonConversion extends FunSuite{ val p = PositionComponent(Point(0, 0)) val s = SpeedComponent(4, 0) val v = VisibleComponent(true) - val et = TypeComponent(EntityType.Material) + val et = TypeComponent(EntityType.Matter) val sp = SpawnerComponent(true) val sw = SpecificWeightComponent(1) //Entities diff --git a/src/test/scala/it/unibo/osmos/redux/TestMovementSystem.scala b/src/test/scala/it/unibo/osmos/redux/TestMovementSystem.scala index 2fdd1bf3..4b244c1f 100644 --- a/src/test/scala/it/unibo/osmos/redux/TestMovementSystem.scala +++ b/src/test/scala/it/unibo/osmos/redux/TestMovementSystem.scala @@ -36,7 +36,7 @@ class TestMovementSystem extends FunSuite with BeforeAndAfter { val cp = PositionComponent(Point(110, 170)) val cs = SpeedComponent(4, 0) val cv = VisibleComponent(true) - val ct = TypeComponent(EntityType.Material) + val ct = TypeComponent(EntityType.Matter) val cellEntity = CellEntity(ca, cc, cd, cp, cs, cv, ct) val pca = AccelerationComponent(-4, -1) @@ -45,7 +45,7 @@ class TestMovementSystem extends FunSuite with BeforeAndAfter { val pcp = PositionComponent(Point(130, 150)) val pcs = SpeedComponent(4, 0) val pcv = VisibleComponent(true) - val pct = TypeComponent(EntityType.Material) + val pct = TypeComponent(EntityType.Matter) val spw = SpawnerComponent(false) val playerCellEntity = PlayerCellEntity(pca, pcc, pcd, pcp, pcs, pcv, pct, spw) @@ -77,7 +77,7 @@ class TestMovementSystem extends FunSuite with BeforeAndAfter { val lccp = PositionComponent(Point(83, 56)) val lccs = SpeedComponent(-4, 2) val lccv = VisibleComponent(true) - val lcct = TypeComponent(EntityType.Material) + val lcct = TypeComponent(EntityType.Matter) val leftCollisionCellEntity = CellEntity(lcca, lccc, lccd, lccp, lccs, lccv, lcct) val rcca = AccelerationComponent(0, 0) @@ -86,7 +86,7 @@ class TestMovementSystem extends FunSuite with BeforeAndAfter { val rccp = PositionComponent(Point(231, 90)) val rccs = SpeedComponent(6, 0) val rccv = VisibleComponent(true) - val rcct = TypeComponent(EntityType.Material) + val rcct = TypeComponent(EntityType.Matter) val rightCollisionCellEntity = CellEntity(rcca, rccc, rccd, rccp, rccs, rccv, rcct) val tcca = AccelerationComponent(0, 0) @@ -95,7 +95,7 @@ class TestMovementSystem extends FunSuite with BeforeAndAfter { val tccp = PositionComponent(Point(160, 60)) val tccs = SpeedComponent(6, -4) val tccv = VisibleComponent(true) - val tcct = TypeComponent(EntityType.Material) + val tcct = TypeComponent(EntityType.Matter) val topCollisionCellEntity = CellEntity(tcca, tccc, tccd, tccp, tccs, tccv, tcct) val bcca = AccelerationComponent(0, 0) @@ -104,7 +104,7 @@ class TestMovementSystem extends FunSuite with BeforeAndAfter { val bccp = PositionComponent(Point(115, 144)) val bccs = SpeedComponent(-2, 7) val bccv = VisibleComponent(true) - val bcct = TypeComponent(EntityType.Material) + val bcct = TypeComponent(EntityType.Matter) val bottomCollisionCellEntity = CellEntity(bcca, bccc, bccd, bccp, bccs, bccv, bcct) EntityManager.add(leftCollisionCellEntity) diff --git a/src/test/scala/it/unibo/osmos/redux/TestSystemWithTwoTypeOfEntity.scala b/src/test/scala/it/unibo/osmos/redux/TestSystemWithTwoTypeOfEntity.scala index 18976fd1..6e25eb7f 100644 --- a/src/test/scala/it/unibo/osmos/redux/TestSystemWithTwoTypeOfEntity.scala +++ b/src/test/scala/it/unibo/osmos/redux/TestSystemWithTwoTypeOfEntity.scala @@ -30,7 +30,7 @@ class TestSystemWithTwoTypeOfEntity extends FunSuite with BeforeAndAfter { val dimension = DimensionComponent(5) val position = PositionComponent(Point(0, 0)) val visible = VisibleComponent(true) - val typeEntity = TypeComponent(EntityType.Material) + val typeEntity = TypeComponent(EntityType.Matter) val spawner = SpawnerComponent(false) after(EntityManager.clear()) From 908453ad69a55d113c47bc6b2e5e3975cff6e404 Mon Sep 17 00:00:00 2001 From: Placu Date: Mon, 20 Aug 2018 14:23:49 +0200 Subject: [PATCH 02/91] add entity type antiMatter --- .../scala/it/unibo/osmos/redux/ecs/components/EntityType.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/components/EntityType.scala b/src/main/scala/it/unibo/osmos/redux/ecs/components/EntityType.scala index db53f045..10cf265f 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/components/EntityType.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/components/EntityType.scala @@ -8,5 +8,5 @@ object EntityType extends Enumeration { /** * Basic entity type used by common entities */ - val Matter, Attractive, Repulse: EntityType.Value = Value + val Matter, AntiMatter, Attractive, Repulse: EntityType.Value = Value } From 87f000c7588464b697a43869f599da8290bd807c Mon Sep 17 00:00:00 2001 From: Giacomo Date: Mon, 20 Aug 2018 14:45:51 +0200 Subject: [PATCH 03/91] add sprint 3 initial backlog --- backlog/Sprint-3.csv | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 backlog/Sprint-3.csv diff --git a/backlog/Sprint-3.csv b/backlog/Sprint-3.csv new file mode 100644 index 00000000..99d6674c --- /dev/null +++ b/backlog/Sprint-3.csv @@ -0,0 +1,28 @@ +Item,Sprint Task,Volunteer,Initial Estimate of Effort,Final Effort,Remaining Effort +Editor Livelli,"Fornire all'editor livelli: tipologie di cellule, tipologie di mappe, regole di vittorie e di rimbalzo",Andrea Procucci,2,, +,Salvataggio del livello creato su file json e definizione del punto di salvataggio livelli,Andrea Procucci,2,, +,Creazione nuova scena con canvas,Marco Galassi,7,, +,Creazione screen per mostrare le istruzioni all'utente,Marco Galassi,3,, +,Design dell'UI e delle operazioni possibili per l'utente,Marco Galassi,7,, +Definizione progressione giocatore tra livelli,Creazione punto di salvataggio progressi utente,Andrea Procucci,2,, +,Reagire ai risultati delle partite ,Andrea Procucci,2,, +,Aggiornamento stato del giocatore sulla base dei risultati delle partite,Andrea Procucci,1,, +Creazione Intelligenza Artficiale,"Creazione entità, componenti e proprietà",Andrea Placuzzi + Giacomo Venturini,1,, +Implementazione Intelligenza Artificiale in Scala,IA che insegue il player (senza perdita di massa),Andrea Placuzzi,5,, +,IA che insegue il player ed evita le cellule più grandi (senza perdita di massa),Andrea Placuzzi,10,, +,IA che perde massa,Andrea Placuzzi,15,, +Implementazione Intelligenza Artificiale in Prolog,IA che insegue il player (senza perdita di massa),Giacomo Venturini,5,, +,IA che insegue il player ed evita le cellule più grandi (senza perdita di massa),Giacomo Venturini,10,, +,IA che perde massa,Giacomo Venturini,15,, +Gestione movimento cellule,Rimozione code smell,Giacomo Venturini,2,, +,Test per verificatre la correttezza dei rimbalzi nei livelli circolari,Giacomo Venturini,1,, +Multigiocatore a 2 giocatori,Creazione classi per comunicazione (akka),Davide Giacomini,15,, +,Setup websocket,Davide Giacomini,5,, +,Implementazione server (primo client che chiede setup),Davide Giacomini,21,, +,"Implementazione client (disattivazione game loop, invio input, ricezione dati per draw entità)",Davide Giacomini,8,, +,Test latenza,Davide Giacomini,1,, +Gestione telecamera,"Creare supporto per telecamera, inizialmente fissa per le simulazioni",Marco Galassi,2,, +,Fare in modo che la telecamera segua sempre la cellula del giocatore,Marco Galassi,1,, +Implementazione cellule antimateria,Supporto cellule antimateria,Andrea Placuzzi,1,, +Gestione vittoria/sconfitta,Mostrare all'utente l'esito della partita in un nuovo screen,Marco Galassi + Giacomo Venturini,2,, +Aggiornamento sistema di eliminazion cellule,Rimuovere tutte le cellule che non sono completamente all'interno della mappa,Andrea Procucci,5,, \ No newline at end of file From 9521e446508443e233a4840165761a3a54b35d12 Mon Sep 17 00:00:00 2001 From: Andrea Procucci Date: Mon, 20 Aug 2018 17:52:13 +0200 Subject: [PATCH 04/91] Add utils for save custom level and for retrieve them from files --- .../redux/mvc/controller/Controller.scala | 21 +--- .../redux/mvc/controller/FileManager.scala | 99 +++++++++++++++++++ .../osmos/redux/TestJsonConversion.scala | 34 +++++-- 3 files changed, 125 insertions(+), 29 deletions(-) create mode 100644 src/main/scala/it/unibo/osmos/redux/mvc/controller/FileManager.scala diff --git a/src/main/scala/it/unibo/osmos/redux/mvc/controller/Controller.scala b/src/main/scala/it/unibo/osmos/redux/mvc/controller/Controller.scala index 5c02d5f2..187b37f6 100644 --- a/src/main/scala/it/unibo/osmos/redux/mvc/controller/Controller.scala +++ b/src/main/scala/it/unibo/osmos/redux/mvc/controller/Controller.scala @@ -28,9 +28,7 @@ case class ControllerImpl() extends Controller { chosenLevel:Int, isSimulation:Boolean): Unit = { - val text:Try[String] = FileManager.loadResource(isSimulation, chosenLevel) - import it.unibo.osmos.redux.mvc.model.JsonProtocols._ - val loadedLevel = text.get.parseJson.convertTo[Level] + val loadedLevel = FileManager.loadResource(isSimulation, chosenLevel).get if (isSimulation) loadedLevel.isSimulation = true if(engine.isEmpty) engine = Some(GameEngine()) engine.get.init(loadedLevel, levelContext) @@ -45,20 +43,3 @@ case class ControllerImpl() extends Controller { override def resumeLevel(): Unit = if (engine.isDefined) engine.get.resume() } - -object FileManager { - val separator:String = "/" - val levelStartPath:String = separator + "levels" + separator - val jsonExtension = ".json" - - /** - * Reads a file from the resources folder - * @param isSimulation if i have to load a simulation or a playable levels - * @param chosenLevel levels id - * @return content of file wrapped into a Try - */ - def loadResource(isSimulation:Boolean, chosenLevel:Int): Try[String] ={ - val fileName = (levelStartPath + chosenLevel + jsonExtension).toLowerCase - Try(Source.fromInputStream(getClass.getResourceAsStream(fileName)).mkString) - } -} diff --git a/src/main/scala/it/unibo/osmos/redux/mvc/controller/FileManager.scala b/src/main/scala/it/unibo/osmos/redux/mvc/controller/FileManager.scala new file mode 100644 index 00000000..c2ec0dd3 --- /dev/null +++ b/src/main/scala/it/unibo/osmos/redux/mvc/controller/FileManager.scala @@ -0,0 +1,99 @@ +package it.unibo.osmos.redux.mvc.controller + +import java.io.{File, PrintWriter} +import java.nio.file.{FileSystem, FileSystems, Files, Path} + +import it.unibo.osmos.redux.mvc.model._ +import spray.json._ + +import scala.io.{BufferedSource, Source} +import scala.util.Try + +object FileManager { + val separator: String = "/" + val levelStartPath: String = separator + "levels" + separator + val jsonExtension = ".json" + + val defaultFS: FileSystem = FileSystems.getDefault + val systemSeparator: String = defaultFS.getSeparator + val userHome: String = System.getProperty("user.home") + val levelsDirectory: String = userHome + systemSeparator + "Osmos-Redux" + + systemSeparator + "CustomLevels" + systemSeparator + + /** + * Reads a file from the resources folder + * + * @param isSimulation if i have to load a simulation or a playable levels + * @param chosenLevel levels id + * @return content of file wrapped into a Try + */ + def loadResource(isSimulation: Boolean, chosenLevel: Int): Try[Level] = + Try(textToLevel(Source.fromInputStream( + getClass.getResourceAsStream(levelStartPath + chosenLevel + jsonExtension) + ).mkString).get) + + /** + * Save a level on file + * @param level the level to save + * @param fileName the file name + * @return option with the file path if it doesn't fail + */ + def saveLevel(level: Level, fileName: String): Option[Path] = { + //Check if file exists + var flag: Boolean = true + var index: Int = 1 + var path: Path = defaultFS.getPath(levelsDirectory + fileName + jsonExtension) + do { + if (Files.exists(path)) { + //if exists i will try with a new file name + path = defaultFS.getPath(levelsDirectory + fileName + index + jsonExtension) + index += 1 + } else { + flag = false + } + } while (flag) + val levelFile = new File(path.toUri) + if (Try(levelFile.getParentFile.mkdirs()).isFailure) { + println("Error: SecurityException directories are protected") + return None + } + val writer = new PrintWriter(levelFile) + import it.unibo.osmos.redux.mvc.model.JsonProtocols.levelFormatter + try writer.write(level.toJson.prettyPrint) + catch { + case e: Throwable => println("Exception occurred writing on file: ",e.printStackTrace()) + return None + } finally writer.close() + Some(path) + } + + /** + * Load level from file saved into user home directory + * @param fileName the name of file + * @return an option with the required level if it doesn't fail + */ + def loadCustomLevel(fileName: String): Option[Level] = { + val source: Try[BufferedSource] = Try(Source.fromFile(defaultFS.getPath(levelsDirectory + fileName + jsonExtension).toUri)) + if (source.isSuccess) { + val lines = try source.get.mkString + catch { + case e:Throwable => println("Error reading custom level file: ", e) + return None + } + finally source.get.close() + val tryLevel = textToLevel(lines) + if (tryLevel.isSuccess) return Some(tryLevel.get) + } + None + } + + /** + * Convert a json string into a Level + * @param text json string + * @return Try with Level if it doesn't fail + */ + def textToLevel(text: String): Try[Level] = { + import it.unibo.osmos.redux.mvc.model.JsonProtocols.levelFormatter + Try(text.parseJson.convertTo[Level]) + } +} diff --git a/src/test/scala/it/unibo/osmos/redux/TestJsonConversion.scala b/src/test/scala/it/unibo/osmos/redux/TestJsonConversion.scala index 37f73070..3cac93a4 100644 --- a/src/test/scala/it/unibo/osmos/redux/TestJsonConversion.scala +++ b/src/test/scala/it/unibo/osmos/redux/TestJsonConversion.scala @@ -1,13 +1,19 @@ package it.unibo.osmos.redux +import java.io.File +import java.nio.file.{Files, Path} + import it.unibo.osmos.redux.ecs.components._ import it.unibo.osmos.redux.ecs.entities._ import it.unibo.osmos.redux.mvc.controller.FileManager +import it.unibo.osmos.redux.mvc.controller.FileManager.{defaultFS, levelsDirectory} import it.unibo.osmos.redux.mvc.model._ import it.unibo.osmos.redux.mvc.model.MapShape._ import it.unibo.osmos.redux.utils.Point import org.scalatest.FunSuite +import scala.util.Try + class TestJsonConversion extends FunSuite{ //Components val a = AccelerationComponent(1, 1) @@ -95,14 +101,24 @@ class TestJsonConversion extends FunSuite{ } test("File reading and conversion") { - val fileContent = FileManager.loadResource(isSimulation = false,1) - assert(fileContent.isSuccess) - val jsLevel = fileContent.get.parseJson - assert(jsLevel.equals(jsLevel)) - val convertedLevel = jsLevel.convertTo[Level] - assert(convertedLevel.levelId.equals(level.levelId)) - assert(convertedLevel.levelMap.equals(level.levelMap)) - assert(convertedLevel.victoryRule.equals(level.victoryRule)) - assert(convertedLevel.entities.size.equals(level.entities.size)) + val convertedLevel = FileManager.loadResource(isSimulation = false,1) + assert(convertedLevel.isSuccess) + assert(convertedLevel.get.levelId.equals(level.levelId)) + assert(convertedLevel.get.levelMap.equals(level.levelMap)) + assert(convertedLevel.get.victoryRule.equals(level.victoryRule)) + assert(convertedLevel.get.entities.size.equals(level.entities.size)) + } + + test("Writing and reading custom level") { + val fileName:String = "TestWritingLev3l" + val optFilePath = FileManager.saveLevel(level, fileName) + assert(optFilePath.isDefined) + val readLevel = FileManager.loadCustomLevel(fileName) + assert(readLevel.isDefined) + assert(readLevel.get.levelId.equals(level.levelId)) + assert(readLevel.get.levelMap.equals(level.levelMap)) + assert(readLevel.get.victoryRule.equals(level.victoryRule)) + assert(readLevel.get.entities.size.equals(level.entities.size)) + Try(Files.delete(optFilePath.get)) } } From d55bec13eb6d8cf104008f188b240447e28641c2 Mon Sep 17 00:00:00 2001 From: Placu Date: Tue, 21 Aug 2018 09:09:27 +0200 Subject: [PATCH 05/91] add type property --- .../it/unibo/osmos/redux/ecs/entities/CollidableProperty.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/CollidableProperty.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/CollidableProperty.scala index fb9e8f09..841c7707 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/entities/CollidableProperty.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/CollidableProperty.scala @@ -3,6 +3,6 @@ package it.unibo.osmos.redux.ecs.entities /** * Trait representing the properties needed by an entity to be collidable */ -trait CollidableProperty extends Position with Dimension with Speed with Collidable with Acceleration { +trait CollidableProperty extends Position with Dimension with Speed with Collidable with Acceleration with Type { } From db53a8b44fe1cd6f0f2349cb6f6891e64be64387 Mon Sep 17 00:00:00 2001 From: Placu Date: Tue, 21 Aug 2018 09:10:01 +0200 Subject: [PATCH 06/91] add collision with antiMatter --- .../osmos/redux/ecs/systems/CollisionSystem.scala | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala index 4b149171..ade3c563 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala @@ -1,6 +1,7 @@ package it.unibo.osmos.redux.ecs.systems -import it.unibo.osmos.redux.ecs.entities.{CollidableProperty, Property} +import it.unibo.osmos.redux.ecs.components.EntityType +import it.unibo.osmos.redux.ecs.entities.CollidableProperty import it.unibo.osmos.redux.utils.MathUtils case class CollisionSystem() extends AbstractSystem[CollidableProperty] { @@ -68,10 +69,16 @@ case class CollisionSystem() extends AbstractSystem[CollidableProperty] { val tinyRadius = smallEntity.getDimensionComponent.radius //apply exchange between the two entities - bigEntity.getDimensionComponent.radius_(bigRadius + exchangedRadiusValue) smallEntity.getDimensionComponent.radius_(tinyRadius - exchangedRadiusValue) + + (bigEntity.getTypeComponent.typeEntity, smallEntity.getTypeComponent.typeEntity) match { + case (EntityType.AntiMatter, _) | (_, EntityType.AntiMatter) => bigEntity.getDimensionComponent.radius_(bigRadius - exchangedRadiusValue) + case _ => bigEntity.getDimensionComponent.radius_(bigRadius + exchangedRadiusValue) + } + } + /** * Applies deceleration to the input entity. * @param entity The entity to slow down From 89ba494e5f409078d40d64749b8f52f14a556bda Mon Sep 17 00:00:00 2001 From: Placu Date: Tue, 21 Aug 2018 11:30:59 +0200 Subject: [PATCH 07/91] add abstract system with three type of entity --- .../AbstractSystemWithThreeTypeOfEntity.scala | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/main/scala/it/unibo/osmos/redux/ecs/systems/AbstractSystemWithThreeTypeOfEntity.scala diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/AbstractSystemWithThreeTypeOfEntity.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/AbstractSystemWithThreeTypeOfEntity.scala new file mode 100644 index 00000000..8dde7d96 --- /dev/null +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/AbstractSystemWithThreeTypeOfEntity.scala @@ -0,0 +1,33 @@ +package it.unibo.osmos.redux.ecs.systems + +import it.unibo.osmos.redux.ecs.entities.EMEvents.{EntityCreated, EntityDeleted} +import it.unibo.osmos.redux.ecs.entities._ + +import scala.collection.mutable.ListBuffer +import scala.reflect.ClassTag + +/** + * Abstract system with three type of generic entity. + * The lists of entity are not exclusive + */ +abstract class AbstractSystemWithThreeTypeOfEntity[T <:Property, R <:Property: ClassTag, S <:Property: ClassTag] + extends AbstractSystemWithTwoTypeOfEntity[T, R] with Observer with System { + + protected var entitiesThirdType: ListBuffer[S] = ListBuffer() + + EntityManager.subscribe(this, getGroupPropertyThirdType) + protected def getGroupPropertyThirdType: Class[S] + + override def notify(event: EMEvents.EntityManagerEvent): Unit = { + event.entity match { + case _:S => + event match { + case event: EntityCreated if !entitiesThirdType.contains(event.entity) => entitiesThirdType += event.entity.asInstanceOf[S] + case event: EntityDeleted if entitiesThirdType.contains(event.entity)=> entitiesThirdType -= event.entity.asInstanceOf[S] + //the event is already managed so the event is duplicated, perhaps it is for another type of entity + case _ => super.notify(event) + } + case _ => super.notify(event) + } + } +} From 14f5c8fc3fac18d382fe44ae15b1636770fddc01 Mon Sep 17 00:00:00 2001 From: Placu Date: Tue, 21 Aug 2018 11:31:21 +0200 Subject: [PATCH 08/91] add test for abstract system with three type of entity --- .../TestSystemWithThreeTypeOfEntity.scala | 89 +++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 src/test/scala/it/unibo/osmos/redux/TestSystemWithThreeTypeOfEntity.scala diff --git a/src/test/scala/it/unibo/osmos/redux/TestSystemWithThreeTypeOfEntity.scala b/src/test/scala/it/unibo/osmos/redux/TestSystemWithThreeTypeOfEntity.scala new file mode 100644 index 00000000..51de0ece --- /dev/null +++ b/src/test/scala/it/unibo/osmos/redux/TestSystemWithThreeTypeOfEntity.scala @@ -0,0 +1,89 @@ +package it.unibo.osmos.redux + +import it.unibo.osmos.redux.ecs.components._ +import it.unibo.osmos.redux.ecs.entities._ +import it.unibo.osmos.redux.ecs.systems.AbstractSystemWithThreeTypeOfEntity +import it.unibo.osmos.redux.utils.Point +import org.scalatest.{BeforeAndAfter, FunSuite} + +import scala.collection.mutable.ListBuffer + +case class FakeSystemWithThreeTypeOfEntity() + extends AbstractSystemWithThreeTypeOfEntity[MovableProperty, InputProperty, GravityProperty] { + + override protected def getGroupProperty: Class[MovableProperty] = classOf[MovableProperty] + + override protected def getGroupPropertySecondType: Class[InputProperty] = classOf[InputProperty] + + override protected def getGroupPropertyThirdType: Class[GravityProperty] = classOf[GravityProperty] + + override def update(): Unit = ??? + + def getEntitiesOfFirstType: ListBuffer[MovableProperty] = entities + + def getEntitiesOfSecondType: ListBuffer[InputProperty] = entitiesSecondType + + def getEntitiesOfThirdType: ListBuffer[GravityProperty] = entitiesThirdType +} + +class TestSystemWithThreeTypeOfEntity extends FunSuite with BeforeAndAfter { + + val acceleration = AccelerationComponent(1, 1) + val collidable = CollidableComponent(true) + val speed = SpeedComponent(4, 0) + val dimension = DimensionComponent(5) + val position = PositionComponent(Point(0, 0)) + val visible = VisibleComponent(true) + val typeEntity = TypeComponent(EntityType.Material) + val spawner = SpawnerComponent(false) + val typeGravity = TypeComponent(EntityType.Attractive) + val specificWeight = SpecificWeightComponent(1) + val cellEntity = CellEntity(acceleration, collidable, dimension, position, speed, visible, typeEntity) + val playerEntity = PlayerCellEntity(acceleration, collidable, dimension, position, speed, visible, typeEntity,spawner) + val gravityEntity = GravityCellEntity(acceleration, collidable, dimension, position, speed, visible, typeEntity, specificWeight) + + after(EntityManager.clear()) + + test("A system initially has no entity"){ + val fakeSystem = FakeSystemWithThreeTypeOfEntity() + assert(fakeSystem.getEntitiesOfFirstType.isEmpty) + assert(fakeSystem.getEntitiesOfSecondType.isEmpty) + assert(fakeSystem.getEntitiesOfThirdType.isEmpty) + } + + test("After add one entity of first type, the system have one entity of first type"){ + val fakeSystem = FakeSystemWithThreeTypeOfEntity() + EntityManager.add(cellEntity) + assert(fakeSystem.getEntitiesOfFirstType.size == 1) + assert(fakeSystem.getEntitiesOfSecondType.isEmpty) + assert(fakeSystem.getEntitiesOfThirdType.isEmpty) + } + + test("An entity of first and second types is found in both lists"){ + val fakeSystem = FakeSystemWithThreeTypeOfEntity() + EntityManager.add(playerEntity) + assert(fakeSystem.getEntitiesOfFirstType.size == 1) + assert(fakeSystem.getEntitiesOfSecondType.size == 1) + assert(fakeSystem.getEntitiesOfThirdType.isEmpty) + } + + test("An entity of first and third types is found in both lists"){ + val fakeSystem = FakeSystemWithThreeTypeOfEntity() + EntityManager.add(gravityEntity) + assert(fakeSystem.getEntitiesOfFirstType.size == 1) + assert(fakeSystem.getEntitiesOfSecondType.isEmpty) + assert(fakeSystem.getEntitiesOfThirdType.size == 1) + } + + test("Add an entity and remove it, left all list empty"){ + val fakeSystem = FakeSystemWithThreeTypeOfEntity() + EntityManager.add(gravityEntity) + assert(fakeSystem.getEntitiesOfFirstType.size == 1) + assert(fakeSystem.getEntitiesOfSecondType.isEmpty) + assert(fakeSystem.getEntitiesOfThirdType.size == 1) + EntityManager.delete(gravityEntity) + assert(fakeSystem.getEntitiesOfFirstType.isEmpty) + assert(fakeSystem.getEntitiesOfSecondType.isEmpty) + assert(fakeSystem.getEntitiesOfThirdType.isEmpty) + } +} From 7e093c572f3a5da9650d9d743ea428fded56c54f Mon Sep 17 00:00:00 2001 From: Giacomo Date: Tue, 21 Aug 2018 12:01:03 +0200 Subject: [PATCH 09/91] add trait to manage sentient cells properties and sentient cell entities implementation --- .../redux/ecs/components/EntityType.scala | 2 +- .../ecs/entities/SentientCellEntity.scala | 39 +++++++++++++++++++ .../redux/ecs/entities/SentientProperty.scala | 5 +++ 3 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientCellEntity.scala create mode 100644 src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientProperty.scala diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/components/EntityType.scala b/src/main/scala/it/unibo/osmos/redux/ecs/components/EntityType.scala index 0674e91e..a5e1972d 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/components/EntityType.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/components/EntityType.scala @@ -8,5 +8,5 @@ object EntityType extends Enumeration { /** * Basic entity type used by common entities */ - val Material, Attractive, Repulse: EntityType.Value = Value + val Material, Attractive, Repulse, Sentient: EntityType.Value = Value } diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientCellEntity.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientCellEntity.scala new file mode 100644 index 00000000..ee378d15 --- /dev/null +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientCellEntity.scala @@ -0,0 +1,39 @@ +package it.unibo.osmos.redux.ecs.entities + +import java.util.UUID + +import it.unibo.osmos.redux.ecs.components._ + +trait SentientCellEntity extends CellEntity with SentientProperty { + +} + +object SentientCellEntity { + def apply(acceleration: AccelerationComponent, + collidable: CollidableComponent, + dimension: DimensionComponent, + position: PositionComponent, + speed: SpeedComponent, + visible: VisibleComponent): SentientCellEntity = SentientCellEntityImpl(CellEntity(acceleration, + collidable, dimension, position, speed, visible, TypeComponent(EntityType.Sentient))) + + private case class SentientCellEntityImpl(cellEntity: CellEntity) extends SentientCellEntity { + + override def getUUID: UUID = cellEntity.getUUID + + override def getAccelerationComponent: AccelerationComponent = cellEntity.getAccelerationComponent + + override def getSpeedComponent: SpeedComponent = cellEntity.getSpeedComponent + + override def getCollidableComponent: CollidableComponent = cellEntity.getCollidableComponent + + override def getTypeComponent: TypeComponent = cellEntity.getTypeComponent + + override def getPositionComponent: PositionComponent = cellEntity.getPositionComponent + + override def getVisibleComponent: VisibleComponent = cellEntity.getVisibleComponent + + override def getDimensionComponent: DimensionComponent = cellEntity.getDimensionComponent + } + +} diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientProperty.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientProperty.scala new file mode 100644 index 00000000..5fe872b6 --- /dev/null +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientProperty.scala @@ -0,0 +1,5 @@ +package it.unibo.osmos.redux.ecs.entities + +trait SentientProperty extends Position with Speed with Acceleration with Dimension { + +} From 1b80a97f5a6623a4a5e5a63772391ca865c3ec11 Mon Sep 17 00:00:00 2001 From: Giacomo Date: Tue, 21 Aug 2018 12:50:24 +0200 Subject: [PATCH 10/91] add property groups for sentient cells enemies and target --- .../scala/it/unibo/osmos/redux/ecs/entities/CellEntity.scala | 2 +- .../it/unibo/osmos/redux/ecs/entities/PlayerCellEntity.scala | 2 +- .../osmos/redux/ecs/entities/SentientEnemyProperty.scala | 5 +++++ .../osmos/redux/ecs/entities/SentientTargetProperty.scala | 5 +++++ 4 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientEnemyProperty.scala create mode 100644 src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientTargetProperty.scala diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/CellEntity.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/CellEntity.scala index 04f80df9..f3b70eb1 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/entities/CellEntity.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/CellEntity.scala @@ -7,7 +7,7 @@ import it.unibo.osmos.redux.ecs.components._ /** * Trait representing a CellEntity */ -trait CellEntity extends AbstractEntity with MovableProperty with CollidableProperty with DrawableProperty with DeathProperty{ +trait CellEntity extends AbstractEntity with MovableProperty with CollidableProperty with DrawableProperty with DeathProperty with SentientEnemyProperty { } diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/PlayerCellEntity.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/PlayerCellEntity.scala index 362d0a3e..a27e5080 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/entities/PlayerCellEntity.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/PlayerCellEntity.scala @@ -4,7 +4,7 @@ import java.util.UUID import it.unibo.osmos.redux.ecs.components._ -trait PlayerCellEntity extends CellEntity with InputProperty with Spawner { +trait PlayerCellEntity extends CellEntity with InputProperty with Spawner with SentientTargetProperty { } diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientEnemyProperty.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientEnemyProperty.scala new file mode 100644 index 00000000..9bccdd76 --- /dev/null +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientEnemyProperty.scala @@ -0,0 +1,5 @@ +package it.unibo.osmos.redux.ecs.entities + +trait SentientEnemyProperty extends Position with Speed with Dimension with Type { + +} diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientTargetProperty.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientTargetProperty.scala new file mode 100644 index 00000000..0cb86805 --- /dev/null +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientTargetProperty.scala @@ -0,0 +1,5 @@ +package it.unibo.osmos.redux.ecs.entities + +trait SentientTargetProperty extends Position with Speed with Dimension { + +} From 45733926c4321971b4b39ab31569812191c13915 Mon Sep 17 00:00:00 2001 From: Giacomo Date: Tue, 21 Aug 2018 13:49:32 +0200 Subject: [PATCH 11/91] scaladoc improvement --- .../redux/ecs/entities/AbstractEntity.scala | 9 +- .../redux/ecs/entities/Acceleration.scala | 9 +- .../redux/ecs/entities/CellBuilder.scala | 1 + .../osmos/redux/ecs/entities/CellEntity.scala | 8 +- .../osmos/redux/ecs/entities/Collidable.scala | 9 +- .../ecs/entities/CollidableProperty.scala | 8 +- .../redux/ecs/entities/DeathProperty.scala | 3 +- .../osmos/redux/ecs/entities/Dimension.scala | 9 +- .../redux/ecs/entities/DrawableProperty.scala | 8 +- .../redux/ecs/entities/EntityManager.scala | 94 +++++++++---------- .../ecs/entities/GravityCellEntity.scala | 18 ++-- .../redux/ecs/entities/GravityProperty.scala | 6 +- .../redux/ecs/entities/InputProperty.scala | 8 +- .../unibo/osmos/redux/ecs/entities/Mass.scala | 7 +- .../redux/ecs/entities/MovableProperty.scala | 8 +- .../redux/ecs/entities/PlayerCellEntity.scala | 6 +- .../osmos/redux/ecs/entities/Position.scala | 9 +- .../osmos/redux/ecs/entities/Property.scala | 8 +- .../ecs/entities/SentientCellEntity.scala | 5 +- .../ecs/entities/SentientEnemyProperty.scala | 7 +- .../redux/ecs/entities/SentientProperty.scala | 5 +- .../ecs/entities/SentientTargetProperty.scala | 7 +- .../osmos/redux/ecs/entities/Spawner.scala | 5 +- .../redux/ecs/entities/SpecificWeight.scala | 7 +- .../osmos/redux/ecs/entities/Speed.scala | 7 +- .../unibo/osmos/redux/ecs/entities/Type.scala | 9 +- .../osmos/redux/ecs/entities/Visible.scala | 7 +- 27 files changed, 114 insertions(+), 173 deletions(-) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/AbstractEntity.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/AbstractEntity.scala index 74811f8d..6eb56572 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/entities/AbstractEntity.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/AbstractEntity.scala @@ -2,15 +2,12 @@ package it.unibo.osmos.redux.ecs.entities import java.util.UUID -/** - * Abstract class representing an ECS Entity - */ +/** Abstract class representing an ECS Entity */ abstract class AbstractEntity extends Property { - /** - * Gets the UUID for this entity + /** Gets the UUID for this entity * - * @return the UUID for this entity + * @return UUID for this entity */ def getUUID: UUID } diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/Acceleration.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/Acceleration.scala index 4324cf09..e13aeaeb 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/entities/Acceleration.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/Acceleration.scala @@ -2,15 +2,12 @@ package it.unibo.osmos.redux.ecs.entities import it.unibo.osmos.redux.ecs.components.AccelerationComponent -/** - * Trait representing the entity's acceleration property - */ +/** Trait representing the entity's acceleration property */ trait Acceleration extends Property { - /** - * Gets the Acceleration Component + /** Gets the acceleration component * - * @return the Acceleration Component + * @return acceleration component */ def getAccelerationComponent: AccelerationComponent } diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/CellBuilder.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/CellBuilder.scala index c8d74bdb..31823b45 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/entities/CellBuilder.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/CellBuilder.scala @@ -3,6 +3,7 @@ package it.unibo.osmos.redux.ecs.entities import it.unibo.osmos.redux.ecs.components._ import it.unibo.osmos.redux.utils.Point +/** Builder for Cell Entities */ case class CellBuilder() { private var acceleration = AccelerationComponent(0,0) private var collidable = CollidableComponent(true) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/CellEntity.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/CellEntity.scala index f3b70eb1..53faa476 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/entities/CellEntity.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/CellEntity.scala @@ -4,12 +4,8 @@ import java.util.UUID import it.unibo.osmos.redux.ecs.components._ -/** - * Trait representing a CellEntity - */ -trait CellEntity extends AbstractEntity with MovableProperty with CollidableProperty with DrawableProperty with DeathProperty with SentientEnemyProperty { - -} +/** Trait representing a CellEntity */ +trait CellEntity extends AbstractEntity with MovableProperty with CollidableProperty with DrawableProperty with DeathProperty with SentientEnemyProperty {} object CellEntity { def apply(acceleration: AccelerationComponent, diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/Collidable.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/Collidable.scala index 870f0b40..0367aac9 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/entities/Collidable.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/Collidable.scala @@ -2,15 +2,12 @@ package it.unibo.osmos.redux.ecs.entities import it.unibo.osmos.redux.ecs.components.CollidableComponent -/** - * Trait representing the entity's collidable property - */ +/** Trait representing the entity's collidable property */ trait Collidable extends Property { - /** - * Gets the Collidable Component + /** Gets the collidable component * - * @return the Collidable Component + * @return collidable component */ def getCollidableComponent: CollidableComponent } diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/CollidableProperty.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/CollidableProperty.scala index fb9e8f09..bece25b9 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/entities/CollidableProperty.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/CollidableProperty.scala @@ -1,8 +1,4 @@ package it.unibo.osmos.redux.ecs.entities -/** - * Trait representing the properties needed by an entity to be collidable - */ -trait CollidableProperty extends Position with Dimension with Speed with Collidable with Acceleration { - -} +/** Trait representing the properties needed by an entity to be collidable */ +trait CollidableProperty extends Position with Dimension with Speed with Collidable with Acceleration {} diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/DeathProperty.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/DeathProperty.scala index 88512575..53778f69 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/entities/DeathProperty.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/DeathProperty.scala @@ -1,3 +1,4 @@ package it.unibo.osmos.redux.ecs.entities -trait DeathProperty extends Dimension +/** Trait representing the properties needed by an entity to be no longer alive */ +trait DeathProperty extends Dimension {} diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/Dimension.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/Dimension.scala index acca727d..b60fd446 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/entities/Dimension.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/Dimension.scala @@ -2,15 +2,12 @@ package it.unibo.osmos.redux.ecs.entities import it.unibo.osmos.redux.ecs.components.DimensionComponent -/** - * Trait representing the entity's dimension property - */ +/** Trait representing the entity's dimension property */ trait Dimension extends Property { - /** - * Gets the Dimension Component + /** Gets the dimension component * - * @return the Dimension Component + * @return dimension component */ def getDimensionComponent: DimensionComponent } diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/DrawableProperty.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/DrawableProperty.scala index 8fa4d1b2..b6552cee 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/entities/DrawableProperty.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/DrawableProperty.scala @@ -1,8 +1,4 @@ package it.unibo.osmos.redux.ecs.entities -/** - * Trait representing the properties needed by an entity to be drawable - */ -trait DrawableProperty extends Position with Dimension with Visible with Type with Speed{ - -} +/** Trait representing the properties needed by an entity to be drawable */ +trait DrawableProperty extends Position with Dimension with Visible with Type with Speed {} diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/EntityManager.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/EntityManager.scala index 743203e7..cd514160 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/entities/EntityManager.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/EntityManager.scala @@ -1,117 +1,113 @@ package it.unibo.osmos.redux.ecs.entities + import org.apache.commons.lang3.ClassUtils import scala.annotation.tailrec import scala.collection.mutable -/** - * EntityManager events - */ +/** EntityManager events */ object EMEvents { - /** - * Event of creation + + /** Event of creation + * * @param entity new entity created * @return the creation event */ - def entityCreated(entity: Property):EntityCreated = EntityCreated(entity) + def entityCreated(entity: Property): EntityCreated = EntityCreated(entity) - /** - * Event of cancellation + /** Event of cancellation + * * @param entity the entity deleted * @return the delete event */ - def entityDeleted(entity: Property):EntityDeleted = EntityDeleted(entity) + def entityDeleted(entity: Property): EntityDeleted = EntityDeleted(entity) sealed trait EntityManagerEvent { - val entity:Property + val entity: Property } case class EntityCreated(override val entity: Property) extends EntityManagerEvent + case class EntityDeleted(override val entity: Property) extends EntityManagerEvent + } -import EMEvents._ +import it.unibo.osmos.redux.ecs.entities.EMEvents._ -/** - * Define an Observer interface for entity manager - */ +/** Define an Observer interface for entity manager */ trait Observer { - def notify(event:EntityManagerEvent):Unit + def notify(event: EntityManagerEvent): Unit } -/** - * Define an observable interface for entity manager - */ +/** Define an observable interface for entity manager */ trait Observable { - /** - * Adds new observer to the collection of observers - * @param observer observer reference + + /** Adds new observer to the collection of observers + * + * @param observer observer reference * @param managedEntities interface of managed entities */ - def subscribe(observer: Observer, managedEntities: EntityManager.ManagedEntity):Unit + def subscribe(observer: Observer, managedEntities: EntityManager.ManagedEntity): Unit } -/** - * Define the methods for manage an entities collection - */ +/** Define the methods for manage an entities collection */ trait EntityManager { type ManagedEntity = Class[_ <: Property] type ObserverEntry = (Observer, ManagedEntity) - /** - * Adds the new entity to the collection + + /** Adds the new entity to the collection + * * @param entity the new entity */ def add(entity: Property) - /** - * Removes the entity from the collection + /** Removes the entity from the collection + * * @param entity the entity to be eliminated */ def delete(entity: Property) - /** - * Gives all the entities which extends managedEntity interface + /** Gives all the entities which extends managedEntity interface + * * @param entityInterface target entity interface * @return a list of entities */ - def filterEntities(entityInterface: ManagedEntity):List[Property] + def filterEntities(entityInterface: ManagedEntity): List[Property] - /** - * Clear internal collections for starting new level - */ + /** Clear internal collections for starting new level */ def clear() } + import scala.collection.JavaConverters._ -/** - * Entity manager who manage the system entities and notify events to observers - */ + +/** Entity manager who manage the system entities and notify events to observers */ object EntityManager extends EntityManager with Observable { private var observers: List[ObserverEntry] = List() - private var entities:mutable.Set[Property] = mutable.Set() + private var entities: mutable.Set[Property] = mutable.Set() - def getInterfaces(entity: Property):List[Class[_]] = - ClassUtils.getAllInterfaces(entity.getClass).asScala.toList + def getInterfaces(entity: Property): List[Class[_]] = + ClassUtils.getAllInterfaces(entity.getClass).asScala.toList - def extendsInterface(ent: Property, entityInt: EntityManager.ManagedEntity):Boolean = - getInterfaces(ent) contains entityInt + def extendsInterface(ent: Property, entityInt: EntityManager.ManagedEntity): Boolean = + getInterfaces(ent) contains entityInt @tailrec - private def notifyEvent(observers:List[ObserverEntry],emEvent: EntityManagerEvent):Unit = + private def notifyEvent(observers: List[ObserverEntry], emEvent: EntityManagerEvent): Unit = observers match { case Nil => - case (obs,entityInt)::t if extendsInterface(emEvent.entity,entityInt) => - obs.notify(emEvent); notifyEvent(t,emEvent) - case _::t => notifyEvent(t,emEvent) + case (obs, entityInt) :: t if extendsInterface(emEvent.entity, entityInt) => + obs.notify(emEvent); notifyEvent(t, emEvent) + case _ :: t => notifyEvent(t, emEvent) } override def add(entity: Property): Unit = { entities += entity - notifyEvent(observers,EMEvents.entityCreated(entity)) + notifyEvent(observers, EMEvents.entityCreated(entity)) } override def delete(entity: Property): Unit = { entities remove entity - notifyEvent(observers,EMEvents.entityDeleted(entity)) + notifyEvent(observers, EMEvents.entityDeleted(entity)) } override def subscribe(observer: Observer, managedEntities: ManagedEntity): Unit = diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/GravityCellEntity.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/GravityCellEntity.scala index 50992913..0890ba19 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/entities/GravityCellEntity.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/GravityCellEntity.scala @@ -1,14 +1,11 @@ package it.unibo.osmos.redux.ecs.entities + import java.util.UUID import it.unibo.osmos.redux.ecs.components._ -/** - * Trait representing a CellEntity with gravity force - */ -trait GravityCellEntity extends CellEntity with GravityProperty with SpecificWeight{ - -} +/** Trait representing a CellEntity with gravity force */ +trait GravityCellEntity extends CellEntity with GravityProperty with SpecificWeight {} object GravityCellEntity { @@ -21,10 +18,10 @@ object GravityCellEntity { typeEntity: TypeComponent, specificWeight: SpecificWeightComponent): GravityCellEntity = GravityCellEntityImpl(CellEntity(acceleration, collidable, dimension, position, speed, visible, typeEntity), - MassComponent(dimension,specificWeight), specificWeight) + MassComponent(dimension, specificWeight), specificWeight) def apply(cell: CellEntity, specificWeight: SpecificWeightComponent): GravityCellEntity = - GravityCellEntityImpl(cell, MassComponent(cell.getDimensionComponent,specificWeight),specificWeight) + GravityCellEntityImpl(cell, MassComponent(cell.getDimensionComponent, specificWeight), specificWeight) private case class GravityCellEntityImpl(cellEntity: CellEntity, mass: MassComponent, specificWeight: SpecificWeightComponent) extends GravityCellEntity { @@ -46,10 +43,11 @@ object GravityCellEntity { override def getMassComponent: MassComponent = mass - /** - * Need to JsonProtocol to serialize the specific weight + /** Need to JsonProtocol to serialize the specific weight + * * @return the SpecificWeight Component */ override def getSpecificWeightComponent: SpecificWeightComponent = specificWeight } + } diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/GravityProperty.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/GravityProperty.scala index 4007ac77..275e7b9b 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/entities/GravityProperty.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/GravityProperty.scala @@ -1,6 +1,4 @@ package it.unibo.osmos.redux.ecs.entities -/** - * Trait representing the properties needed by an entity to exercise gravitational forces - */ -trait GravityProperty extends Position with Mass with Type{} +/** Trait representing the properties needed by an entity to exercise gravitational forces */ +trait GravityProperty extends Position with Mass with Type {} diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/InputProperty.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/InputProperty.scala index 4779c566..5f106a66 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/entities/InputProperty.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/InputProperty.scala @@ -1,8 +1,4 @@ package it.unibo.osmos.redux.ecs.entities -/** - * Trait representing the properties needed by an entity to handle input - */ -trait InputProperty extends Position with Speed with Acceleration with Spawner with Dimension { - -} +/** Trait representing the properties needed by an entity to handle input */ +trait InputProperty extends Position with Speed with Acceleration with Spawner with Dimension {} diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/Mass.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/Mass.scala index 63a26277..f5de412e 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/entities/Mass.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/Mass.scala @@ -2,13 +2,10 @@ package it.unibo.osmos.redux.ecs.entities import it.unibo.osmos.redux.ecs.components.MassComponent -/** - * Trait representing the entity's mass property - */ +/** Trait representing the entity's mass property */ trait Mass extends Property { - /** - * Gets the Mass Component + /** Gets the Mass Component * * @return the Mass Component */ diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/MovableProperty.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/MovableProperty.scala index 54dc741a..9886069e 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/entities/MovableProperty.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/MovableProperty.scala @@ -1,8 +1,4 @@ package it.unibo.osmos.redux.ecs.entities -/** - * Trait representing the properties needed by an entity to be movable - */ -trait MovableProperty extends Acceleration with Position with Speed with Dimension { - -} +/** Trait representing the properties needed by an entity to be movable */ +trait MovableProperty extends Acceleration with Position with Speed with Dimension {} diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/PlayerCellEntity.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/PlayerCellEntity.scala index a27e5080..d732bd56 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/entities/PlayerCellEntity.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/PlayerCellEntity.scala @@ -4,9 +4,8 @@ import java.util.UUID import it.unibo.osmos.redux.ecs.components._ -trait PlayerCellEntity extends CellEntity with InputProperty with Spawner with SentientTargetProperty { - -} +/** Trait representing a CellEntity controllable by the player */ +trait PlayerCellEntity extends CellEntity with InputProperty with Spawner with SentientTargetProperty {} object PlayerCellEntity { def apply(acceleration: AccelerationComponent, @@ -43,4 +42,5 @@ object PlayerCellEntity { override def getSpawnerComponent: SpawnerComponent = spawner } + } diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/Position.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/Position.scala index 91638dd0..e98bf461 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/entities/Position.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/Position.scala @@ -2,15 +2,12 @@ package it.unibo.osmos.redux.ecs.entities import it.unibo.osmos.redux.ecs.components.PositionComponent -/** - * Trait representing the entity's position property - */ +/** Trait representing the entity's position property */ trait Position extends Property { - /** - * Gets the Position Component + /** Gets the position component * - * @return the Position Component + * @return position component */ def getPositionComponent: PositionComponent } diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/Property.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/Property.scala index 0f8c68a9..22900c4d 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/entities/Property.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/Property.scala @@ -1,8 +1,4 @@ package it.unibo.osmos.redux.ecs.entities -/** - * Property base trait - */ -trait Property { - -} +/** Property base trait */ +trait Property {} diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientCellEntity.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientCellEntity.scala index ee378d15..414936ab 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientCellEntity.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientCellEntity.scala @@ -4,9 +4,8 @@ import java.util.UUID import it.unibo.osmos.redux.ecs.components._ -trait SentientCellEntity extends CellEntity with SentientProperty { - -} +/** Trait representing a sentient cell */ +trait SentientCellEntity extends CellEntity with SentientProperty {} object SentientCellEntity { def apply(acceleration: AccelerationComponent, diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientEnemyProperty.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientEnemyProperty.scala index 9bccdd76..06c080bc 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientEnemyProperty.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientEnemyProperty.scala @@ -1,5 +1,6 @@ package it.unibo.osmos.redux.ecs.entities -trait SentientEnemyProperty extends Position with Speed with Dimension with Type { - -} +/** Trait representing the properties needed by an entity + * to be seen as an enemy by the sentient cells + */ +trait SentientEnemyProperty extends Position with Speed with Dimension with Type {} diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientProperty.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientProperty.scala index 5fe872b6..c5afb1c5 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientProperty.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientProperty.scala @@ -1,5 +1,4 @@ package it.unibo.osmos.redux.ecs.entities -trait SentientProperty extends Position with Speed with Acceleration with Dimension { - -} +/** Trait representing the properties needed by an entity to be sentient */ +trait SentientProperty extends Position with Speed with Acceleration with Dimension {} diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientTargetProperty.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientTargetProperty.scala index 0cb86805..a274af33 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientTargetProperty.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientTargetProperty.scala @@ -1,5 +1,6 @@ package it.unibo.osmos.redux.ecs.entities -trait SentientTargetProperty extends Position with Speed with Dimension { - -} +/** Trait representing the properties needed by an entity + * to be the target of the sentient cells + */ +trait SentientTargetProperty extends Position with Speed with Dimension {} diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/Spawner.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/Spawner.scala index ffb5b244..d1b14c6b 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/entities/Spawner.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/Spawner.scala @@ -2,9 +2,10 @@ package it.unibo.osmos.redux.ecs.entities import it.unibo.osmos.redux.ecs.components.SpawnerComponent +/** Trait representing the entity's spawn property */ trait Spawner extends Property { - /** - * Gets the Spawner Component + + /** Gets the Spawner Component * * @return the Spawner Component */ diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/SpecificWeight.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/SpecificWeight.scala index fa88af78..2d5652e5 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/entities/SpecificWeight.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/SpecificWeight.scala @@ -2,13 +2,10 @@ package it.unibo.osmos.redux.ecs.entities import it.unibo.osmos.redux.ecs.components.SpecificWeightComponent -/** - * Trait representing the entity's specific weight property. - */ +/** Trait representing the entity's specific weight property. */ trait SpecificWeight extends Property { - /** - * Gets the SpecificWeight Component + /** Gets the SpecificWeight Component * * @return the SpecificWeight Component */ diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/Speed.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/Speed.scala index 7b06f382..c37a5be6 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/entities/Speed.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/Speed.scala @@ -2,13 +2,10 @@ package it.unibo.osmos.redux.ecs.entities import it.unibo.osmos.redux.ecs.components.SpeedComponent -/** - * Trait representing the entity's speed property - */ +/** Trait representing the entity's speed property */ trait Speed extends Property { - /** - * Gets the Speed Component + /** Gets the Speed Component * * @return the Speed Component */ diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/Type.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/Type.scala index 3da99dbf..1ce6fe5e 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/entities/Type.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/Type.scala @@ -2,13 +2,10 @@ package it.unibo.osmos.redux.ecs.entities import it.unibo.osmos.redux.ecs.components.TypeComponent -/** - * Trait representing the entity's type property - */ -trait Type extends Property{ +/** Trait representing the entity's type property */ +trait Type extends Property { - /** - * Gets the Type Component + /** Gets the Type Component * * @return the Type Component */ diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/Visible.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/Visible.scala index dc73ba94..9aa92b0d 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/entities/Visible.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/Visible.scala @@ -2,13 +2,10 @@ package it.unibo.osmos.redux.ecs.entities import it.unibo.osmos.redux.ecs.components.VisibleComponent -/** - * Trait representing the entity's visible property - */ +/** Trait representing the entity's visible property */ trait Visible extends Property { - /** - * Gets the Visible Component + /** Gets the Visible Component * * @return the Visible Component */ From e753cf842f3b4fdd7ad40c5d60543162bca5e9db Mon Sep 17 00:00:00 2001 From: Placu Date: Tue, 21 Aug 2018 13:59:16 +0200 Subject: [PATCH 12/91] refactor field typeEntity --- .../it/unibo/osmos/redux/TestSystemWithThreeTypeOfEntity.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/scala/it/unibo/osmos/redux/TestSystemWithThreeTypeOfEntity.scala b/src/test/scala/it/unibo/osmos/redux/TestSystemWithThreeTypeOfEntity.scala index 51de0ece..20fc3576 100644 --- a/src/test/scala/it/unibo/osmos/redux/TestSystemWithThreeTypeOfEntity.scala +++ b/src/test/scala/it/unibo/osmos/redux/TestSystemWithThreeTypeOfEntity.scala @@ -34,7 +34,7 @@ class TestSystemWithThreeTypeOfEntity extends FunSuite with BeforeAndAfter { val dimension = DimensionComponent(5) val position = PositionComponent(Point(0, 0)) val visible = VisibleComponent(true) - val typeEntity = TypeComponent(EntityType.Material) + val typeEntity = TypeComponent(EntityType.Matter) val spawner = SpawnerComponent(false) val typeGravity = TypeComponent(EntityType.Attractive) val specificWeight = SpecificWeightComponent(1) From 0923d6fc4cd0cb603aeac20077b51e6dc049cdcc Mon Sep 17 00:00:00 2001 From: Placu Date: Tue, 21 Aug 2018 14:00:09 +0200 Subject: [PATCH 13/91] remove empty raw --- .../scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala index ade3c563..64de7a0a 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala @@ -75,7 +75,6 @@ case class CollisionSystem() extends AbstractSystem[CollidableProperty] { case (EntityType.AntiMatter, _) | (_, EntityType.AntiMatter) => bigEntity.getDimensionComponent.radius_(bigRadius - exchangedRadiusValue) case _ => bigEntity.getDimensionComponent.radius_(bigRadius + exchangedRadiusValue) } - } From 6a67eb745d952f347bb5fe5218aa1b7c9fa82db8 Mon Sep 17 00:00:00 2001 From: Placu Date: Tue, 21 Aug 2018 14:00:44 +0200 Subject: [PATCH 14/91] add test for collision with antiMatter entity --- .../osmos/redux/TestCollisionSystem.scala | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala b/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala index 73e3de68..72b38182 100644 --- a/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala +++ b/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala @@ -12,6 +12,8 @@ class TestCollisionSystem extends FunSuite { PositionComponent(Point(20, 30)), SpeedComponent(0, 0), VisibleComponent(true), TypeComponent(EntityType.Matter)) val entity2 = CellEntity(AccelerationComponent(0,0), CollidableComponent(true), DimensionComponent(2), PositionComponent(Point(60, 80)), SpeedComponent(0, 0), VisibleComponent(true), TypeComponent(EntityType.Matter)) + val antiMatterEntity = CellEntity(AccelerationComponent(0,0), CollidableComponent(true), DimensionComponent(2), + PositionComponent(Point(65, 81)), SpeedComponent(0, 0), VisibleComponent(true), TypeComponent(EntityType.AntiMatter)) test("CollisionSystem should not collide the entity with herself") { val system = CollisionSystem() @@ -86,7 +88,28 @@ class TestCollisionSystem extends FunSuite { system.update() - assert(entity1.getDimensionComponent != originalDim1 && entity1.getAccelerationComponent != originalAccel1 && - entity2.getDimensionComponent != originalDim2 && entity2.getAccelerationComponent != originalAccel2) + assert(entity1.getDimensionComponent.radius > originalDim1.radius && entity1.getAccelerationComponent != originalAccel1 && + entity2.getDimensionComponent.radius < originalDim2.radius && entity2.getAccelerationComponent != originalAccel2) + } + + test("Collision with AntiMatter entity should reduce both dimension's entity") { + val system = CollisionSystem() + + entity1.getDimensionComponent.radius_(5) + entity1.getPositionComponent.point_(Point(60, 80)) + entity1.getCollidableComponent.setCollidable(true) + + val originalDim1 = DimensionComponent(entity1.getDimensionComponent.radius) + val originalAccel1 = AccelerationComponent(entity1.getAccelerationComponent.vector.x, entity1.getAccelerationComponent.vector.y) + val originalDim2 = DimensionComponent(antiMatterEntity.getDimensionComponent.radius) + val originalAccel2 = AccelerationComponent(antiMatterEntity.getAccelerationComponent.vector.x, antiMatterEntity.getAccelerationComponent.vector.y) + + EntityManager.add(entity1) + EntityManager.add(antiMatterEntity) + + system.update() + + assert(entity1.getDimensionComponent.radius < originalDim1.radius && entity1.getAccelerationComponent != originalAccel1 && + antiMatterEntity.getDimensionComponent.radius < originalDim2.radius && antiMatterEntity.getAccelerationComponent != originalAccel2) } } From 6225f46a15d5de395a6432c2faed4e81ad7597a7 Mon Sep 17 00:00:00 2001 From: Placu Date: Tue, 21 Aug 2018 14:16:46 +0200 Subject: [PATCH 15/91] add antiMatter cell il config level 1 --- src/main/resources/levels/1.json | 39 ++++---------------------------- 1 file changed, 5 insertions(+), 34 deletions(-) diff --git a/src/main/resources/levels/1.json b/src/main/resources/levels/1.json index 33d25cc8..f891c20f 100644 --- a/src/main/resources/levels/1.json +++ b/src/main/resources/levels/1.json @@ -83,39 +83,10 @@ }, "cellType": "basicCell", "dimension": { - "radius": 25.0 - }, - "speed": { - "speedX": 0.1, - "speedY": 0.5 - } - }, - { - "acceleration": { - "accelerationX": 0.0, - "accelerationY": 0.0 - }, - "visible": { - "visible": true - }, - "collidable": { - "collidable": true - }, - "typeEntity": { - "entity_type": "Matter" - }, - "position": { - "point": { - "x": 600.0, - "y": 400.0 - } - }, - "cellType": "basicCell", - "dimension": { - "radius": 25.0 + "radius": 28.0 }, "speed": { - "speedX": 0.1, + "speedX": 0.3, "speedY": 0.5 } }, @@ -131,17 +102,17 @@ "collidable": true }, "typeEntity": { - "entity_type": "Matter" + "entity_type": "AntiMatter" }, "position": { "point": { "x": 600.0, - "y": 400.0 + "y": 300.0 } }, "cellType": "basicCell", "dimension": { - "radius": 28.0 + "radius": 20.0 }, "speed": { "speedX": 0.3, From 1017f7042c251c92b4830ad6e14d409985339203 Mon Sep 17 00:00:00 2001 From: Giacomo Date: Tue, 21 Aug 2018 15:52:13 +0200 Subject: [PATCH 16/91] add scala to prolog wrapper --- build.gradle | 1 + .../osmos/redux/ecs/systems/Scala2P.scala | 29 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 src/main/scala/it/unibo/osmos/redux/ecs/systems/Scala2P.scala diff --git a/build.gradle b/build.gradle index eacca8e2..64717aa7 100644 --- a/build.gradle +++ b/build.gradle @@ -44,6 +44,7 @@ dependencies { compile 'org.apache.commons:commons-lang3:3.6' compile group: 'org.scalafx', name: 'scalafx_2.12', version: '8.0.144-R12' compile group: 'io.spray', name: 'spray-json_2.12', version: '1.3.4' + compile group: 'it.unibo.alice.tuprolog', name: 'tuprolog', version: '3.2.1' testCompile group: 'junit', name: 'junit', version: '4.12' testCompile group: 'org.scalatest', name: 'scalatest_2.12', version: '3.0.5' diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/Scala2P.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/Scala2P.scala new file mode 100644 index 00000000..197a77a0 --- /dev/null +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/Scala2P.scala @@ -0,0 +1,29 @@ +package it.unibo.osmos.redux.ecs.systems + +import alice.tuprolog._ + +object Scala2P { + + def extractTerm(t:Term, i:Integer): Term = + t.asInstanceOf[Struct].getArg(i).getTerm + + implicit def stringToTerm(s: String): Term = Term.createTerm(s) + implicit def seqToTerm[T](s: Seq[T]): Term = s.mkString("[",",","]") + + def mkPrologEngine(clauses: String*): Term => Stream[Term] = { + goal => new Iterable[Term]{ + val engine = new Prolog + engine.setTheory(new Theory(clauses mkString " ")) + + override def iterator = new Iterator[Term]{ + var solution = engine.solve(goal); + + override def hasNext = solution.isSuccess || + solution.hasOpenAlternatives + + override def next() = + try solution.getSolution finally solution = engine.solveNext() + } + }.toStream + } +} From bfb9dd945566978afc5b9b6eb861cec5dc7555ab Mon Sep 17 00:00:00 2001 From: Placu Date: Wed, 22 Aug 2018 12:11:44 +0200 Subject: [PATCH 17/91] add method for euclideanDistance between two PositionComponent --- .../scala/it/unibo/osmos/redux/utils/MathUtils.scala | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/main/scala/it/unibo/osmos/redux/utils/MathUtils.scala b/src/main/scala/it/unibo/osmos/redux/utils/MathUtils.scala index 2e369f42..5bb64643 100644 --- a/src/main/scala/it/unibo/osmos/redux/utils/MathUtils.scala +++ b/src/main/scala/it/unibo/osmos/redux/utils/MathUtils.scala @@ -1,5 +1,7 @@ package it.unibo.osmos.redux.utils +import it.unibo.osmos.redux.ecs.components.PositionComponent + /** * Utility class that offers math related useful methods */ @@ -37,6 +39,16 @@ object MathUtils { def euclideanDistance(point1: Point, point2: Point): Double = Math.sqrt(Math.pow(point1.x - point2.x, 2) + Math.pow(point1.y - point2.y, 2)) + /** + * Returns the Euclidean distance in 2D space + * + * @param position1 first position + * @param position2 second position + * @return Euclidean distance + */ + def euclideanDistance(position1: PositionComponent, position2: PositionComponent): Double = + euclideanDistance(position1.point, position2.point) + /** * Returns the area of a circle of a given radius * From a1e4a4b4f91523e4fd0926574612de9d9d78ad8f Mon Sep 17 00:00:00 2001 From: Andrea Procucci Date: Wed, 22 Aug 2018 14:17:32 +0200 Subject: [PATCH 18/91] Add drawableWrapper formatter into json protocols --- src/main/resources/levels/1.json | 10 ++++----- src/main/resources/levels/2.json | 10 ++++----- src/main/resources/levels/3.json | 2 +- src/main/resources/levels/4.json | 14 ++++++------ .../osmos/redux/mvc/model/JsonProtocols.scala | 22 +++++++++++++++---- src/test/resources/levels/1.json | 6 ++--- 6 files changed, 39 insertions(+), 25 deletions(-) diff --git a/src/main/resources/levels/1.json b/src/main/resources/levels/1.json index f891c20f..eb661513 100644 --- a/src/main/resources/levels/1.json +++ b/src/main/resources/levels/1.json @@ -15,7 +15,7 @@ "canSpawn": true }, "typeEntity": { - "entity_type": "Matter" + "componentType": "Matter" }, "position": { "point": { @@ -44,7 +44,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "Matter" + "componentType": "Matter" }, "position": { "point": { @@ -73,7 +73,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "Matter" + "componentType": "Matter" }, "position": { "point": { @@ -102,7 +102,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "AntiMatter" + "componentType": "AntiMatter" }, "position": { "point": { @@ -131,7 +131,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "Matter" + "componentType": "Matter" }, "position": { "point": { diff --git a/src/main/resources/levels/2.json b/src/main/resources/levels/2.json index ddcd4a5e..76375d9c 100644 --- a/src/main/resources/levels/2.json +++ b/src/main/resources/levels/2.json @@ -11,7 +11,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "Matter" + "componentType": "Matter" }, "position": { "point": { @@ -39,7 +39,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "Matter" + "componentType": "Matter" }, "position": { "point": { @@ -67,7 +67,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "Matter" + "componentType": "Matter" }, "position": { "point": { @@ -95,7 +95,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "Matter" + "componentType": "Matter" }, "position": { "point": { @@ -126,7 +126,7 @@ "canSpawn": true }, "typeEntity": { - "entity_type": "Matter" + "componentType": "Matter" }, "position": { "point": { diff --git a/src/main/resources/levels/3.json b/src/main/resources/levels/3.json index 4bed6235..17df0708 100644 --- a/src/main/resources/levels/3.json +++ b/src/main/resources/levels/3.json @@ -42,7 +42,7 @@ "canSpawn": true }, "typeEntity": { - "entity_type": "Matter" + "componentType": "Matter" }, "position": { "point": { diff --git a/src/main/resources/levels/4.json b/src/main/resources/levels/4.json index 6000a34c..33e78527 100644 --- a/src/main/resources/levels/4.json +++ b/src/main/resources/levels/4.json @@ -11,7 +11,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "Matter" + "componentType": "Matter" }, "position": { "point": { @@ -39,7 +39,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "Matter" + "componentType": "Matter" }, "position": { "point": { @@ -67,7 +67,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "Matter" + "componentType": "Matter" }, "position": { "point": { @@ -95,7 +95,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "Matter" + "componentType": "Matter" }, "position": { "point": { @@ -123,7 +123,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "Matter" + "componentType": "Matter" }, "position": { "point": { @@ -151,7 +151,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "Matter" + "componentType": "Matter" }, "position": { "point": { @@ -182,7 +182,7 @@ "canSpawn": true }, "typeEntity": { - "entity_type": "Matter" + "componentType": "Matter" }, "position": { "point": { diff --git a/src/main/scala/it/unibo/osmos/redux/mvc/model/JsonProtocols.scala b/src/main/scala/it/unibo/osmos/redux/mvc/model/JsonProtocols.scala index 7829f816..247b6a57 100644 --- a/src/main/scala/it/unibo/osmos/redux/mvc/model/JsonProtocols.scala +++ b/src/main/scala/it/unibo/osmos/redux/mvc/model/JsonProtocols.scala @@ -3,6 +3,7 @@ import spray.json._ import DefaultJsonProtocol._ import it.unibo.osmos.redux.ecs.components._ import it.unibo.osmos.redux.ecs.entities.{CellEntity, GravityCellEntity, PlayerCellEntity} +import it.unibo.osmos.redux.mvc.view.drawables.DrawableWrapper import it.unibo.osmos.redux.utils.Point import org.apache.commons.lang3.SerializationException @@ -87,12 +88,23 @@ object JsonProtocols { } } - implicit object EntityTypeFormatter extends RootJsonFormat[TypeComponent] { + implicit object EntityTypeFormatter extends RootJsonFormat[EntityType.Value] { + def write(entityType: EntityType.Value) = + JsObject("entityType" -> JsString(entityType.toString)) + def read(value: JsValue): EntityType.Value = { + value.asJsObject.getFields("entityType") match { + case Seq(JsString(entityType)) => EntityType.withName(entityType) + case _ => throw DeserializationException("EntityType component expected") + } + } + } + + implicit object ComponentTypeFormatter extends RootJsonFormat[TypeComponent] { def write(entityType: TypeComponent) = - JsObject("entity_type" -> JsString(entityType.typeEntity.toString)) + JsObject("componentType" -> JsString(entityType.typeEntity.toString)) def read(value: JsValue): TypeComponent = { - value.asJsObject.getFields("entity_type") match { - case Seq(JsString(entityType)) => TypeComponent(EntityType.withName(entityType)) + value.asJsObject.getFields("componentType") match { + case Seq(JsString(componentType)) => TypeComponent(EntityType.withName(componentType)) case _ => throw DeserializationException("Type component component expected") } } @@ -276,4 +288,6 @@ object JsonProtocols { } implicit val levelFormatter:RootJsonFormat[Level] = jsonFormat5(Level) + + implicit val drawableWrapper:RootJsonFormat[DrawableWrapper] = jsonFormat4(DrawableWrapper) } diff --git a/src/test/resources/levels/1.json b/src/test/resources/levels/1.json index b5a97afd..e303b938 100644 --- a/src/test/resources/levels/1.json +++ b/src/test/resources/levels/1.json @@ -11,7 +11,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "Matter" + "componentType": "Matter" }, "position": { "point": { @@ -42,7 +42,7 @@ "canSpawn": true }, "typeEntity": { - "entity_type": "Matter" + "componentType": "Matter" }, "position": { "point": { @@ -73,7 +73,7 @@ "collidable": true }, "typeEntity": { - "entity_type": "Matter" + "componentType": "Matter" }, "position": { "point": { From f6899f616b0c9ce6d60520538984eaf41d29880b Mon Sep 17 00:00:00 2001 From: Andrea Procucci Date: Wed, 22 Aug 2018 14:46:19 +0200 Subject: [PATCH 19/91] Add conversion for sentient cell --- .../osmos/redux/mvc/model/JsonProtocols.scala | 35 +++++++++++++++++-- .../unibo/osmos/redux/mvc/model/Level.scala | 1 + src/test/resources/levels/1.json | 25 +++++++++++++ .../osmos/redux/TestJsonConversion.scala | 25 +++++++++++-- 4 files changed, 82 insertions(+), 4 deletions(-) diff --git a/src/main/scala/it/unibo/osmos/redux/mvc/model/JsonProtocols.scala b/src/main/scala/it/unibo/osmos/redux/mvc/model/JsonProtocols.scala index 247b6a57..1288b75c 100644 --- a/src/main/scala/it/unibo/osmos/redux/mvc/model/JsonProtocols.scala +++ b/src/main/scala/it/unibo/osmos/redux/mvc/model/JsonProtocols.scala @@ -2,7 +2,7 @@ package it.unibo.osmos.redux.mvc.model import spray.json._ import DefaultJsonProtocol._ import it.unibo.osmos.redux.ecs.components._ -import it.unibo.osmos.redux.ecs.entities.{CellEntity, GravityCellEntity, PlayerCellEntity} +import it.unibo.osmos.redux.ecs.entities.{CellEntity, GravityCellEntity, PlayerCellEntity, SentientCellEntity} import it.unibo.osmos.redux.mvc.view.drawables.DrawableWrapper import it.unibo.osmos.redux.utils.Point import org.apache.commons.lang3.SerializationException @@ -191,8 +191,37 @@ object JsonProtocols { } } + implicit object SentientCellEntityFormatter extends RootJsonFormat[SentientCellEntity] { + def write(sentientCell: SentientCellEntity) = JsObject( + "cellType" -> JsString(CellType.sentientCell), + "acceleration" -> sentientCell.getAccelerationComponent.toJson, + "collidable" -> sentientCell.getCollidableComponent.toJson, + "dimension" -> sentientCell.getDimensionComponent.toJson, + "position" -> sentientCell.getPositionComponent.toJson, + "speed" -> sentientCell.getSpeedComponent.toJson, + "visible" -> sentientCell.getVisibleComponent.toJson) + def read(value: JsValue): SentientCellEntity = { + value.asJsObject.getFields("acceleration", + "collidable", + "dimension", + "position", + "speed", + "visible") match { + case Seq(acceleration, collidable, dimension, position, speed, visible) => + SentientCellEntity(acceleration.convertTo[AccelerationComponent], + collidable.convertTo[CollidableComponent], + dimension.convertTo[DimensionComponent], + position.convertTo[PositionComponent], + speed.convertTo[SpeedComponent], + visible.convertTo[VisibleComponent]) + case _ => throw DeserializationException("Sentient cell entity expected") + } + } + } + implicit object CellEntityFormatter extends RootJsonFormat[CellEntity] { def write(cellEntity: CellEntity): JsValue = cellEntity match { + case sc : SentientCellEntity => sc.toJson case gc : GravityCellEntity => gc.toJson case pce : PlayerCellEntity => pce.toJson case _ : CellEntity => JsObject( "cellType" -> JsString(CellType.basicCell), @@ -224,11 +253,13 @@ object JsonProtocols { speed.convertTo[SpeedComponent], visible.convertTo[VisibleComponent], typeEntity.convertTo[TypeComponent]) + case Seq(JsString(CellType.sentientCell), _, _, _, _, _, _) => + value.convertTo[SentientCellEntity] case Seq(JsString(CellType.gravityCell), _, _, _, _, _, _, _) => value.convertTo[GravityCellEntity] case Seq(JsString(CellType.playerCell), _, _, _, _, _, _, _) => value.convertTo[PlayerCellEntity] - case _ => throw DeserializationException("Cell entity expected") + case Seq(qualcosa, _, _, _, _, _, _, _) => throw DeserializationException("Cell entity expected " + qualcosa) } } } diff --git a/src/main/scala/it/unibo/osmos/redux/mvc/model/Level.scala b/src/main/scala/it/unibo/osmos/redux/mvc/model/Level.scala index 1397576a..82529852 100644 --- a/src/main/scala/it/unibo/osmos/redux/mvc/model/Level.scala +++ b/src/main/scala/it/unibo/osmos/redux/mvc/model/Level.scala @@ -5,6 +5,7 @@ import it.unibo.osmos.redux.ecs.entities.CellEntity * List of cell types */ object CellType { + val sentientCell = "sentientCell" val gravityCell = "gravityCell" val playerCell = "playerCell" val basicCell = "basicCell" diff --git a/src/test/resources/levels/1.json b/src/test/resources/levels/1.json index e303b938..70736186 100644 --- a/src/test/resources/levels/1.json +++ b/src/test/resources/levels/1.json @@ -89,6 +89,31 @@ "speedX": 4.0, "speedY": 0.0 } + },{ + "acceleration": { + "accelerationX": 1.0, + "accelerationY": 1.0 + }, + "visible": { + "visible": true + }, + "collidable": { + "collidable": true + }, + "position": { + "point": { + "x": 0.0, + "y": 0.0 + } + }, + "cellType": "sentientCell", + "dimension": { + "radius": 5.0 + }, + "speed": { + "speedX": 4.0, + "speedY": 0.0 + } }], "levelId": 1, "isSimulation": false, diff --git a/src/test/scala/it/unibo/osmos/redux/TestJsonConversion.scala b/src/test/scala/it/unibo/osmos/redux/TestJsonConversion.scala index 8e5538c5..5dec1c94 100644 --- a/src/test/scala/it/unibo/osmos/redux/TestJsonConversion.scala +++ b/src/test/scala/it/unibo/osmos/redux/TestJsonConversion.scala @@ -29,7 +29,8 @@ class TestJsonConversion extends FunSuite{ val ce = CellEntity(a, c, d, p, s, v, et) val pce = PlayerCellEntity(a, c, d, p, s, v, et, sp) val gc = GravityCellEntity(a, c, d, p, s, v, et, sw) - val listCell:List[CellEntity] = List(ce, pce, gc) + val sc = SentientCellEntity(a, c, d, p, s, v) + val listCell:List[CellEntity] = List(ce, pce, gc, sc) //LevelMap val rectangle:MapShape = Rectangle((50,50),10.1,5.6) val circle:MapShape = Circle((50.1,50.2), 5.7) @@ -64,20 +65,40 @@ class TestJsonConversion extends FunSuite{ assert(jsSpecificWeight.convertTo[SpecificWeightComponent].equals(sw)) } - test("Cells conversion") { + test("Cell Entity conversion") { val jsCellEntity = ce.toJson assert(jsCellEntity.convertTo[CellEntity].equals(ce)) + } + + test("Player Cell Entity conversion"){ val jsPlayerCellEntity = pce.toJson assert(jsPlayerCellEntity.convertTo[PlayerCellEntity].equals(pce)) + } + + test("Gravity Cell Entity conversion"){ val jsGravityCell = gc.toJson assert(jsGravityCell.convertTo[GravityCellEntity].equals(gc)) + } + + test("Sentient Cell Entity conversion") { + val jsSentientCell = sc.toJson + assert(jsSentientCell.convertTo[SentientCellEntity].equals(sc)) + } + + test("List of CellEntity conversion") { val jsListCellEntities = listCell.toJson val convertedCellList = jsListCellEntities.convertTo[List[CellEntity]] + //Check covnerted list size assert(convertedCellList.size == listCell.size) + //Check if the second cell is a player cell assert(convertedCellList(1).getClass.equals(pce.getClass)) assert(!convertedCellList.head.getClass.equals(pce.getClass)) + //Check if the third cell is a gravity cell assert(convertedCellList(2).getClass.equals(gc.getClass)) assert(!convertedCellList.head.getClass.equals(gc.getClass)) + //Check if the fourth cell is a sentient cell + assert(convertedCellList(3).getClass.equals(sc.getClass)) + assert(!convertedCellList.head.getClass.equals(gc.getClass)) } test("Map conversion") { From 1374458fbe2d4c712b5a6582ef2de360dc38b082 Mon Sep 17 00:00:00 2001 From: Placu Date: Wed, 22 Aug 2018 14:52:44 +0200 Subject: [PATCH 20/91] add method for unitVector --- .../it/unibo/osmos/redux/utils/MathUtils.scala | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/main/scala/it/unibo/osmos/redux/utils/MathUtils.scala b/src/main/scala/it/unibo/osmos/redux/utils/MathUtils.scala index 5bb64643..0937b0c3 100644 --- a/src/main/scala/it/unibo/osmos/redux/utils/MathUtils.scala +++ b/src/main/scala/it/unibo/osmos/redux/utils/MathUtils.scala @@ -29,6 +29,20 @@ object MathUtils { Point(point.x / mod, point.y / mod) } + /** + * unitVector from point2 to point1 + * @param point1 + * @param point2 + * @return unitVector + */ + def unitVector(point1: Point, point2: Point): Vector = { + val unitVector = point1.subtract(point2) + val mod = math.sqrt(math.pow(unitVector.x, 2) + math.pow(unitVector.y, 2)) + unitVector.x_(unitVector.x / mod) + unitVector.y_(unitVector.y / mod) + unitVector + } + /** * Returns the Euclidean distance in 2D space * From 4863d9d45d01335bc06a114887fa158ef7280aa7 Mon Sep 17 00:00:00 2001 From: Placu Date: Wed, 22 Aug 2018 15:00:40 +0200 Subject: [PATCH 21/91] add method to limit the length of the vector --- .../scala/it/unibo/osmos/redux/utils/Vector.scala | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/main/scala/it/unibo/osmos/redux/utils/Vector.scala b/src/main/scala/it/unibo/osmos/redux/utils/Vector.scala index c0cf0912..13e2aba9 100644 --- a/src/main/scala/it/unibo/osmos/redux/utils/Vector.scala +++ b/src/main/scala/it/unibo/osmos/redux/utils/Vector.scala @@ -78,6 +78,19 @@ trait Vector { Vector(x * temp, y * temp) } + /** + * Limit the vector's length + * @param maxLength max length of the vector + * @return the limited vector + */ + def limit(maxLength: Double): Vector = { + if (getLength > maxLength) { + getNewLength(maxLength) + } else { + Vector(x,y) + } + } + /** Vector dot product * * @param v vector to use for dot product From f7c14220a738d364d884776c9165a0d4eace0cc8 Mon Sep 17 00:00:00 2001 From: Placu Date: Wed, 22 Aug 2018 15:05:54 +0200 Subject: [PATCH 22/91] add SentientSystem (find and follow target) --- .../redux/ecs/systems/SentientSystem.scala | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala new file mode 100644 index 00000000..596bbb7b --- /dev/null +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala @@ -0,0 +1,35 @@ +package it.unibo.osmos.redux.ecs.systems + +import it.unibo.osmos.redux.ecs.components._ +import it.unibo.osmos.redux.ecs.entities._ +import it.unibo.osmos.redux.utils.{MathUtils} + +import scala.collection.mutable.ListBuffer + +case class SentientSystem() extends AbstractSystemWithTwoTypeOfEntity[SentientProperty, SentientEnemyProperty] { + + private val MAX_SPEED = 4 + private val MAX_ACCELERATION = 0.1 + + override protected def getGroupPropertySecondType: Class[SentientEnemyProperty] = classOf[SentientEnemyProperty] + + override protected def getGroupProperty: Class[SentientProperty] = classOf[SentientProperty] + + override def update(): Unit = followTarget(entities.head, findTarget(entities.head, entitiesSecondType) get) + + private def followTarget(sentient: SentientProperty, target: SentientEnemyProperty): Unit = { + val desiredVelocity = MathUtils.unitVector(target.getPositionComponent.point, sentient.getPositionComponent.point).multiply(MAX_SPEED) + val steer = desiredVelocity.subtract(sentient.getSpeedComponent.vector).limit(MAX_ACCELERATION) + sentient.getAccelerationComponent.vector_(steer) + } + + def findTarget(sentient: SentientProperty, enemies: ListBuffer[SentientEnemyProperty]): Option[SentientEnemyProperty] = + enemies.filter(e => !(e.getTypeComponent.typeEntity == EntityType.AntiMatter) && + sentient.getDimensionComponent.radius > e.getDimensionComponent.radius) + .map(e => (e, targetCoefficient(sentient, e))) + .sortWith((a, b) => a._2 > b._2 ) + .headOption map (_._1) + + private def targetCoefficient(sentient: SentientProperty, enemy: SentientEnemyProperty): Double = + enemy.getDimensionComponent.radius / MathUtils.euclideanDistance(sentient.getPositionComponent, enemy.getPositionComponent) +} From 45cb10d8c06731503d590dc6d72be9eec169fbac Mon Sep 17 00:00:00 2001 From: Placu Date: Wed, 22 Aug 2018 15:27:57 +0200 Subject: [PATCH 23/91] add level with sentient cell --- src/main/resources/levels/5.json | 77 ++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 src/main/resources/levels/5.json diff --git a/src/main/resources/levels/5.json b/src/main/resources/levels/5.json new file mode 100644 index 00000000..0d30aea6 --- /dev/null +++ b/src/main/resources/levels/5.json @@ -0,0 +1,77 @@ +{ + "entities": [ + { + "acceleration": { + "accelerationX": 0.0, + "accelerationY": 0.0 + }, + "visible": { + "visible": true + }, + "collidable": { + "collidable": true + }, + "position": { + "point": { + "x": 10.0, + "y": 30.0 + } + }, + "cellType": "sentientCell", + "dimension": { + "radius": 21.0 + }, + "speed": { + "speedX": 0, + "speedY": 0 + } + }, + { + "acceleration": { + "accelerationX": 0.0, + "accelerationY": 0.0 + }, + "visible": { + "visible": true + }, + "collidable": { + "collidable": true + }, + "spawner": { + "canSpawn": true + }, + "typeEntity": { + "componentType": "Matter" + }, + "position": { + "point": { + "x": 800.0, + "y": 500.0 + } + }, + "cellType": "playerCell", + "dimension": { + "radius": 20.0 + }, + "speed": { + "speedX": 0.0, + "speedY": 0.0 + } + }], + "levelId": 1, + "isSimulation": false, + "victoryRule": { + "victoryRule": "Become_the_biggest" + }, + "levelMap": { + "mapShape": { + "mapShape": "RECTANGLE", + "height": 1000.1, + "base": 1000.6, + "centerX": 501.0, + "centerY": 501.0 + }, + "collisionRule": "Bouncing", + "isSimulation":false + } +} From 6aa80911361be611203af7848b9c76df749be320 Mon Sep 17 00:00:00 2001 From: Placu Date: Wed, 22 Aug 2018 15:30:43 +0200 Subject: [PATCH 24/91] improve update method --- .../it/unibo/osmos/redux/ecs/systems/SentientSystem.scala | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala index 596bbb7b..aa978005 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala @@ -8,14 +8,18 @@ import scala.collection.mutable.ListBuffer case class SentientSystem() extends AbstractSystemWithTwoTypeOfEntity[SentientProperty, SentientEnemyProperty] { - private val MAX_SPEED = 4 + private val MAX_SPEED = 2 private val MAX_ACCELERATION = 0.1 override protected def getGroupPropertySecondType: Class[SentientEnemyProperty] = classOf[SentientEnemyProperty] override protected def getGroupProperty: Class[SentientProperty] = classOf[SentientProperty] - override def update(): Unit = followTarget(entities.head, findTarget(entities.head, entitiesSecondType) get) + override def update(): Unit = for( + sentient <- entities; + target:Option[SentientEnemyProperty] = findTarget(sentient, entitiesSecondType); + if target isDefined + ) yield followTarget(sentient, target get) private def followTarget(sentient: SentientProperty, target: SentientEnemyProperty): Unit = { val desiredVelocity = MathUtils.unitVector(target.getPositionComponent.point, sentient.getPositionComponent.point).multiply(MAX_SPEED) From f0305b1829f5d46e08b839d8d8e71545666cd7b2 Mon Sep 17 00:00:00 2001 From: Placu Date: Wed, 22 Aug 2018 15:31:07 +0200 Subject: [PATCH 25/91] add SentientSystem to gameEngine --- src/main/scala/it/unibo/osmos/redux/ecs/engine/GameEngine.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/engine/GameEngine.scala b/src/main/scala/it/unibo/osmos/redux/ecs/engine/GameEngine.scala index bd7517d6..54e4a9ef 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/engine/GameEngine.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/engine/GameEngine.scala @@ -91,7 +91,7 @@ object GameEngine { //create systems, add to list, the order in this collection is the final system order in the game loop val systems = ListBuffer[System]() if (!level.isSimulation) systems += InputSystem() - systems ++= List(SpawnSystem(), GravitySystem(), MovementSystem(level), CollisionSystem(), CellsEliminationSystem(), DrawSystem(levelContext)) + systems ++= List(SpawnSystem(), GravitySystem(), MovementSystem(level), CollisionSystem(), CellsEliminationSystem(), SentientSystem(), DrawSystem(levelContext)) if(!level.isSimulation) systems += EndGameSystem(levelContext, level.victoryRule) //add all entities in the entity manager (systems are subscribed to EntityManager event when created) From 8da44db8beaf7dab586aeea2c01a743c8c46c033 Mon Sep 17 00:00:00 2001 From: Andrea Procucci Date: Wed, 22 Aug 2018 15:44:27 +0200 Subject: [PATCH 26/91] Add first version for get and/or load custom level --- .../redux/mvc/controller/Controller.scala | 30 +++++++++++++------ .../redux/mvc/controller/FileManager.scala | 5 ++++ ...nLevels.scala => SinglePlayerLevels.scala} | 2 +- 3 files changed, 27 insertions(+), 10 deletions(-) rename src/main/scala/it/unibo/osmos/redux/mvc/model/{CampaignLevels.scala => SinglePlayerLevels.scala} (81%) diff --git a/src/main/scala/it/unibo/osmos/redux/mvc/controller/Controller.scala b/src/main/scala/it/unibo/osmos/redux/mvc/controller/Controller.scala index 187b37f6..6e032f9d 100644 --- a/src/main/scala/it/unibo/osmos/redux/mvc/controller/Controller.scala +++ b/src/main/scala/it/unibo/osmos/redux/mvc/controller/Controller.scala @@ -1,24 +1,20 @@ package it.unibo.osmos.redux.mvc.controller import it.unibo.osmos.redux.ecs.engine.GameEngine -import it.unibo.osmos.redux.mvc.model.{CampaignLevels, Level} +import it.unibo.osmos.redux.mvc.model.SinglePlayerLevels import it.unibo.osmos.redux.mvc.view.levels.LevelContext -import spray.json._ - -import scala.io.Source -import scala.util.Try /** * Controller base trait */ trait Controller { - def initLevel(levelContext: LevelContext, - chosenLevel:Int, - isSimulation:Boolean) + def initLevel(levelContext: LevelContext, chosenLevel:Int, isSimulation:Boolean) def startLevel() def stopLevel() def pauseLevel() def resumeLevel() - def getCampaignLevels:List[(Int,Boolean)] = CampaignLevels.levels.toList + def getSinglePlayerLevels:List[(Int,Boolean)] = SinglePlayerLevels.levels.toList + def getCustomLevels:List[String] + def initCustomLevel(levelContext: LevelContext, chosenLevel:String, isSimulation:Boolean) } case class ControllerImpl() extends Controller { @@ -35,6 +31,20 @@ case class ControllerImpl() extends Controller { levelContext.setupLevel(loadedLevel.levelMap.mapShape) } + override def initCustomLevel(levelContext: LevelContext, + chosenLevel:String, + isSimulation:Boolean): Unit = { + val loadedLevel = FileManager.loadCustomLevel(chosenLevel) + if(loadedLevel.isDefined) { + if (isSimulation) loadedLevel.get.isSimulation = true + if(engine.isEmpty) engine = Some(GameEngine()) + engine.get.init(loadedLevel.get, levelContext) + levelContext.setupLevel(loadedLevel.get.levelMap.mapShape) + } else { + println("File ", chosenLevel, " not found") + } + } + override def startLevel(): Unit = if (engine.isDefined) engine.get.start() override def stopLevel(): Unit = if (engine.isDefined) engine.get.stop() @@ -42,4 +52,6 @@ case class ControllerImpl() extends Controller { override def pauseLevel(): Unit = if (engine.isDefined) engine.get.pause() override def resumeLevel(): Unit = if (engine.isDefined) engine.get.resume() + + override def getCustomLevels: List[String] = FileManager.customLevelsFilesName } diff --git a/src/main/scala/it/unibo/osmos/redux/mvc/controller/FileManager.scala b/src/main/scala/it/unibo/osmos/redux/mvc/controller/FileManager.scala index c2ec0dd3..c35884e7 100644 --- a/src/main/scala/it/unibo/osmos/redux/mvc/controller/FileManager.scala +++ b/src/main/scala/it/unibo/osmos/redux/mvc/controller/FileManager.scala @@ -96,4 +96,9 @@ object FileManager { import it.unibo.osmos.redux.mvc.model.JsonProtocols.levelFormatter Try(text.parseJson.convertTo[Level]) } + + def customLevelsFilesName:List[String] = + new File(levelsDirectory).listFiles((d, name) => name.endsWith(jsonExtension)) + .map(f => f.getName.substring(0,f.getName.length-jsonExtension.length)) + .toList } diff --git a/src/main/scala/it/unibo/osmos/redux/mvc/model/CampaignLevels.scala b/src/main/scala/it/unibo/osmos/redux/mvc/model/SinglePlayerLevels.scala similarity index 81% rename from src/main/scala/it/unibo/osmos/redux/mvc/model/CampaignLevels.scala rename to src/main/scala/it/unibo/osmos/redux/mvc/model/SinglePlayerLevels.scala index 8386b35f..a0ba9442 100644 --- a/src/main/scala/it/unibo/osmos/redux/mvc/model/CampaignLevels.scala +++ b/src/main/scala/it/unibo/osmos/redux/mvc/model/SinglePlayerLevels.scala @@ -1,5 +1,5 @@ package it.unibo.osmos.redux.mvc.model -object CampaignLevels { +object SinglePlayerLevels { val levels:Map[Int,Boolean] = Map(1 -> true, 2 -> true, 3 -> true, 4 -> false) } From e9f5e5fbc3df2d7e239e32e62956f15a7b2f15b4 Mon Sep 17 00:00:00 2001 From: Andrea Procucci Date: Wed, 22 Aug 2018 17:14:50 +0200 Subject: [PATCH 27/91] Add user progress management --- .../redux/mvc/controller/FileManager.scala | 66 +++++++++++++++---- .../osmos/redux/mvc/model/JsonProtocols.scala | 5 +- .../osmos/redux/mvc/model/UserProgress.scala | 11 ++++ 3 files changed, 68 insertions(+), 14 deletions(-) create mode 100644 src/main/scala/it/unibo/osmos/redux/mvc/model/UserProgress.scala diff --git a/src/main/scala/it/unibo/osmos/redux/mvc/controller/FileManager.scala b/src/main/scala/it/unibo/osmos/redux/mvc/controller/FileManager.scala index c35884e7..9f29830f 100644 --- a/src/main/scala/it/unibo/osmos/redux/mvc/controller/FileManager.scala +++ b/src/main/scala/it/unibo/osmos/redux/mvc/controller/FileManager.scala @@ -3,7 +3,12 @@ package it.unibo.osmos.redux.mvc.controller import java.io.{File, PrintWriter} import java.nio.file.{FileSystem, FileSystems, Files, Path} +import it.unibo.osmos.redux.ecs.components._ +import it.unibo.osmos.redux.ecs.entities._ +import it.unibo.osmos.redux.mvc.model.MapShape.{Circle, Rectangle} +import it.unibo.osmos.redux.mvc.model.UserProgress.UserStat import it.unibo.osmos.redux.mvc.model._ +import it.unibo.osmos.redux.utils.Point import spray.json._ import scala.io.{BufferedSource, Source} @@ -17,8 +22,13 @@ object FileManager { val defaultFS: FileSystem = FileSystems.getDefault val systemSeparator: String = defaultFS.getSeparator val userHome: String = System.getProperty("user.home") - val levelsDirectory: String = userHome + systemSeparator + "Osmos-Redux" + - systemSeparator + "CustomLevels" + systemSeparator + val gameDirectory:String = "Osmos-Redux" + systemSeparator + val levelsDirectory: String = userHome + systemSeparator + gameDirectory + + "CustomLevels" + systemSeparator + val userProgressFileName = "UserProgress" + val userProgressDirectory:String = userHome + systemSeparator + gameDirectory + + userProgressFileName + systemSeparator + /** * Reads a file from the resources folder @@ -67,24 +77,54 @@ object FileManager { Some(path) } + + def loadFile(filePath:String):Option[String] = { + val source: Try[BufferedSource] = Try(Source.fromFile(defaultFS.getPath(filePath).toUri)) + if (source.isSuccess) { + try return Some(source.get.mkString) + catch { + case e:Throwable => println("Error reading file: ", filePath,e.printStackTrace()) + } + finally source.get.close() + } + None + } + + def loadUserProgress(): Option[UserStat] = { + import it.unibo.osmos.redux.mvc.model.JsonProtocols.userProgressFormatter + loadFile(userProgressDirectory + userProgressFileName + jsonExtension) match { + case Some(text) => Option(text.parseJson.convertTo[UserStat]) + case _ => None + } + } + + def saveUserProgress(userProgress: UserStat): Option[Path] = { + val path: Path = defaultFS.getPath(userProgressDirectory + userProgressFileName + jsonExtension) + val upFile = new File(path.toUri) + if (Try(upFile.getParentFile.mkdirs()).isFailure) { + println("Error: SecurityException directories are protected") + return None + } + val writer = new PrintWriter(upFile) + import it.unibo.osmos.redux.mvc.model.JsonProtocols._ + try writer.write(userProgress.toJson.prettyPrint) + catch { + case e: Throwable => println("Exception occurred writing on file: ",e.printStackTrace()) + return None + } finally writer.close() + Some(path) + } + /** * Load level from file saved into user home directory * @param fileName the name of file * @return an option with the required level if it doesn't fail */ def loadCustomLevel(fileName: String): Option[Level] = { - val source: Try[BufferedSource] = Try(Source.fromFile(defaultFS.getPath(levelsDirectory + fileName + jsonExtension).toUri)) - if (source.isSuccess) { - val lines = try source.get.mkString - catch { - case e:Throwable => println("Error reading custom level file: ", e) - return None - } - finally source.get.close() - val tryLevel = textToLevel(lines) - if (tryLevel.isSuccess) return Some(tryLevel.get) + loadFile(levelsDirectory + fileName + jsonExtension) match { + case Some(text) => textToLevel(text).toOption + case _ => None } - None } /** diff --git a/src/main/scala/it/unibo/osmos/redux/mvc/model/JsonProtocols.scala b/src/main/scala/it/unibo/osmos/redux/mvc/model/JsonProtocols.scala index 1288b75c..4026b3b0 100644 --- a/src/main/scala/it/unibo/osmos/redux/mvc/model/JsonProtocols.scala +++ b/src/main/scala/it/unibo/osmos/redux/mvc/model/JsonProtocols.scala @@ -3,6 +3,7 @@ import spray.json._ import DefaultJsonProtocol._ import it.unibo.osmos.redux.ecs.components._ import it.unibo.osmos.redux.ecs.entities.{CellEntity, GravityCellEntity, PlayerCellEntity, SentientCellEntity} +import it.unibo.osmos.redux.mvc.model.UserProgress.UserStat import it.unibo.osmos.redux.mvc.view.drawables.DrawableWrapper import it.unibo.osmos.redux.utils.Point import org.apache.commons.lang3.SerializationException @@ -320,5 +321,7 @@ object JsonProtocols { implicit val levelFormatter:RootJsonFormat[Level] = jsonFormat5(Level) - implicit val drawableWrapper:RootJsonFormat[DrawableWrapper] = jsonFormat4(DrawableWrapper) + implicit val drawableWrapperFormatter:RootJsonFormat[DrawableWrapper] = jsonFormat4(DrawableWrapper) + + implicit val userProgressFormatter:RootJsonFormat[UserStat] = jsonFormat1(UserStat) } diff --git a/src/main/scala/it/unibo/osmos/redux/mvc/model/UserProgress.scala b/src/main/scala/it/unibo/osmos/redux/mvc/model/UserProgress.scala new file mode 100644 index 00000000..f78aaf39 --- /dev/null +++ b/src/main/scala/it/unibo/osmos/redux/mvc/model/UserProgress.scala @@ -0,0 +1,11 @@ +package it.unibo.osmos.redux.mvc.model + +object UserProgress { + private var usrProgress:Option[UserStat] = None + + def synchronizeWithFile(userProgress:UserStat): Unit = usrProgress = Some(userProgress) + + def getUserProgress:Option[UserStat] = usrProgress + + case class UserStat(toDoLevel:Int = 1) +} From bca665e044d022eec3e48c3ade393994aa117332 Mon Sep 17 00:00:00 2001 From: Andrea Procucci Date: Wed, 22 Aug 2018 17:28:20 +0200 Subject: [PATCH 28/91] Minor fix --- .../redux/mvc/controller/FileManager.scala | 86 +++++++++---------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/src/main/scala/it/unibo/osmos/redux/mvc/controller/FileManager.scala b/src/main/scala/it/unibo/osmos/redux/mvc/controller/FileManager.scala index 9f29830f..241951ab 100644 --- a/src/main/scala/it/unibo/osmos/redux/mvc/controller/FileManager.scala +++ b/src/main/scala/it/unibo/osmos/redux/mvc/controller/FileManager.scala @@ -29,7 +29,6 @@ object FileManager { val userProgressDirectory:String = userHome + systemSeparator + gameDirectory + userProgressFileName + systemSeparator - /** * Reads a file from the resources folder * @@ -63,56 +62,25 @@ object FileManager { } } while (flag) val levelFile = new File(path.toUri) - if (Try(levelFile.getParentFile.mkdirs()).isFailure) { - println("Error: SecurityException directories are protected") - return None - } - val writer = new PrintWriter(levelFile) + createDirectoriesTree(levelFile) import it.unibo.osmos.redux.mvc.model.JsonProtocols.levelFormatter - try writer.write(level.toJson.prettyPrint) - catch { - case e: Throwable => println("Exception occurred writing on file: ",e.printStackTrace()) - return None - } finally writer.close() - Some(path) + if (saveToFile(levelFile, level.toJson.prettyPrint)) Some(path) else None } - - def loadFile(filePath:String):Option[String] = { - val source: Try[BufferedSource] = Try(Source.fromFile(defaultFS.getPath(filePath).toUri)) - if (source.isSuccess) { - try return Some(source.get.mkString) - catch { - case e:Throwable => println("Error reading file: ", filePath,e.printStackTrace()) - } - finally source.get.close() - } - None + def saveUserProgress(userProgress: UserStat): Option[Path] = { + val path: Path = defaultFS.getPath(userProgressDirectory + userProgressFileName + jsonExtension) + val upFile = new File(path.toUri) + createDirectoriesTree(upFile) + import it.unibo.osmos.redux.mvc.model.JsonProtocols._ + if (saveToFile(upFile, userProgress.toJson.prettyPrint)) Some(path) else None } def loadUserProgress(): Option[UserStat] = { import it.unibo.osmos.redux.mvc.model.JsonProtocols.userProgressFormatter - loadFile(userProgressDirectory + userProgressFileName + jsonExtension) match { - case Some(text) => Option(text.parseJson.convertTo[UserStat]) - case _ => None - } - } - - def saveUserProgress(userProgress: UserStat): Option[Path] = { - val path: Path = defaultFS.getPath(userProgressDirectory + userProgressFileName + jsonExtension) - val upFile = new File(path.toUri) - if (Try(upFile.getParentFile.mkdirs()).isFailure) { - println("Error: SecurityException directories are protected") - return None + loadFile(userProgressDirectory + userProgressFileName + jsonExtension) match { + case Some(text) => Option(text.parseJson.convertTo[UserStat]) + case _ => None } - val writer = new PrintWriter(upFile) - import it.unibo.osmos.redux.mvc.model.JsonProtocols._ - try writer.write(userProgress.toJson.prettyPrint) - catch { - case e: Throwable => println("Exception occurred writing on file: ",e.printStackTrace()) - return None - } finally writer.close() - Some(path) } /** @@ -127,6 +95,38 @@ object FileManager { } } + def saveToFile(file:File, text: String): Boolean = { + val writer = new PrintWriter(file) + try { + writer.write(text) + return true + } catch { + case e: Throwable => println("Exception occurred writing on file: ", file.getName, + e.printStackTrace()) + } finally writer.close() + false + } + + def loadFile(filePath:String):Option[String] = { + val source: Try[BufferedSource] = Try(Source.fromFile(defaultFS.getPath(filePath).toUri)) + if (source.isSuccess) { + try return Some(source.get.mkString) + catch { + case e:Throwable => println("Error reading file: ", filePath,e.printStackTrace()) + } + finally source.get.close() + } + None + } + + def createDirectoriesTree(file:File):Boolean = { + if (Try(file.getParentFile.mkdirs()).isFailure) { + println("Error: SecurityException directories are protected") + return false + } + true + } + /** * Convert a json string into a Level * @param text json string From 22414edbd611e7b4399d1a3809114fd55b2303a8 Mon Sep 17 00:00:00 2001 From: Giacomo Date: Wed, 22 Aug 2018 21:35:07 +0200 Subject: [PATCH 29/91] update Scala2P wrapper fixing bug not showing correct results, add test class for sentient system --- .../osmos/redux/ecs/systems/Scala2P.scala | 29 --------- .../ecs/systems/SentientPrologSystem.scala | 50 ++++++++++++++++ .../it/unibo/osmos/redux/utils/Scala2P.scala | 42 +++++++++++++ .../redux/TestSentientPrologSystem.scala | 60 +++++++++++++++++++ 4 files changed, 152 insertions(+), 29 deletions(-) delete mode 100644 src/main/scala/it/unibo/osmos/redux/ecs/systems/Scala2P.scala create mode 100644 src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientPrologSystem.scala create mode 100644 src/main/scala/it/unibo/osmos/redux/utils/Scala2P.scala create mode 100644 src/test/scala/it/unibo/osmos/redux/TestSentientPrologSystem.scala diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/Scala2P.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/Scala2P.scala deleted file mode 100644 index 197a77a0..00000000 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/Scala2P.scala +++ /dev/null @@ -1,29 +0,0 @@ -package it.unibo.osmos.redux.ecs.systems - -import alice.tuprolog._ - -object Scala2P { - - def extractTerm(t:Term, i:Integer): Term = - t.asInstanceOf[Struct].getArg(i).getTerm - - implicit def stringToTerm(s: String): Term = Term.createTerm(s) - implicit def seqToTerm[T](s: Seq[T]): Term = s.mkString("[",",","]") - - def mkPrologEngine(clauses: String*): Term => Stream[Term] = { - goal => new Iterable[Term]{ - val engine = new Prolog - engine.setTheory(new Theory(clauses mkString " ")) - - override def iterator = new Iterator[Term]{ - var solution = engine.solve(goal); - - override def hasNext = solution.isSuccess || - solution.hasOpenAlternatives - - override def next() = - try solution.getSolution finally solution = engine.solveNext() - } - }.toStream - } -} diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientPrologSystem.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientPrologSystem.scala new file mode 100644 index 00000000..744627b9 --- /dev/null +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientPrologSystem.scala @@ -0,0 +1,50 @@ +package it.unibo.osmos.redux.ecs.systems + +import alice.tuprolog.{SolveInfo, Struct, Term} +import it.unibo.osmos.redux.ecs.entities.{SentientEnemyProperty, SentientProperty} +import it.unibo.osmos.redux.utils.Scala2P._ + +import scala.collection.mutable.ListBuffer + +case class SentientPrologSystem() extends AbstractSystemWithTwoTypeOfEntity[SentientProperty, SentientEnemyProperty]() { + + private val engine: Term => Stream[SolveInfo] = mkPrologEngine( + """ + followTarget(S,T,2). + followTarget(S,T,3). + member([H|T],H,T). + member([H|T],E,[H|T2]):- member(T,E,T2). + permutation([],[]). + permutation(L,[H|TP]) :- member(L,H,T), permutation(T,TP). + """) + + override protected def getGroupProperty: Class[SentientProperty] = classOf[SentientProperty] + + override protected def getGroupPropertySecondType: Class[SentientEnemyProperty] = classOf[SentientEnemyProperty] + + override def update(): Unit = { + //engine("followTarget(1,2,T)") foreach (println(_)) + entities foreach (sentientEntity => { + //println(sentientEntity) + computeSentientCellBehaviour(sentientEntity, entitiesSecondType) + }) + } + + private def computeSentientCellBehaviour(sentientEntity: SentientProperty, sentientEnemies: ListBuffer[SentientEnemyProperty]): Unit = { + val sentientRadius: Double = sentientEntity.getDimensionComponent.radius + //println(sentientRadius) + + var v = "" + sentientEntity + /*sentientEnemies.foreach(e => { + v = v + "," + e + })*/ + //val t = new Struct(new alice.tuprolog.Int(2), new alice.tuprolog.Int(3)) + //val app = new Struct("permutation", t, new alice.tuprolog.Var()) + //engine(app) foreach (println(_)) + engine("followTarget(1,2,T)") foreach (println(_)) + + //engine("permutation([1,2,3],L)") foreach (println(_)) + //var list2=new Struct(new Term[]{new alice.tuprolog.Int(2),new alice.tuprolog.Int(3)}); + } + +} diff --git a/src/main/scala/it/unibo/osmos/redux/utils/Scala2P.scala b/src/main/scala/it/unibo/osmos/redux/utils/Scala2P.scala new file mode 100644 index 00000000..c3e24912 --- /dev/null +++ b/src/main/scala/it/unibo/osmos/redux/utils/Scala2P.scala @@ -0,0 +1,42 @@ +package it.unibo.osmos.redux.utils + +import alice.tuprolog._ + +object Scala2P { + + def extractTerm(solveInfo:SolveInfo, i:Integer): Term = + solveInfo.getSolution.asInstanceOf[Struct].getArg(i).getTerm + + def extractTerm(solveInfo:SolveInfo, s:String): Term = + solveInfo.getTerm(s) + + + implicit def stringToTerm(s: String): Term = Term.createTerm(s) + implicit def seqToTerm[T](s: Seq[T]): Term = s.mkString("[",",","]") + implicit def stringToTheory[T](s: String): Theory = new Theory(s) + + def mkPrologEngine(theory: Theory): Term => Stream[SolveInfo] = { + val engine = new Prolog + engine.setTheory(theory) + + goal => new Iterable[SolveInfo]{ + + override def iterator = new Iterator[SolveInfo]{ + var solution: Option[SolveInfo] = Some(engine.solve(goal)) + + override def hasNext = solution.isDefined && + (solution.get.isSuccess || solution.get.hasOpenAlternatives) + + override def next() = + try solution.get + finally solution = if (solution.get.hasOpenAlternatives) Some(engine.solveNext()) else None + } + }.toStream + } + + def solveWithSuccess(engine: Term => Stream[SolveInfo], goal: Term): Boolean = + engine(goal).map(_.isSuccess).headOption == Some(true) + + def solveOneAndGetTerm(engine: Term => Stream[SolveInfo], goal: Term, term: String): Term = + engine(goal).headOption map (extractTerm(_,term)) get +} diff --git a/src/test/scala/it/unibo/osmos/redux/TestSentientPrologSystem.scala b/src/test/scala/it/unibo/osmos/redux/TestSentientPrologSystem.scala new file mode 100644 index 00000000..cdf3ee39 --- /dev/null +++ b/src/test/scala/it/unibo/osmos/redux/TestSentientPrologSystem.scala @@ -0,0 +1,60 @@ +package it.unibo.osmos.redux + +import it.unibo.osmos.redux.ecs.components._ +import it.unibo.osmos.redux.ecs.entities.{CellEntity, EntityManager, PlayerCellEntity, SentientCellEntity} +import it.unibo.osmos.redux.ecs.systems.SentientPrologSystem +import it.unibo.osmos.redux.utils.Point +import org.scalatest.{BeforeAndAfter, FunSuite} + +class TestSentientPrologSystem extends FunSuite with BeforeAndAfter { + + after { + EntityManager.clear() + } + + test("Sentient cell hunting smaller cells") { + val sentientPrologSystem = SentientPrologSystem() + EntityManager.subscribe(sentientPrologSystem, null) + + val sca = AccelerationComponent(0, 0) + val scc = CollidableComponent(true) + val scd = DimensionComponent(6) + val scp = PositionComponent(Point(50, 64)) + val scs = SpeedComponent(0, 0) + val scv = VisibleComponent(true) + val sentientCellEntity = SentientCellEntity(sca, scc, scd, scp, scs, scv) + + val ca = AccelerationComponent(0, 0) + val cc = CollidableComponent(true) + val cd = DimensionComponent(4) + val cp = PositionComponent(Point(60, 64)) + val cs = SpeedComponent(0, 0) + val cv = VisibleComponent(true) + val ct = TypeComponent(EntityType.Matter) + val smallerCellEntity = CellEntity(ca, cc, cd, cp, cs, cv, ct) + + val ca2 = AccelerationComponent(0, 0) + val cc2 = CollidableComponent(true) + val cd2 = DimensionComponent(5) + val cp2 = PositionComponent(Point(60, 64)) + val cs2 = SpeedComponent(0, 0) + val cv2 = VisibleComponent(true) + val ct2 = TypeComponent(EntityType.Matter) + val smallerCellEntity2 = CellEntity(ca2, cc2, cd2, cp2, cs2, cv2, ct2) + + EntityManager.add(sentientCellEntity) + EntityManager.add(smallerCellEntity) + EntityManager.add(smallerCellEntity2) + + + sentientPrologSystem.update() + } + + /*test("Sentient cell running from bigger cells") { + // TODO + val sentientPrologSystem = SentientPrologSystem() + EntityManager.subscribe(sentientPrologSystem, null) + + sentientPrologSystem.update() + }*/ +} From dcb7988a4126c8ae67447190a8147834cfacdb8b Mon Sep 17 00:00:00 2001 From: Marco Galassi Date: Thu, 23 Aug 2018 10:37:12 +0200 Subject: [PATCH 30/91] Updated resources (refactored some, added others); Updated LevelScene to draw the texture in a more pleasant way, without tint; Semplified color retrieval --- .../{menu_level_1.png => cell_blue.png} | Bin .../resources/textures/cell_dark_blue.png | Bin 0 -> 28099 bytes .../{menu_level_2.png => cell_green.png} | Bin .../{menu_level_3.png => cell_orange.png} | Bin src/main/resources/textures/cell_purple.png | Bin 0 -> 28233 bytes .../{menu_level_5.png => cell_red.png} | Bin src/main/resources/textures/cell_violet.png | Bin 0 -> 28601 bytes .../{menu_level_4.png => cell_yellow.png} | Bin .../redux/mvc/view/components/LevelNode.scala | 10 ++- .../mvc/view/drawables/CellDrawable.scala | 5 +- .../redux/mvc/view/scenes/LevelScene.scala | 71 ++++++++++-------- 11 files changed, 52 insertions(+), 34 deletions(-) rename src/main/resources/textures/{menu_level_1.png => cell_blue.png} (100%) create mode 100644 src/main/resources/textures/cell_dark_blue.png rename src/main/resources/textures/{menu_level_2.png => cell_green.png} (100%) rename src/main/resources/textures/{menu_level_3.png => cell_orange.png} (100%) create mode 100644 src/main/resources/textures/cell_purple.png rename src/main/resources/textures/{menu_level_5.png => cell_red.png} (100%) create mode 100644 src/main/resources/textures/cell_violet.png rename src/main/resources/textures/{menu_level_4.png => cell_yellow.png} (100%) diff --git a/src/main/resources/textures/menu_level_1.png b/src/main/resources/textures/cell_blue.png similarity index 100% rename from src/main/resources/textures/menu_level_1.png rename to src/main/resources/textures/cell_blue.png diff --git a/src/main/resources/textures/cell_dark_blue.png b/src/main/resources/textures/cell_dark_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..6dc2ef56f51258ad19c91c02b5459e6d29cf13d3 GIT binary patch literal 28099 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

~uAo`0q#Fmj=*!L0? zTLG)DYG@3^Pwv-}f)UJZXe|b0CNsO}j?`5gm8a%8=iYAWxPVrrwGVB$U~PE%2Q2Ce z!jP_8ULShqUZP*KgL^A3G$dMp%r5mMk0I3uTVh`Vu+5-PszTCmf-{>)Qcoa2V@Up< zq}r2+zwh|0sD_`$Qp{XX50mL}S+Q@^3xqdv zW+RXT*z>(tD%pOumS;Lfk^)2>0WiS>iu>UI{R~n&^iHVt2MXqZCejKX_mDN`|Asyz zsS!XO=oB8yS!plA0F1X?!8~XT1QJ$-&Ln89Ud99xUimJ7==PRm!`Hz;52UU65_?FZ zN_YtXg> z(YneTiLc0B0iQN&;J5Tx`^HuCsj|#Gf210^Z5mm8QfC0nOV%)~wW%wO;#u0)%(~Bo zQPZ_3cWz#h-mAM3?A?|*m^O9GG&mGjH(WT_qYky-k#z$pHQ(Pc&SzTXWK$RT(y?_T zs{1hs>V{jlyf)Qp;pd>0BAV2|&qOBQ5=(&L>;`DG#RzVef8lh3XvP2^dOZ09U-Nfa z7UJ&!(XVoxn`X;e+Wf)NYbQO4S7D)>0Yym*=|)XsUM{ok`T+ytg&|Z`4|eQOwq=sS zHiN+P-wf5hJ}+gF%KocRWk->;pKr+1@3iu5PsP&4+w20(Z{LO_1L;2rmEXP#H>@tC z?PvH-yzd>^a^?u>z(;K|3A8oHy4r)nqkx=OB+k!qwTweD2!20>%6~^7=fRYVa5tM> zBjb^k{XH=7kb^?x+?jyg$Vw=6J)^86*Ed@Ld+o^aC%`WkkzLk zq4Q^@|HcLwWlQ=s+(x^N_doA*9br-8CY}IOO ztyWTIxOhR@=K|?$7&#mi(m$wV^Ey1K!@h*|9VlaH9^ecUJTjY;G>-rVmgF%zb^;D% zUWC-c#lux-0w!FMjV1W3c-TN2Ss@8B84)L>zTMf(0zR=1by`1vJN0E$;P@8o=3FiZ z%Hm6Sp$%~UH!sMUryoc&T9Uo3SO)hR1bLT$30B+iopXSrLom#(TF#BZp0_}J`1bSL zC6hKONmrflKVom!h91vKFuotK5nFiq>)WCD$a^X$Vpse6|G zn0ghKA$cucY0LS>kIUWcznazfDDCwGE}ay8XCG^Jq_kX*KP!JzJhV%;KwAUhYQVe4 z=zYV7D??u>rqw8I01Vs4y5s}NH(tYWOX5vooyW+70ZQd zR#sa9G03)lPn$=ecCY4vv~R<`y9MIo&~+X!ft&Bj(f4;MUVMeIYs7X976~JB&9E&7 z#4F%kcG}t_2yFsF>ii*18ntoFU&sA_31liNNkx~^S8JX8xD@$r-(#fGk*7l^y*``7 z`Pmu?^sUtqRqBM2GiI*N)y5~}y6Mq}UeUTreLaA&f1G);a2C-psW($mh&&mkVp|+sA5-x}CE51f4Zlj6Hb`v8t1*yOt+dJ*tTVHetx)}Lc=H0afhJsVCvbGGSf_EBMv25-nQrrRWg7K~Z#U)!%y<0kfsbKFs zcX>d?DZ4IO*N7eY;6^~%GCsrCl;%oX3aEE`Hjn}YtS;lH*T9ru$P_ofs_hd{?fsVy z*v!hZPva8c?CtwdQ|c=L8(DYZc~oGO^bXi$N3lmnVy8q-l^-}CIuJ=lF!YYJTs*gi z{ga|aHh%iKWz9i{Os8jb#KM`HZMJ&vi<*ZBuJ}Zn(B6Vk8Ct~PS5J86TW|N0dC_J*y?%Q;3_4jhRdhHh7KgNsUuk`dm_2x z!$v$b=K2|~w0<#@K1|GENI4$la8$zO8;G69!K_+YTrFj>t>aJ{(m&D%flD@s0rr}b z-GcOkS(a3NKER>k>u{1&t*U%(;vnw;u<1aq_uz1!P$~5}dRJJHGH4T~K-p(;XjenJ znZ*j6EHGdPQoOK<*L)Ss`Y#K~Umnq?-?0T5TA4f6N@KX589p`c)N=3{Jl%DW;;5XJ zwz@ipv1fZbOVY4oKwks*7}@EhW7jxR_$p|9g{HdFI3vXwYNk|JU`^m*HEDvoOY^cA z`OTJwgH@r$U_>cV(!R{V=*&8NV`@merm5cq%%b|BtofwC=)n=sI_W zbNm*>go{vvAjDqDVni+4sHbinc}~luDt04QoRCxciI`A+*8fJWbFdB_tIVH~)h9-> z2G!r};NkldnLrDS2Me-$FOk6w=#T4GF2T+z;pd=Qt70Tu^w*nkplY~20A#gGF}HlC zu7N{rgBd!w=hm4Nsve3ED80Ob!*~*A<$`fD0&v1PB)Iu1)bNc;=3WGF!*g|5_67z7 z;i7+KUTUEI5-#2v7%&C!w6EZaau_pP$gyw{89$oEjw z!`}yV1IP8#iKb(E1j~lK@dOnm@5MNb(Uf_4(M~w!d+`pa5!7I?qcZ_U6?aza0qy2(l zQ>bWb9;WsrHx+$Dx^8OZ3=geM99o7w5AzjYhT?_P*Km={1sv!TP+hS9nx#&GCz9XA zoqV#8V<7ke;(J4cLsQX6Yxjb-IMMq1f3U?1rj*iZ&oI0*t>A6~C~QCdL{ zw|ALxK7uOBv>%WI9bK225C>SFF?7;i`S`Q-h0v9sePcay&}UeJ?Y}gU^$q+h7|A%R zW&2=5wjbco-@uXG%%r_%weGluN#w%^$H5dH>AK6GI(VQ%l1CCf(Xsw93 zs8vBmGT8b+CI1@kZ^=+XLjbns7on&j`FCGFBmp;)1qt5`kao=xzFrL&N^b4q_n;l( zTP}^P&VFdCnbu=TxOaT%hiIdw2?%~V5}wfzTt$WBL$c$ z1{fYWzeX!GR8y4Jxzkz;oB`n<-8+&HT9Pw{Id`a})N6Z4W?hT9E3ZFv^%eR)_ULp* zP(KzTahp6ICPN_oG1s+p*=Si+BbGWB0E02)PN#bp!Gd>3e7_1?nMywc%et!HV;W#u zW2%v>Bds2OGL;Kg2C|~VoWaUELb*5T$YRN(unrF*Zz$=P=8rK4tYXL{r z#ewKl(dnG6OO>!ZYtbxAeI}4GY+@g(Gn@mbUWF9H4Cuhe8tS|Lb;#YvVWhGF!^E2J z9|KJ{zb%pEc^oBN!bpAkZG7)@CI4o;+2DU1bApt$go#&%-mRf&VfMpBP{25~cFR_)>vHy5B4^g2o&q3=AzZ@YSZ-fmmh3wI=58usnFw$iN381@ zb|^+!0at6Hw9P~bkCgtt0$=S-)>e+>QbJU}kLTP|A6aJ+LGndiG^qOWpXIXqyM0Cs zwGpGUu_7f<{XPIyg*T*!F@zMp4ulU45#Cb!3s;jf{%apM6wWcS^f}C|a;Nh1L2^1@ z?qY6%z3~Y_oATApKm-^Uc&PHPsQV1?T&zMqP~AXQ8cbW{G)-$Pr?OkB?)gwisVRSkR$PyxL z-{g$W8I$DjP&AT#76-HDi9WTfVx}8I+)()r4r`&cDA^e!TTsn*827)j^-U~D|5P8O?PfRw$2gTJl=qDOviubo8~L$A#yV7v^^ z-Pf;~4U8!9g&$pCc>}0UscMwb5|kRWP!G(tAHpQ11MM7jZ3niJz8s1j)BS3w(@krYXgvVqKy{2STplIa(~;KAvY3Tg{3;U6*f*L7?i)WjXsa zkTy{G?hzy=8Oj0F@AiGz%&o4N0}unGUhl>-*Pny?H<30EbucT}IzC-A@qNas4J>^0 z8dA2WxrygNkY`}iA)bv_A-f;Lk$x8Ua|DfXrp+kcDP|Q9`hX`r-Sr-D7S|{)kd;ixSox(P|7t7 z)(AhjrKY=(W|;%H&aos#3t(wFW{WFxjQwx>_O*w@5w%AbO|b4B-lRAc0$F-v>Yj zX3aju_Gys{K$C!5D_i+?!cg+sxd&Ia++T;zpN2X*Pd{#jX*LJP&o> zrIAA*=GVYf-Bp+>xS)-dQZ{#C-}iAt_W}Nj48(6TA?>=NMr1r^LM_2u0SW!^R=wV*bdcw zGkjVG<>&A{H=+D6|34*47rFJrGO-ePwWX@r;p5PUJ+yr~xU?$s=fUkD%ot}p7=qMY z@camey3@o9mYg%VxKzusu2|cvXYN+zGm5ijQmEiYfWKLa*suuxu5-NUeKR{tM}Z?B<*?oXSi4A&v7G!FsGR?mOOhw{4Vl!h5rCAo z>3eCWvF3EPyispdqigL8R_37Ev+)Ffr#W@JOM;&r;PeJCz=f`hiDe;ZaEwaG5hxn* zYmhtZV>(4Ek7Av)r2VQm@MsS5aTf0m(AR(p;J`>N)&=;RY#5oG*Ej&wDqO=9Z#55< zAA&jL7Ieyen1}}xmW^3X0Xek~*i9kw**TXNDEzc9n;ZlQBrAISw|5i6fhGk`H(1py1NL-znLdIny= zJHcV^p$X8BUhx8(AVRBQlJ^)kr$hN~FXQmc@){ob?ih3vEbMz43KwFFe6Y{yDu2!Lni9q~2CP%i;n zXqkFg%lRafGm(|M2es@$qrLuVXtLLD0+&FQ!;RKKlnu8X!D$!H6euXI+?}ND<*cZ# zxMYKcwwe`W-GlX8Rbr;==i>K~0azj~H)K>_fjL-V_5lqlp}Sv6OJ7miCg4 zb8pGP2=0}dfFo^!ya^sUhX=MSKQGJ_Q3qZA0aVTm#t?t zlWKT>yW+Q`cGzeW``(DqH|jVu8y?fv&J9e=c~=^)C1llSaqrK$035S`ZhXwc!r0lz zW(aBj?vok8h+|&Wv;T>xt;|V)qwe5MEEn5MRXH6bt^MbDeR%t2b zR>i{YIoiU{x`{OB0c_yF?`-4m?+it5gQVlJENOcb)19uJykX+m#&0)o*JZ-norVMe zll6MQh~F4emp&1|#DEZtL>rohJazth1NL6NSP|)mko;L1uhwA z2lU~r?Jeef#e^W)80#hr8aF+di?aO?jnK4a4L2^F9C-~8IaTjcR{^ChTGA|6pStqw zx8PKh0~Z)#mgW&J;9sf+c=dECm^OFl8rM`~>i%*QJzUFoGkjvEaoPqf18zAd`?iw`xRFY}$ zV&#ijTxQeFEl7DUO_vd!hikbE6%S1lLe-a$`Up&DSMc?cWm8I;Y5}g1Z4iD_H-`X& zENKlx8F1U^0E9i%23hT^#HC}kIvler%mru+C7g|rs{M8qzdldvB>V`S;FvS-qOGxO zNAFnC{y!5!qF{#lpu;*D1pk>e;e4uIFy75S5$*}sIF9FZ# zm1{>)1Td!!6MNxRdFOkKY~E|h;r2wvK*n2dlyH+EF>maM9UnpM4Tv`^%t)nW(Ub*C z#nqs%ANpbj!`Cl$`e?^6$igMib2^Qb>-r?sT?9IF7-pq$+p@SLfPbF?=@)wgg1w3z z&dIShRpW;^6f9^7*|FrorVe^oj3r+aY8%n~0zOx;`z6eadH^iQfa)K?)a(IKX)|hf zXk-A)Q2}ITa51|>m(vJ+jgGo|Ix$U?H?Dm=qDF9?6wZ69*@W8iBcfck&>ScJEbcmD zU*)48uCiF{n>LER6g_UfyiqRW!_VWzyLjV8&yy8@X0$r<_#h$TM)hVTR`*hhQ!P&)O5DOfTR&}m$D+bX^@M2T<_=K)DuhLd9Rn9P!Ej4Td}r(JIZZ4D8Yq<#m?KS`$}?AQNc0o%+e7kzlc8>G3@Jhq;uIe$JdR&%v8un zhDUu#-{sb655NTxGG|-VHfifOXY%H>^8q+^E&dBKs9vLA+6*soNYr#`g!T=vQ~1gm zIr|iBwk~6uhkt(=s(n(+?p>(C+poz&Rj|~m6gO~50Zvxqv=wi_1Z7N-)Qpc$#C05H zTd0 zqShV6O&J4Z)-W}d<_my10tJ6-U_fY{Mj~8cbJWA%?!h6^6|;wmF`)io0xA$c+g5Ef zWL!m4zeYQGRD(igYqCbCdFT*`vVIj>ca@!1T#{?NEA2Ou2VMZ3@soFJ8Is1Nfp%e6D@S| z)|1kWzQYYgA_sQdLO7jf$z@Rux%do#S=(*WOu$&ni-9zggqyzidKbiQZR7WbQt8AF zaUH>G8#RMAWD>*`MK$>UPBHg&K?Brn7Q4;g8iLR@a6LR%4b|TOunYja3=ZFHyU!I9 zBE_slEu4*BI61Ab@*~=GkCB2+Ww1(_Yr)xify9>!x^%*s)V`{9yl=b@!s~lM^6MSE z_L2LXYc(+kP)#_@v0{OU)>l}Db6q^qO;OW;jjo{O^cB3fVjZ1TQ0b->Jwq+~($c4K zk9Ruegut5TtO1cm5X*A>XQdN;GrWKsc)dLtS2x+h@6f+Joemx-?WYmI7jb=HRuu$P z-!N-#%7--^3K{yn_XB>gfg*HDTOwE~(!7nK!zto;U z_4V;t`!`j(Mz)w0X1FG`U=|0T2AIlO1Bqc6tHOJY04^;q1HxNvgjjUdMcQq}yvmla z61dt{x6)MuE0Ho?Ql*8Wnnq_MSmoQuK)Cvj&+7%g*0MpIVX1Wz7PP4LNf+j&c?rJ- z%u%|=V9CK)`Ga{mxITuabPc6VR&7PxD#9W#tIg(XoUo$UBC8)rUfsbx4^K0|i^mhm zzj>Si>W3>A+^Q0~V@s@E6QAU*r?$zs3Ov^0nrRbbMOQ};sm93`Lsy%x-8q47MVdg; z@VRb)nI=y#-)}i_d(DqGDZvcTr$MUqEdI4a*63=hmM(S-`C52Qe4XGabe6voeex3C z8;74L2;41c)x$@|BurJkoJj9ZTSghcf|{u``KBI+26uFqA>PysblSIi6ZqL4P68Sx z-&2eM5+C3-!2sifipwG^I$sq_<#IPk(B=QVHr1Mjl&Zd@QcpF!3q_nRcf@E5fv(ws zxr-B*0BynCb)c2z=38L8CZ9P3+SMVmhgM7F=AD4zwM)B5p^T~pb~@+P8>bP$Zysj= z_38e`EEJ?2Hi7ezT|aMwD<9qLyuiClfzLX*=@})%MX3zI%{m`A522z8!y(pXp-Yzx z*SzT<2m`vLaE)3msJe+ODYwuru06}m<7(2SoUmO}WAuk=R&-`>Kb2CKKONQ5R;dK& z(v@&65aQ^wr5wHhw@Bydvv8_nsFf89oaN(l3FcvRaoVnCeFZavKpF&VJKJwzwj%wk z1D|zmEcjAO)XhE!x~XI4@fjMR07Fc0Pm{`3<;?PMw)6#Y>ZjlEpfmJ-eCW&Rt*`WN zOS}N=w21q`dycgSvgJG+onTvo5z>ipi6!Kc>u#&v1&Q-L)*5Mtk=AexS*@ipfJM+T zleTq5J*PT^KYE-2K6gATxIOuKIp6#nTmmtz`g5yKYU+iqu71~c49>{|LWlh^8vll! zT*9BkZ2&JF@>v@0-EBg0#-XLUj+6<&7%jYP1G=rL{p)OrYWXJd1s;}4ge9)T6uVf+xNfBWuVS5?%xG*ImXWp8ctHEM zZ0?)yLk_x#nXT*sKdi|p|3x`9r}uL+2GBln06~ohyz^loVH;RLWvD$X^2&YtH0Si| zO1OnY7M2aWb#>40P#Y|?zahdyk3)F?5ES777T`8DbuL1~X#rixtP8o?bpS6QVT2@Wyn2eB-9JrsYZmFx!Dv_rl(Ou997jX4Mg@&=^$@_pu=#z~?ij z_W8tz`#L%Q$K!!&h7H_!)+~ZHQ=pFLYU;t`z^mPgYv?N7M%H(>z5v3{z=Q*qZn^g@ z7`)XAhKkZ(`2kUb`p&E{Ch+BSv2lZ?wQ^Y63({140fws}{lmyIrlINWO4B7e;0oq0 z*WHI>ZoQK5&<%$wIlQ9e{VPK2Fg>kaTa)AILi5OG*_V{&rzeE`>Tw3pGNO|Ec;<=9 z3(l-<%EWu78lVY4aJ}h36C$|r3oEY6W(*tO+X>|Eixr0~w4V?rO?3ULu2W=lJMqT2d;1!0rQLkx+1GHhA(m^1L%T~6IHgVtZ@n2jP zQ*6LAK)q_ZG+-)UioE0jnq&1nHRBBhZD?i>T#B1 z(*eiz7x&~2eA>Coc!)k2rRLfvD#gri4v9E277wVw59?efoyu)Ez%AmV79&U&yw|y* z#@urkM#h6K=<-DtjZTOrw8Qp#aFO}_KC$)4*DSi}{RQg^-S~*ox-yT#xXwnky%7$3 zk^_N&*$fyUfd)|Xr4h`m)OkZXC(N>eQOr;oD*oclLmC$KP#)nI<5=>}%1 z%GT+g&^9qNV+|9k$s{eqOj3uRjsP@wfp6w>Ll-bLZijMB_hrI!o6H97RUXe+*GsHH zH6JY~%HKIo{9RA$lMJA9yIr-w|9T2o92cNE`cep02@ZS^&G6~~HqPRSG=(B$q=HLxLjampxu4=#SkiL$$?*n7>Hlfbp_>=?O=?F%v74Wm$4&u76CU$CI zjDLUetEDPNZYTDUe!yRu&Io+mq|jeD&H!8a{{$QQ5h(-QmGw>5X3R|A1iCP&VrhWz z8kA|aToc434;Yn8peD7M^vsii7Q@Mxc0kbm8)9D{!B)5A2x?kKv~`%uh&({ceV=jR zCumljEXFpodY8?rx`09h3iNjZy&(IRY zUHP)IHi!vURT~O*ujv5rwZtI2j-64UcL?I^Ovzw37q|WrHh!cdWJjD7HYQMZJiv^pk* z`UwLDR0dGZy0v@$z_m*&6Kp(z13Pc!?kiWNyn7d1Ig(A71?JfC0CSvs?$y$NS#smIxCfxIV!q{uEkn^Uo}%kw%{~=KAP(t071b3hfJV^tee-ZTpDgoLfHE` zjh?ycA&pQbnInL$ooyX*_72=CTloa7R@+ag4F*)R6~Ue^f20Je&A0db8l8YD-!;u! zUrzz`4^h{R>5(=GYt@o!ozOjQs_I^64S@J&r{{C~2^l?Ad_i21Gxjp}UBK2iZk%2k5uDm7r$Y7fCwB$x6AQS3LvA4QxZa1~yD!5`F+fektk(#3 z^KjR4U3;Z&l9qR=Wl%iuOeo*>J+OZ3uK1`2l)h~pYifY0so6)CLN(Y2A9Mde%A}GT zJ0B6Yxt#%e4-eP_&o(ITQ^+Z)L+;&E1U~W&R~6UI9)ZC&@d{gb-AyHu+DbkAt}crN z0p{Im`cQ#hUGgA}-}Id`jz8hyA8Nw~ezvcz?yOoY*;G2_l8dnmXZtMPl=uk;ZFF2` zfsWPF_iX8m9mDD}c+KqWZ2@1znk9v6SwjQlT+QP&tL4rDSL3I|AF8|S>wGvc4#Xa6 zUm)`-W18#IKC(ml=Z{Ycf3tl7|3KV6dPY#S6nw?}AW&(8AW5fKs7BC=8mntT)4+{R ztwK3CfFy4M)F?s+fYD7C+IT6tB@-S(g0J88CjsU@c1dn+$3*%MK#XNS8%H%_kJ-l5 zZ^~-S!c!CL)}?BwxL@Cfx?BPSw79?`fO^+yUq_tfukF?@snc?MHK-Dg@VDx&-G?-< zgCK`EsFi*!t;DUAuK`{a-4~V1p;S+7rH->;i?g0$`GQRwa5Bmjo@F057I*O^!8Fc!+IMxxa z5##hDNKS9h$o}nG)-+%-&KY+_0d+O(`8)S28vBOX;*WQR8z*I@P2e%7LHH zyNq|5-*vTqEk+6|N`2v1!djDf)hc|gzG@y1uyW4`jsUsas^Y>s($b+CUh-oWYQ%0r zNUK5VSGm!itVG)?Gc}c3+h9o|&2yByt_wYP?CXQv$ z2R?L~agz9?{+Me}Q573DXs6klLa7bi{5@p?>y|GndLGqx>5*rU#vMRVkO)qudIv)W zPN$14Vo&(m+u1!XX{>4MUBPJ1a9H70zN_PLNghS}O@2;XhmO8pJSQoLulox$_OCJh z5S*>Mh&4T|0FX;UVLDBb`5>|QnM*EUrUNTnW%9(2-?FpyJEeDKLdc<-nwTEu; zQcANhs(?j;ON{q(sy7%&2QJOS=5~DhcI8J}Wc3{o1{%a%gjt)Df&PwG{BmuZb?zqT zoTNPP0W{Ub>m*JUga#Q^4(QcB!k4g)ADYB0(UpxDeal_>oaXsE4(P=ph+n9C?A*OL z_5tt!EQL4I@3;N9ZRRStg4ZXmDE$rn&&vv4g~S{|)&42`6* zMsaMJSh8$Cg_{Ors7n(y<(y9Q6`aE9B_)=j{k(CX<>WVfwsg$F$WBTQ_>iP>DI zf}`#GR*zC#iMr+3_Z@gKZ{Qy9N;ACdnkqrKvA#F!9ZN3B5CTc-2d=n1fm+pTWpg$N zuW8m9J=7dV!|xn){s;ULt?Spax{iW9L(e7|xDh+5VWQAcAZ&AHKEAJsG95&k(DhSa z!x~ots!Z*Ce7B`gO+q;v;GO%r4DIP093KUDoR)8Ib11aHZ#|*~bl3pguw2V+J2;k3 zUycUQ1pA@vd_I8R-S;aORf^%qmkn3rR{K<{2Xw0XYU?TsQr5GmQr9%5=CvoXfPNLvr_Az?L=KZYI7is?aK>gx0cR;Am9ebd^P_DuZW1ghlVd4qfGq<`lqw z!|ElLXD7i~{+_Duf&&>{kK?31^ts4=5c(`bx1sNk2pNaa1y)@j=t-t`OF*VyvAPF- zum!+OaRwnLy}ISmws4b4qK2Db%6tQaMYW^uFH-^1F*FlD(Nr5m9o}&6a_Nh2YCk#L z^)O}3;XFqAf9q{CfdBZ(;|#E0{5n+Jzb!U_O>N7xpJ|}&jo}u zD9Wu|8?+uv=z?yH4=7ViCy7DX%OXdm2aE@BhmcdMoa=vRjoUMz#HnAELHQ+uo>p*~ z$=ld0NaXjDO#J#8mg>S>4683lru%xh=P2@O8;lt&b2pC;oYDyzBTh)$!26z&fo?;o z57?&F2%fw4q!JcD3W@j zyMO`$LY01-yD@y~glbJj;_HFE%)6pkx}~lhOgJt+^LrHCJb?Sz&pwWZ@)a=vw7|!q z1%3%%{^f^@BL9hmiysy<-+{EO%F)eAk{g=9(mV2gcGtKdYe_sYsViSYU-~V3 zr61N-a`6SLm;H)HT6LHNE%Bi=1qv|lLEAWnHY|Z_`>NZ}m&Cb#-IPe*C86A;;gqH1 z5yRze&hZIdkOJp`pHodw+uTa3ahrqj4?`YJURo}W$o!IN>-U841UQAv9P0@veVhR9 zXMMy$Pf6$?1A1)ogWaO{>@Sr64=_yv4Aq+qgX)j>0S<+)v%q!K%jc|CYu0 z+i@(uF#%{)M#(S zoF|$KBPXWe*Ew(|2ZvY0jPWOoXK3g*OarQI(fmE<{Fh`v*^1lG z4;Z9UtztOexHYR82w4u-@Jna;w=6e*49eqY1N zoOCrJpmGtveW>)8Pt>+^J15Km*RtVgnx-Y$tdqE8B1>IX<7X8oL1#8LKAZ(<#I3JW z#(}rfkn>`Kh&75@j}UNpLp0lkzz!b1pKE{(eQ`(1&#sI+nmnvBtUU2$)@V8nD+i1x zOqf^_xr1jNaOo6YpQ~q^(gyRkXJvTeI~OY^x^f%Nnpp2;fA2KulxDAe)ePW2{ywgM z3)i=}zz`5_{TpI-{t}35y;`(BGgtdnCryH!Y1&B(K_V>#RgYir#b@X5@@B1-f8C zQ>_{hVt^%cGw^3!$l_O{*F0QjQx`?|nYtPIEh(~l;QWWZEJx)Rq!oS}B=#z0Tmw5J zElOqfuIFoinr@I|Fi)JJA!Z(^mnxQqaqH=V-@-9bAHV;<|JR8A0UB)Di zIg3nZ3pO>-H`2KGXjY1Oa1&tya5F!lbNsS`$O$9{-QP2m$1X09*D1vAp5RfQ@ zXaZ&?Go6{<`}RHep5;GQeO2e&JDu*HNxEkfe>lwA+o}3%ukRcB^9pxT`{UpU3NyC` zhh~rX~0`)Pte~6ppkbrtw`qkv8Zkg zA8NUr-KfwUg<6T+_*ONR8Sf#~L^`7?vw1`v=gJMvt+KW725b`%|GFZ8$#)F+m%(;9 z|5wfY?{t~>qyXYHf6vc*C;$G&_DS5XgpT3%w}59q&A-l|&JI&)AV*!io*WgoqFK(0 znzm$Z8s+Y4K$O`MN{!SNVPocyz`^2k7B)&68;FAv(QWd_3a#tN#NmBYk~H@8(97?ur_U1(aJVu>o;i~f6rr4wfvgtVbE zMF+vunFmO8igqtY^?nU~KCSPI*q2ZMLrjFae;@cjTh5>P`H-zV?7sq-5(vEfUr@li zKnWhf7&$oW0CL=gMd%#Kr%gJCfArh7W^=Xh)v4xSvjf@lll(lKp z)sb@{b3#cq)WJ%rz&RQx4w9Sa{CC4XXDeynR$X!oX*wG`4PAq9gt0WLyrqkZd8Ams zu5k#WAc?KfL{_>%%INg7$0l^8dMK%808-TO0=@lO_)18*(9B-Qp8v?d!p|8N{%M1J z@!QGep^FKBFIm8LW5ti!+<=13KT93~p13Wl#2vm6l-&wFn`R``5sp8wR;e&F5k~_z`shcTF8s3r2A4C$13Zdk<60O+1 z{K0W5(MoE5y2kztptPa6CD#~tS8v-ln932@M=R7Y+7|sMHZostNCr(u&o?1%jzL&) za|Nvlx|a-ZBDhOY-9x27AnW~UO3PEM7|$zD^Umkd$x-hsp#X9o=jV2QJ~eI_{Z3hQ z0aHdm8wK``?D17GVAyNgM%2<>?Prq)@1_QWl7L7GF0R8uk~ZoTr+I8Y^GF|of)VeP zNnat>aV`Ca*65gLj+)|>5MGd^PWNB$I;*@qnA z3ku6F=O-o$y3z_D@91HE=K1;HSP6cs0u67$=4)Olu1|?F4TpomM{FDI9!e1D$Ym?S zsJUyK4|PC}qqxiForMVKmso|0Tg11WFR&^?p`JJ$R#-muj)miOu|kwjK31w^j{hJ; zS2EEogDMFtRx+5S4#xsAN}0L>FtDZV5f&5ppmm0YY@ctZOdZ7lvesSwmSqCowhYJj zeN0xR?5H_sDGK8(!XH-3Z&>pJA`J9r72*YJ-n$C_DU(5QH535VSbiSh=hyt)-9#h# z6C5Fa43#!G0-;(JAIU+O_`5uqM$tqvgM@`6w^Zg%WxBY_skrazMy!;MrHzV$3127K zkr%%{l3IdH@UnKv7Lu6%4dDmQ*~Q4VF#lOdpvtnMxk!bNntWCv&5yDQ^Zqi5)ky*x zWm7bZieqTxj|7(R!ayo>%McUmGTYnrG+L-%IO1WHUW0z4NvVX#yk{Jh&kSbA%p^GP+K+WpwCg^g; zk$-3%JKt0|Lj!12;cryKW{6WK_y_e^C#s&3;uU_;Y9Cp{;R-JO;c#p}khStT>dbX$?ucx?I*gM~wb*3{ zO`FpoPJ%v%jv@=0eZMTAh?2;^3tqx#iH$95LX^gAA=sx2lnnn`VZ+wpJtop_T@~gJ zg|ZK--0JimOC`?6ti=5H3}nSONQpF&rjCIlD=cCMhO00}9V?7VN9GA-ynKMfPI&+b zNZx(Wx(EZf-uflXTnILThw1k_3IASu=X*YHqzIE21jXneu~Y1NWB?0t8HB}jYHWh2z0X6D;8+$HCIdsiutDYQ<7~ zIbV?L%>i5-wWu_#ClP!$)TlmTWtjFWHU`$REJC?91EBq}tEn{mXd|#IEb*%vjxRp} zq#86(Of&%dU^6~tf2A4R;JRQrL>Nwwt6%C-wZnnl@+x{=oe@SC^Iya)SO5T zU`N7C|ag=sAGcr`1#IcikPj*MDmxYeb<*cQa{XT*$n%27C^8@RjWtg zYys%%BAkJ17|IX@n{tWj!-5s1=+G$55buVpKvDz}7E_7#17Q`dHepj*O|k~$LCo<> zt7VpN=>ddm9%)-hHMLV6q`B9WS4K^%N{d#`W*B8yMTJ_7q2(&YanYV=0p%;KYXL&7 zN~as7pCQGbf)&=gx>FEZkU2w}`4c;(dJpe4;JZ=^P-h2Hnfmu+u?QyUnQzn7eII7c zzlS_u=ZKSb=SI{YB^0J@{*?{r2AlnKma-Lojibl{ubf{{WX+k9X4y(a!@f=+Vs*?n zjDcf7DBtYslMq{Rnm1#9x@-zOTGTBpV;@WecQL%bvw`mz)yo16s?&+;$lIo?`*c8JnqA`V<@@w~ky2zn!B<<*aU~JjxwTL$%?Qmdmu{IbfsI zvVjPD0Mh>u!p#bE3?5m3g)ZI-ZoWqLxt4jY&M&HWI(=-r_qJr0=!yLl_ij~g4INHbD^e4A1#8VDI_D3?))45aX^CfO4Ix(t8@ z%=KUnvW2CV!VrlZe0(2sijw2U*1s=c0S4GIJe7WZr@Fp$^*;ATYWvr!0^mdWIcZa> zuOYMVCMQ^UHv$HxX1dmxd)n~x1*5oUOO~bH$_ClL0y8FjT5uc`EIqvP5+&Z$$e+ZS z^uR(E>wrgl3gnBjs3~v-S)}XP>#S3og96L0MedEqTX7NPYsG$n(??+++q89W>3Q@} z;};<83Ta-ZYwmCriXtGreHH!+3;%1|y(7^E(TZ>F*3!LR6`($XNBG@(ylm?^*7`K~ zav^+d2Fp%-8{=7_>s%1FfJw`4(7>O;%k71?V}*PglGT`dSdE$iR2f*27IiXpgi1l= zYO(Uj&6W~#sGH7^M8WEl3%{V^3VXrhDN8K4Y@FMqu0IcSa}1-&y1Lm`*UnTN^O?qW#!Kd~fzIUl( zT-QSuaIrJ6$o5GaF}r{3f2bAVFuR60IL5b7tifh8FNZY{-#73I!s?g+NK|2lDq9>J zwcybs@~*p$eW9?6TQqz7I)z6aO&@JhJeAV)OhIv!P^-(gHxyh0zP$;jm!k|jdxLyH zt4pk6f(*viq3Uy2pY{YRVhI`xgS5B50F)(@~mv>kJ*cg_FdPQ{A!?pvZp4!Ce0=^~+U?4~tIO9IRC3SA@TdQ$+J=+B5%c#xlulYv>jE?*~0oHNI$ zedspoRrA!j=?+TnUnJ_^Myucd8?7xqL+RQ}7y#YF5fDbfTKuWqc2C#Xxn31uYvB5J zem-ht<~wK$_wf}x68rtr%C!Q&`rPHJ+5cYwc0RKB|4s`W-_OrGXbThSJ|1au3Dd?O zEufR(j8(dh&i|qUYcH)X_X}r=z{t17wm>hZYc|i i%XFQetqSm80R{jhueUnl${T|K0000q$gGRCwC#y?L;u=~*B4eEZq&x#wf1QUqCE;}Ty6jj83gjA&x2UBr@ z*@9z;jm0961ww;H!|c;Nz4zVkJ^T6AH^1NWzUTDqJ3T^!K!Kn$_073`mhXJu`)t2w zeZ4Hp&Jj~rjxLTGjsS<}K5uZ8IA%DGaBSgt1IMd4 zUcm7(jvF`*IG)E*e3b$I=pR0g590VP9N&&(^~*nDDCfd= z%cMG#-Rg}$s_Wdt@zXf|A&$@DsJ_YoU*6*kj!)qDZfC>4q{m~?H%i0nNaVHg+?3FZ zL2e)ac`*E;ex{UMGBbs^rZTMdWNOBEEtSG#pjxG$<}*K6ngW02vQ@tFcCMXV_2W4H z5so`wWq`N$ptS!D9N*!<+FL%7peAR6KPNFhMlwerT;N5r?4ObZ3=jeD#a;vNfCW6V zfbSHFeH3N}Cdk161IbM)GxtpGp2}1z5TEap5hm3@Je;F4xt`~0@vpv=dm*^|DI7oQ zw8B>z;EOyyhU5DkpnJ_GIKBtR52+S^$m5atFDig*dM#P?Hx1$JO}E^1)jx-Gc!_fR|muR4mXmRk!lK> zgixBQ4}3lN-OBS-$}^R0622}4h?x42{>YacJdxq3JWuk9gf)`qV6yy{WYs-roI}St zk)*he63-sKUxHCQFp2?#2((fL?KA>|?o~JB^VvUrt95x6$6v$o>8~UMgkM4PLnHis z&i1`Y|2`Uh3}CJ!9e>S%x4H#z3&LBeCNTq*dTZ+yl!^T}WwqwDR67{8)VU?J%6Xul zY!E|uD`L97WJ-M4`>K*z;YkK6=OA(!fEk)NLxR6!{0)Ur_@#LG!<4Z6{SAqBpc|^0 z-b(2hDuTA55h30v!H^-Y)5Gtj72fwfy^mVbmYwpNTq}P2x*bQ1r#)RWkJkI$6h(D9Jx(0zs14FFr6egPPT zuTPv$U#UGOX&RC@*CbsB@mrpxP!wb8Y(J37hoy(4S0z48Vq<0e*hm;b>Y)*Q{9K67 z1mKuy6yh_h;@#^jYz)=Bw8eOdVh!T}qXBzS8-yT!VDOHK^>xN5y3laX!gF{?z>ApZ z&*At_#O5IW)H49Xwf_r_m6LD0H~vdX)E2-U)jYu))q4U$1s<0*UI4k4-&Mx2|5@Tw z6D%yc!6JhIH4wj}pP+d#ssl>Z0I^K{4e2j?lAOZ39k2*=Qaglt_eu%EP~lyj-^8lq z9#l98kJCaUz`KA}D03qTpJFe9=N3beJ14xs^xBM_n~ zvs0BUy#t>)4ZPm0BxzBs@!Tkt*y;zs1VACk2ow(RoTqrbh++HT5e)IY9N(Gv;teYs z_E%uZ>#sxQ)4VKMTkGYLfbfMO3l7vQ5s+pu4JF^hebGw@sz5#vf2;g%_9i-0V15S2 ze}m(H_~Xhk{BeOmX5)Sg$A570jSs}%rVG*W*Oj=|W=BeV8?ud*kQVV1RE4^D4Fz+a zI(}B2`)cQ{)(mCe94QuGg=+QAtcuwLks#d#2wK2aSM@^TRS+NQzqR2>i<+PT(#2NF zlb9}_bLsp_`D;9aUjbszj$kt2;*YoRybG-G8oqM_9zl7>Y9W}OmcN8+U6!gA0uTa? zz-AOMCtd-DDgYc|7Sd`@YtmfUbxJjf-|&|f$r?|QzNZR3QWZOQ(g4QrZ=!SF0zsHS znrLq)i~wGQ!o2{Zb^zF5&ntY)g!o=FlSUhWF@`>=;p`y@12HeiL$LLUXP3h(01Bb% zreva4Cn3} znH|Cg>;ecL0?zH?vpbOJv5{s1BEl>LkaQomyl8+SH*mE}o^)ECM*mZMuFbIY822!S zIf3dw)F`99w*+W|9?v{PU8zHg-vUtl&gTCp{{&2s;(m@jC{VxP@*}tYB$@zb>wZpb zamM2D4YmIa>T%hIWgW4}{UL}=lt1_NL$SVntTxqm=)Tgw7!dMdDoj$B8Ge2WYna1! zH!eX-tiZ;%GC6quK&Ja+S$d`;t54Qs{TvWE)bJRRyMHScGXxBb!Dg$F*d>E!gJ%z# z0bml6N(c~^_a1ka0L@jrX>0ZggL&XAlWQNZ$$1pHE@(YtUK`0iX z{F^S@_$MY1M9KffhY`O6cZr;SGIAF=^+})Kz7nXkM~asNi>jd^4BV@t9m)h!XCPfZ zC4LF6*E$w=y#f(|4WI$;UGK}_wIc<7-Lq{8+F-C4k_tlP0CZm9N&8eF?KOA`4d|rE zg?x>V-+>)3;T8@9$sxHF2oEZN;2}v(2)~W%iadoP{7g9k zv*4(ML2CQ>{(dF-_E>H)5Cj{aYkV=V%4YyS~Y{+g@?=hXcnO6E~H07oEbEqkCaE}6&pHJZ01rU{#g z#T^l#LBdQ61n91%8&+GuTtr~T3YdXM z4Gv2MBu~wd!E96@{1P-qybB43_9*U*0Z@msqsb-mRk}z>N6>a8JYC~ezOQ8uSuz;7`?R0Fqo&;~PKrXacjvltM*a|En$55EhwU+jeNUIlzN_;M23cH2Ke5Sem-qJ7m&n{)UVe}ysCE+zr*q@jnjKJYere{7=epmp1uiF;fHZjB6`Fj-7~oq^M)*j4f;NJ_x#W}hE%>-3ehVnRgPW<^kz|lk*6vJm zNI(J<0B{$s6W9?^gP3cDte=I}fVvL?0ytkKE`o3nyyZDndmvd+K&|_drUZL9Qk)xT ze>h;&4k7`SY$h-bSot0M~9EnpHz{W2J?eh3nRp-9%6x~-u)eU$S;)5Op^CRbT6 zozpkhf4D&{Jn=QQAvS1?wVY^%bEE<_G@JTwzP{pL02ACezWjgJON2Q0l1$O@k8y+Yb;coU781VH=&M89BQXcr`b+K&yG6CkwL z2&4<}*J=Ub9Kx|16_D65(?Bj$=rWF2qZB43vTb!D{YJ`V8NRt=eZUQNMn;t;TW%V9N>@dhf;#>bd1QWEif~T$N-E&gH zHjiQ3Goa@Ioan|17662=t%@|)U_0SQgdHQx%U}*b@mg$`XO=N|1GSzKy<%a47fReEU<1YyLoh>)E*XT#WX6IjXpb4d+zdAT5XU~KbHI3i zw<&}ASp23hXHJ0xG&=yDRgziaM|2ZK279rL?!o4dXkv`4;(nI#+`{?kIW)({RS0=% zlII1eOj#xB^LQHnnBm_;SHDQ(!_w6bn4=CBsC+OYJQZq3zoJLPs^*&1AWY3_3Ew@! zF_w+sQQ0nEJDEEmZT`aBNhQBs4e)&@Q@S6oeYZyVLa`M%_`fD(+FlQ~^R%R^AUy3V z2rx_Gl68Hxr8P)VXVldd5%hQ_HKgsa3B4CC6C}fnn3^Y0X!3EfEu(&UQM(h zj0h)j&@R;sqo*n9(AEtpAj}!bgf`&kmSF-;H`gt5LO`+snRzIoY6n~g1gY(<$f|$d zRxg!UGykkC`)B0k{MSxq5x>t>82!;Q0HpsTu9)L~X;1PA&1%`wtF}hXbJJwGVa8EZ%4vM7s@je+xkC z6}X1|Taflt6>4T|9ZyrbLKrvRDKx?`l3b&Rgqus6F2-+0OIG4Rj9mc3yJ;yyNO-cI z%lefm+`fr)qlvusTP+#BYGmiSFDsjoTz(pA7g(Ub8_L1e3V<(`CbY_<0Gthgz8VN0 zfdQ)i4E8w{n|!wNA1-44HkXk(V%jW*uUDCRk%B($S^#6xmCS%*S!%}n^ISm-&Fgw_ zNm+_SpFyqdmp5f#_T_Z&q}(lEI8GMQ=%0V7l||u~Nc@H?9N-O-yd$y(Ql$gD2LLw)=NE9-CXgoYRxH^y zKqna864F3Pwo$TDYxN_~mJ&{27g;|r1+htjF+RhE&ak+p0oaIpvK<$)Gc4pV1IlNX zZoQKFg-q5i!_&?pxqGcH*=N9p09mQumC2P-mU;sjOzUzT%&_|k2)7eTFDqpOSf#TE zW(I?Xz!!Nj)@z$rCXo2C5*)Z@QD9oKvcXjyMp_z0Q!ynl#C6X=?0^x-86$#I*!fhM z$0)M|imT`WFqbg|(I=`MVp%q4;FScjJH4i7J62ReT7C3OsWJRgHNf|rtl|6m+J6WM zThkgm5?|}^!KJ3rlnLwS#$!#`s9uI@F9Hx9x-`p%GJ&6F@=SWejtpL#0Gwf|wgBXA z!Yh~_;(URt-L;S0)!y5ZuO=3ErX4+uqOoGg)&tt?!5HomC1uR0Uhsr$6&{XEcCo12 z32ygnDvx|1gKKHD_V30kp&Wf7k|$wLsX^Yrl5|dU6`QiNU&-~~u1S3>k#?EM>1E)R zF+7!B08ZBVDVrM!U065LSf;4jkF*}hW-ql+gd__XMS`S*14!_)JdzvKX24B@>5*!Q zQdz^(yJvvB>3R_8NRAmkuL2c>3*o!;p1B6!*8E}l$K&rkSzh)%u8!c#O9nyuA9b+a zwjmSuVC`nx3Y=)q=fu`RA5&3+F|P*p#ZxBKZ2gEeeI2h4-fmDv(Sd;DN6ItD39v0v* zgc|l@S%(Kw0i83A6S!C=@kZ!*$_PzYeHb_&z~&#}Aw=-$+d%VJix8J?hQK$)R9-R@ zVQn$*AT~CZGjz=FJN+@ny^ajC2$`-68&U$dMj2iofazIz{7)wT?a6B6_na&_|HFiW z|JKRUZ5DGd;KM9mqB;Gp!Y*b>3bUmlOh#&0A79QO^&uo2wxF89eL4(frR+(u2j;j9 zcFFrt=~JAerb*Iyu{Mv~*?CXF)J&^u<_y5dIeYfVFaem*vqfN7sC{LM5&rI1r98(J z^dlhjy8%UOxx8`1$j#4$a$z)-r|`QhIJpiI9b%bB>xGAp4(5<!L~lHW%6a?NkV#+IHL&l6j;?rVnACcR=C=gWa(hURT0> z$VfiW+w#@UCCBRYD`)SgT8AHMG;J>RHd~fyP5wxkkN}h^W||=;QpWU^u}DXF?bFSM zyz4K;vUwTA3ypm4Hy{?DEah>tqjs3u>l%o2{Y*_R|Aid@#G&j1Y*w$g|wcfBG}QyDY#t2 z!M@tLHxr*~Khow5+mVwmR3FiHAMVpg<&WV}G7*zZg=ylqQx^88kHGn42YhxvH={{kg4Se<#U=4hL-DC#5p&iDV%)5^w#rQ^{VurQk zeNAOUC>AV#qZcr=hDi|B$nF2#I-}iCq09U%nP>(ZjneDs8hjfnW>_kt$Q$x{g$t* zl_~>y$_xaVsa^#OO?Kr7T4c=HwFe)hA!+%mZ`TX>{^S36Ec!Yt`5*)db0BvlEMs*8 z=Ox|qdj6(=3e2)5QAWExuslzX;DOdmqsq)UuAWOiZ88^)zmXezd;DESzgR=q$4#8jKQGJsZk0cV=N!;_DE zq?EloH97o^ntWq%51--UYf-ueVKjTGok^$E^~{yY`_?2;eif61dJm;Gpf;6oENsc~ zc_xCJUg$zmfyzIP2#HJv7^@A>)Xc5=7o?#sqKz9c)9IO9nS{o#a%jk!!pgzJLJL_L zA|3(+-YH*^z4F>gEHJ0#m(Bo?{tv!M`o-q0S)sC5U6aG|u3kXb-;lF#N!I*JTI`uX za>Zr*<=T=w@~$h=Uh-uNZr$j28}bpH`AV=V4dbaMfrAN~3-j_`Bd1UMGTkyV_-rii zpF-WMp{Z#egIb2y-SiUMIY`^>k?5>rj8)~*{FJ%^rD_DK|E$VvLyL*jJ*9ErEe0B! zwEctphS6B^$bl~D|b8Jyo&J5NtyiP1up`B2S?;sUHgs+y<*-Z9D+6ownc^V)56 zg7C++0BQQ!FI5BljgzI^4Ej{+a_ne+dj2@5Zp%e^zw5?rD6vJQ*~YmUurbH7|AiKW zBuaFn!xyY{1XzGdB`Z~xM&i@)A$QY_;!V=W?=wN7&6*SKu9@Mwu0|i0r#`kOmmc@! z=5r0no^8pW?}c)@2xN8U%dqXqT|bf=@SWOEh4Q|qjof}Ul<^Hu9-owQ7Fz8H=OmD1 z!v>p6n(E%g8cb%&+Nc}K(rrkz$9q^)&^y-%shTOajgOR(J>$DRfZ4)@wPo&s%DI-o zI|5kE3B01=ok~Gvx7HTF>nWB1?`e5jJ|R|^!V`fB)Ecyy<%jy~SBpO|@JE{dyMG`9 zK>E+P%G1Sz4Gf`4lv_LAx=K4GfMLn?;1P`p*w!tmS!ctJpL#C+g@UDqQ}?AVil|-7 zHHFH>Vqs*Vs;^K@LaCdmirdrc(9bAP>d12VUilrU&PyLU1G^o`7k;KCmj(^_#wP+< zg3A?QarW^OcL2g};c|M90grUx@?B*rx0FZm+U9H|cb!MUJjN2FzwL!8t2IRo^w}yc z<1j9AM-@C}HjtrQB|-|VcvJ5sQZg1wd@`|h6h;4L!HH@FRyt!nso5eem1}6*SfT;7 z7}^NH(QivFV516?USqh5L##vP>IN!JV2^bz$hb|p7=Df1ffhIx5j^=IP5&!7F|Oue z8sHOhY%B|N&zTFa@}Tb@drxS1k~RIhaEsv!{-T^)7elLkADr+)!scqnQdg8&D)SKJ zSvxy(S|C#u$|j0A@yQ7M1p5ek;rrzU{}H+L(X+AyS1WyCMc#wEdHVf)z8fK5_?7$o~k!6 zfj$?WuP8p$f|7~0w{64za%!ALCpDmDwE*J*ynY)5_EgS^093fDfd;Y|OtTizQ!|h= zl8Ghq;Xdx;I_?-72CCE`_^N$0(Pb2U$RiL2p63Vved-!cs$;VY98F2v|Nbo*0Mbv& zefLS^zY?6)q>rc~tSjp8LHg$erzN8LCs?Cv=s9K~@jchRO^K)KS9|J8pm_uQ{QZ*X zRLh{q3>x2udQ}V{*5fc5XRk{qc&EG+T#}XdUXb<1ij*&P3o;l@99Y5zaJ-LN7 z-oyPr`7V2lgdVfKN|tbvC(psZe;JbfTq>`tKRuKc*_0Npxg$1uZHG!l?*4c$Gwbhr zl}0W~VQuN4`AplwGN;Do(LJ_I zu_c@lJu<>!byuf<(Cs5hHUK#HV0Mx-k4SWHL;Bb2@^w%6^5hvxE;P&v{CnRf#Lu7d zHTFK-f%NWI^5~KWyaJ#4Rw?ys6+HdSq3PUdtoZPZh5p<*;(u#i`U%zQxL{JC>*d}>wOBhi3~ZD}c)XbHJ> z8rfzZnYv=2SYspB{u>RmRSO_F7s3H>5{pvaqIZKd{_VG7fbV*9zp^b?A`12$=h97^ z=+J`$*{|-%+2C;{Agg9%F^p|4{aS6O$l5s6eBT_Di!2}2KF>!E?!(idR1#+#C;ocy zsO&?^4$fYb<#IjI}zN>Y3)C<`QY5gDL9D2$~5|vr=j7-)R0&v|%=bcaf=<#q}7w z%2t!w#uA#!-SRrtZSRYL!S8w~13)$K?{7a@>P5nkvnyG43?R7K*Wq&fE(mj=pE(yi zp>L07b5alz#GlI<=0r^uaaPjDBrqD7|*!|wt zCfvK8Jn`;8uJj;>Yq0lqNItasY1sOeQ!FC`YCf#Axbyum2^)7RY3}0Rdq+}UJ%lel z&@k^Mx@};pWj2=L=$QK;idA|g8GsF@ss)T{h#FJ4FcdeTYQaj-3YDw|7gVx&FU(P# z3!YS9$hLH5_qc+rKqirRCTh;uuS*WFm-rp&#T!!3juhojIPuJt&3i5|#-LK+cclRH zC?<1#j7B4*W2pUG^7-ul*0nnhzV8Rw7LRWSt^az)5~~v$fceGM2c+nx;!%o314YxQrG(%gYmZ5`m) zlYVxfK(zG0SY}nu$dXII+KE9#>r7?$wItIAK}uD&^u;qU!pzWs^_7(mtF1+^AMb}= z3kzNt2wDOY+<|6bkS6pFzyO6-NUuWUcub%HTL}|Q)R)=5_7LRCDE@u5?sSj8=#@;| zc)E1qMKM0|V*beoh@a@FoKS`BM33RBqxJ8dWPoou{wadJrr*_{rHoP)b28SA;@QOy zT?7)p5`G8(LH z=}HZRzXNQsoV}=d1TS|g@=Wk9IUhcy(Z8B&@lMopP8ON$dHIm9<^W`Nkt^Ey%9O6a!{+g4 zF7OkuuF$u5KZI($$@4+#FXDMq0a8m#!?yu}r?+94;M*5Ke0z5*&U%15Cvq8=*x9P2 z^~MZ%Y){I5U$XuYh&EQKnU9pHTnU#A=(3Qz1-Y(ibrC@%D{w?Be$;tYvviM58t}J= zu(LF8&m`Zb2%OsR9*9A-qNQiT#^M10*_H&`VDj=10I>^Z*~C3}HSW=cG&74rz!zy@ z2{mX(;|!Wgb|of-M*d5sN3JsqXD%t1YU2pa3LiZHP{w6iV63q@borTqmQ$Z#fNyoF zV#@%q2^94wAN1FACAOWC2?hWo%uBHdo-Ty%md)TXH_%Dva^ShG#P;2Pl`EPEl#7j` zYMVu8-aODGi;?-n&Op<+ecbdu&i7orD#^xqX}7wPT=ikE;c4Lf0*T?!{^ui z#AiUKDTi{XS9&H0)O8zIc1k=WhrG)^uI+AI1NbZDFc`^pHk4VmEf);U&4CtlaPV9c zMC;;c!-I+#PBs=LwOs)j;pfODndWm)3OA|Lb`FnqEmQsXRIvn`Z~N66Oy%QXf=yNb zp-v}BZJm-IEHs3BJV}}Z2OP~czfk0X zlKa-nb6r5y0<2g_7^*bc5U{T}mnfQ3^;qzH3-7&_G-VS$KILQl`^)mQH`Bt=BM?75 z4_E0N7-AEq38;Ru52yx$UjRd#&W)@?!_6Dn~%Q>yIeRI zmY5=ez31OY8Zo368smyCLd&hG%W0EOoM#*>)=1PX^)-2}ZDV3f?T~8L)h3kb z#UxQfX<`F&(4Hn#u*mPSjO=vql-w}q##YBRc$g5gr|z<37s#&d;# z*M>cr+`1&~!Jf21>>9M^NF$j?aM9jyF~&?Km;s~2G&Dn4*BF4WDd#C;87ImG!)h>`p_7$Y3Ul! zB=oE8ljJ4Me{jwK?|yRtDAdxgE+qak(EdvB4ygz4lzOr*n`L)TM8n}QHCcE^OU`As9+N5JF&kuMW4UG(JAMcnLRUHUhg;&tGIHxgMn zU&+dPsNUjuo2_0z{s~k*2)}~g?^X;IAHkFyxgXGHB>2)|jR^&u0O>KI>yWAQ13A>Q9Bzd<1rN$(QwYuu;dhsIy6A7uR+kCTeL7 zpWTKpa_y9i#@le!26AAwr3X_`&5K@iJpBk@umKlvq|;38FkEp3AfCn)EV^$khGJ4H zvje-uT+8`$MC4My1QtgSf&t+B7FcL7l&rc1^$!N52jRbIHmA}&1Q_VaL-yFAzsZiD zWq=Acda&>^2v()t3#E?ri?J@8gi)pw4YWsYys{;?sH(GpV=MnQz6MEQqNEYYVJDOQ zF}K*r!)HN2j0N}d}_iyzz5FcuP zX@?!Y_wdV<`q_yDNa4oF6;7jBerM{{2CZs3JhId!kEP!ObHbh6Imd<-4vP|LzY1o! zR_X-NpaOdgK-g!&G+@B!-GL5^;7?2s87c!1U4?wpybLP6)^w6W8i7JIrQCyO@f3jK zb!(qpK7crd;i3Vqsb&IbjMz;OFs_KCaFftO4VEeBX6m|iR*H*&kO04VW{XV=j-?qH z=RZVR&_d5AmZp4j{cp-IPXD{bYzNYwD{|qa;-9BK=2N$=n+GQ^ft|;~)Un1sZg>W+ z&K11OyWngcysc?{P#Z9+R$vjPP*bDC$PtX@&a{#{oPe<$$>!4oS-%|1?&p9bf>@TH z5Lt(W1qPqrj-}1U68QY@UG`<;YAMU`@s|#!P}P?Bxr|&|s&FoA;qIk$)qI}b1M>_l zP7TiW#9N2@Y<4AU_GBBj9X}%@e67ZaB7UR&67)%)Yb1|pV3uH+z>}>H03==kdWk%l z!u@PvO)g{6TQCa|2=C#!f{7}&rm_zeTw|-anm^kTHV@R;K@owbhp7pMrmh90s~T1^ zZkB)rs-<=hd+Hkc`u|9#@PL|2oK^x>0;dGfLdhUdsgE?uIyb&{yym>*{@CL}=(>Fu z58C(n5Tjy|O#mzu8x~G^(KV5yq?F+x zk-cn3Zew{)ec+y~J_6UM+mOBw+g}f)*A0N=!7zuBtV6wZN+XZQo~*qB;_s690F6M| zwzw)*N6NS=8!I=SbMFexmbD=Xje1M`jb-tA@LJZFC3tLACQGplAjK0%PzOYBy->>1 zi@BaRP=w&={noG+`Kd&<-U}?SVZm(*&2SnvzqJLo^QcnBsUNY!C)M!MSmAD|kY^@p;OfVH=)0*=FQ%@Q z_rM4h&&$ebTYQ@?+{e)aP3iMa@9?DmPhXPU+1BXWh6Z|?URTqYH85`jH{SGJewC+$ zdShWkeoWDd1Pc&YxM^Rxo3TGByK*=%vJdmI&5`bx59QGhWJ+{zXIa+IK#|`IwXCYY z70apImmZw*Mu=(`yn*#txv!^9ib#FuC2eDS}Zo6XY!bQ(Y^-?%LxVZ}ApY4f% zdKpZxF6qUl96ajFHq|^x$b0w9Ah^Y%! z*>vJxa>b=audTrZ7Sunvljgn5xv2&>j51DRHFTd(89<4H2WW5-` z7q!o??c(k+CwQ~?GYX`}3~OneZM|RHo4NYcOchq2_6A*e&@OjV5cW_s7t7ei&WjO&Lsczj*MU2!RI$L z-I}ZFXRFh)Ns_2(mF$JB?5 zDQGsa#OJnFQ_;7tX}2@0eRd3YMX76`t=n6Y<k+f9k=q7FP!Qg{qZQ8=5><>}WKO zJvF5&WX&Kt_(uQ}8CO18<(fp{HwTPZU7E`JrBv$6UC9pyl2$XB9xO}$jab%3ft>P< zT*8em!OpH6aaR9C?y>s^*K;6t9P6m6T=S(-gTylK00yxOEtYIj<-^YRpzbfONpWRK z`T%$X*vt?rJGupJ^6HTk*SDp7?l!L9Vg*(l&EP@}KiZWYp#2$4&??mYDwweS3L8qN zIu1TK7D-PPgc=t{XXvM`$cH%+_D}>aloq++m!3Hub)8QI0aVlJX;9^1TV2a37&PA> zDMQthu6Q7NwBqZ0LX&85fP~<^U|^?}RMS1J-K=bmRU?OVH;>>3GIf8lK7e;{>i8>+ z`?K_#vu}N~q=g8=P;dbWDMBq{PF&cMwkLOGUYUB|wtLTa38ccghLyfrE%akl ztY1lG{Tv_~fK~;xJUL9{?iUhSKS;DC>+~{g{-Ke^L9YFAfg8I*^t^)KXkq0JAzjyv z#V9G5D+F}!aYW5UT>lv`z?pTZ{$)uow`96ud-K`=Y0IA;Oa9qglHR-_Ucymeu+66d z4BI^^FQ1X&c`ynHu!7%Tg2cCPfZezIGRqFM_t9ntjB5lBG+`u4;(6gr?CP)r=heID zD7UTQ^+JPXiVv1TZ1EXeT&nebN@q0}}`QKCBvtnS+!_$%%TUuwg+JK!u-w}Te#6JbK ze{or6k2YikiD7)dNx=5fp%ky(mctkCs_b@Sz^bP=CAe}*vI}d{hY!ylzH@NndXRd# z4yoGOh09CHALw_CoAGH~ON$hk0`_&kgSy=@MCIKqW&+w>4m>+Dfnnyh zM)-U7U_ywGt_|WHdmI5-bC?t7*)jHbqWgx|9*zW=%)kOeSHmpBoo%fblP=kZ`K4V$KA(5rOY=A zwH1+}wvXwQ)Ot;$q9YLa=x8hh6KYxLO!M`*P77^AJq2kYaSEaiN}XUf5u0&twS%!1b8y5u8z#CqQv-IafP+*i(3{!;3fg}-hL5dP`4V4P5w8Y!u;|L9y&|(y z&@LUgkbNWTKg+O2N2XL83DpaZ_Uypa^-dTqJcJ3Mi?mbmhz?|(I7mT z1+*!~BS4sSZFOP+$+hw`iVZl5Khg^RZa6VjCN#jXrK095^GAaIMN&7zRsxhushRQZQ?0QJV2L?62%!)H1=mDI53S^RG0qH)G>|03>lz+OY{6VS44Tavm~cB9fwOP}K02XGyC zfIn{BEalokpoyB1?o4U{Sgr-Jhq(6^m|(1RQ1hl45<4=sk)-BI?bss6`pN%i`ePdU zej@rtc|7_s7-4gzB4P-OGA;7BCzFK~lvH&5m+9 zt4^49oI{*S?wbH#7i0c+ppirdBM;(>vVR&xKE-L@@D!qb+1j4S_Gxn$2OzZ$ z*Dd*tEh#>CTTDNdc%v)L4?ZU58!pS?d+S<6Qp0DupC5_$(w0&MR zO_?Thwtwm-{lUz6)C@ePs?2TGQ>;6PO>l5;0D|3nOP;&}7xv|CBimsCK@yk%d=kIG z`sy0ayP^>RSyWli^Zz;$&NI3#P2`$$Bd_K*!(?6JbFy1qQ@@{e0cw7|a?xSM>S_wF zH3w5SP36J90CQ3c*o~FPu41Pn7sGY!`uTkJi~9ac`LD>S;IdwX?`x28QS50R*v(_! zkr3P2J1b17`Z}9``(7&9A*5pq>hV?~=cIDYk)hV*cN)GlCbkpaUYTt|vHJm;hVa4)dhB%2KOzZIL)5jtvb*jkqCI;K?rDyb5=7 z7uPcdBS;Oz-GX~KDPc-EBw_~1uWJG;b#2}Xr;RnI{I^zSD@iBH1k|S7R`2oXqw-tn zPwIQG=AY8OgcbjsY6yA&%0#Zu(vH-5lL;{M)L3}37l1&5>L)f$+4Qfd{lAHmA5?Zi z`R`}{LYm3)u^m7B1<26qA+eJ$HFk~nC(Gc@r9$dWP6!3oIDk!CgNhtuQMT%waiIj} zMDQi}m+?NMj59YdIdmPb?y3!}tPfV{wXpJSY40?E`j=&}2{W?^bPYfMVg>i@Rebw* zuj7VD{52VW?34^)7Ipw2FTvI?UxmGV;ht1)>_~cpww|UY)BZkLxOnq+?9kOTxZO=W zPCso*vIf_&3pBnA4=Dj|s)InW-EVLQ9?TXDKc~pvn`BbI?5hTgZ~Jlu_tjJcZZve8 zyB$Xvt;@9|DYOlyB)AvqI)oZ)8EW+vaRDcY{%gr6G+%E)9F9fO_Hg0wyW2*J2)|Q3;bNH zIdoITyAT|@CQxQRM*yL4)mOGkTn00WUT~Ff& zw*e@Jb*u;_|8+1ogbpYr6c&8E~LnUmR`a(io$Tex3h>gi5maDi4q_$~<0Zc662WV-Il0T!Oy8ML7R z64-UG4w(ARnjBt%J;wX(!%E}#$xHiET-}!P+7<|Z1d<;ru(QNBu2RrHF~q{ZPkhgA zN$)j#;&+#o_|wfu#&BH@;dR_Q!nL0T$u=R?w_&sQp|M`C%|M#}hi7nJJ4>hT+0CFTH;2mxT_OkjApK2fou!7D z9)MrX(?Ab*0vqhXWy}E8AnlXYPamnqJ5Q&Ams$l~dbW&?>(znR6>7y#YcUc}j#XDvm3zm$E@}a4;huli z6@D7fpZ6JSU1UUeTf7|B9w#EkLP>&{n z50)C83LaIIY8+Gv-S7vhHf@$@t=a9{fWkAV`m{dL+Pd8vBHe5x7a4yCr>-(_qXS&5 z#jWeGhS-Hsa|M68cVG)D`D|NN?`$QMA*5~siK{R9TARo1VG6ikDYu#7(CB+cx-Wr& zUcD#f)jbe@%e7W#i(*$IZO@zg_N5D5SB~(pCdXKTlbl+Y;QX5SXW;%_Sd|e0B`(_0 zKrKzrLDv^#927;L{76f*iLV&r&_)^-&*&zX)(j8| zE7I4&8ph3Ci1j_K3G(cGGKzzz?dq9c@2&Frg)5(n#ZMflVJDAHPId_K@msvxS0C&l z=CFd6ZsW>YHr4>r9kfKXE#IsSe9-|)#tg1PBb*DKa=T!OZj+jbO=@V2yahEl0qB{| zWY%WfJJxAct#K%iQQ8?hQ1EpGtIzFXLv{L?SY;5#ZU|{pDeR&5I*F=xuY+&F#&Q5e zT(|r7Bn?ky6K?lva}^8#bza3{yt*yb)q9d1^tA$~be+B4BEcHDGBVL37tx7_k#^y> zIf-luc76p!UxoCup5PQf=NY(rtG?{lh^D~ASR(e_j)D3P0R9@ek;i(T4t>tHD;;vf zzGvPi%gO_vu5R1yB+_?)YU2WBgkuJl`*Qja~@FEFNQbLWva z#{l?vm1le5VL=<#11xI=@Va)sM6UHIc0q~bkDJAFZiGyxrQoa|h<)3#T!C4paLc@V z4GE4?-G`^x24_O`Z&U|5fr}ltxz7Dtl7h_PJpPIL$aXl}ypuL20&ar|pao`4meA?iI;+3vwPQmZMhMk2AlWJ!yec;OGzcmaK+IhQisP;c^CX!(-n5Xxl>SG+5V#RqA zJhvIvy@4yfwgcjC%W!{B-Mo2sGI!}Pix|Va2e(=@!qa>)5*h=mc)%G-{LL5^6$vq@-?+*%ouWP%zV=bMhSHn@JpK#o{n^2L)iwTTH%gP`2JoZwdyt8 za<18|k!JU7vZ4>BDLJGGCWzcU(O&$_wMtR)JMbo;6`<-fsQn34FZ%>a7X5SA5O`5- zsNbbGa6S_M&Pb*QBe8?tj(5x!i!_LL%)<~D7@@CS=XS7A_g)to09v40@5u}RZ$ys+ zwBimX+`?uEd*21)ErXweT@V+9FZV3*Q<#IYKi2w*L`TF7AW)ncd|sn-+BgCMx@%rl z6WY)rTai`^Y23lHz}Iup)o{^OX@^*pF8D^k_+asZtBrE*&=o$ge^XZ z<9IZ81ql{badEUMvD@Y?Rb(8x-M<=&R5yYv@(%NLs>bZjRxLX+6`yJHCWw|V!V_T0 zGyxD)F$9BkOmSqf z-B!*(;=(@G6il!Rmi+3Ss5`R<*iiJr=zVhHG+I z6IAp{S0?cBr#Ps281tgkvpRZ%8&fcQh~E|v-hd%W{JXjapP~Zr(-wP6DmH*{gA0z; z=RN?To1(_3Be%`v^i}Orq$j{Ydt+61Hz_$2V!*wR1}eo9H$0B(++_9y;F@uo3*pnU zUB00WtZYPK&Y)0zYEBY=MB2|IfM4MF|3&{Wh`a2qFUGyl7By8RcGTARE+jgi?U%a= zTl3kzwy6BCAHo6VlIZb1kjn<@|)ihF|g(&4j8!qpbFWV9;wU--g8`W** zYAk|e3szz)VM-8x%+jcWd-OtTA&JWe>U175})m90T@7uzh|p+28_XLZq80Y zpakz$H}w}I?WF1|sIKYYtWr0p;9No8ZQNaw5(1RM!zco~&5hvP{@t!*S0^CsREetn z$X;l{F$3c`CkJ^k2S9DY*73vgmZq~$Fu)g%cL#s+I0L9f)mPsOO*=52yWh&MjaJ&hFP%K~w zeKJB@RW%1SaBdJ=wJHKhRwLouMEpx&hUT48i66a~O0flC*`G+UcjWy1@`R+%gFLnc z!{+tp+f;|DU?Y}awHRe=z|)9i%DoJ6%{7+9vkVKw4)^hUcWpI};BTJ{Kq)wWghYbPPWCyz4#Lwi54s8Q1qC3B1E=@u{~MQbsz zz)2Fp2-Fz^88&E>$Pm(6vBy7vHYm8clHKb!z~UvYF{h?GcKN^xSb)q*$FqXJKKpU`%Z(pU zTRtyXvP}sUbHhhEW>vSaRBr*Zhjn*|n7`a_| z;P-PIIWSgqgf*i?-oo#EzR(GXd&b({opK;mcwQdmXT6#0k*SVV@zk8eCkqDf+wmE6F^M^|8l0cN5l`1FO{pt+6jwsWJ46>5a9)QSLY&r}tj zt0~fa0&DI)qkg$bmNYt^aS#N{p}9{W7+`NUl7Rx%P^WZoGRJd8DI0XH%(k|V&1)0v zwoQqaZuu_7t3H5kZ4YC&+>jZOJ{XoQ=#+MD5EXK8>pMOpsNTR{KnJa){?Tn=3UdiFS6^IG}D3#XUjmH;sw=c^r#9M?RbWjBXC0F=YiY ztjn1I=+*S1C$0@V=bSul$Bqk+a0E@*DA@O^XJpdfk}bF+z2{cMWSdf5hI~W45hE@bVdVWss#0cJb^`hf8Y1Ic6q- zhQ1@$WlbKJmQF3#Ss>mV*~ChCE|r~A>_*yg2os)4E;LkpjNgh=?luZzG|6?l8^g^i z`;|&~%It+Ur%aSFCmh_Mq3lW{^4uD3tGeOphGRujEl6cUr>Nq-!=99oe1Z8S@KaMt zuZ5nC?zLxwN-Yqa&9Omlx18~Yc5mTSYq)K?E_1cWLmeI=x-qq9YVzCJFP&t7pMMww zFq5!1pA<&kW*T_OtYLAduJQ=8NhU`wN6FM_%X_ZI<|&BcrK>PY(LZ=`;%j0Lbr3T$3Zb`?45={@co0-7NX#loPDwTY@g%rFVV}GyI z2GrbbG-0>Pr1lxUxgYSS=Q9EyHYxNU9%q10rT@G9MgRMtPUFR1SQBre$r1yb&2H2Q zeBwH6Wl+b0f(h~zb_}#$#lj`j$&Uu|=+b$)341v_cthk3Ts%jb>P&v48$3?M#ShVM=}XNTs&Y`R{C zq1)>x)aib63{XTh-CDL{?;`-0j~}WkyN%mSQA4C!sZ@;>%0S6&i9c52XKL?hkLlKt z_{O=*u@}4D!%OFV0LwJ$l7sj_Y*I9IGf-_eFLRnU+%sbgdjy}E#tC#ox=ErMtgu^V z>G+t`?HV$lax`-L7VDluc<1MWACQO8_${Y}b3=hQj`s_)QN&jNMheJgkgSZGCqNZV z0f|>i$0i|WBkrwhT@|X&7>nAx0_O_aAb;f%$#37*=-f4!g-2L(zyZxVMB0{M zWI93}dd4}WT9(arXJIw%>+0Job7<(f)NWeOGpgvvuBBU?Yp3ep*e&XhJPv_b*G->o zeBF+L^E++)b|AUt6F~f#&E}O==B9HMI;%G|b~j+M1Uq!5y8XNbd1IACE0a{sJLZm! zBx!s1qcBo8dVX){%4Sm+|n#v8f zue7*i>V`=UU1Ft6A|Pu%2^;LZ-4Di~UZ`ajTnwB}0G z9NOui1m0u){mLzkq+__M_Ku8B4*xCixDS0o;;_ zbX>cyAdOWfZS7QHu&0(oI~*laANiWJFi>FyR*X2I1S5F#6aWx5z7}BZQy1jMPNdN9 zE-rk-&Bg(r08Lj4#*A+3R#O#V)Fj&NQW>AvH#eoFRZ9)sy)-b~GYHDu1WNkE^V~*m z6E~QOLl$Bs+7=dc1K;aHV%LW70Agd!3Ygd%i)uEvfsF;PnwPK<1fK11F&M+{62i?Q zQq=%c$D9`M&50j7U`f%5efauqkP~YWGEQ#G93){1JGT*vDKsauiL>oEDx}>{o*@@fJ5#;3;Y!R{42-X#X8=aZp}7@ z0`$0TO0^3{=mD{^FECK)4+l_@u=PGvXf+ZI->r+jJh9i4n_3#B z?H8I;ue(Vjo&uRdeR6g{Gt~bk5i0_}+?R^QKt>#szOcf|uwj zVZo*vRh!w`JV+LQlV#8&?a&Eq$4hl6FIT^%MXG$i7Syzulu2I=KiYhx?b37Vnx4MPtVY1;U?`u$FJi`Tz zV41fAMX=@2D5@=>UbDiMXax`@?ne^Cr=^DQu@I~5J=8I@HBI2q-nTWJ$vL_;-GnLQ ze0^mGPu;rIwLTYa!wE*yXcp+wo$)W|3_{kNVKhrV=u6g`TA{L0(;zHUGSf zaQy?gYHcu0M_I#YiJB-=BwAE; zFpTXlNeRtI|DF{@bb(`fNm!3CGOF`@y3tBqqXlWU0K~WZFgRwcv|Qg#Uq9aEGZX6; z&db2rG<`*E@b4XGfX`?DRF-O|AZ2weWv;X<4t6OYOVDphdbXp9nWYta=hm;hR+O^-KvSONj)E9-OqVXTj>T*h)(k8 zxjl?mRSO)N9aaAXT2mdV8fimnYDYyaD(N`od#Ac42i|S1X5uKk4Cfl)w_7eZZ`-ja zE*WK8-i@|f9Wk%xY%}*2-moQfs`6tk*-A8Emg%`TUQg)mMK&`UF}C2wxe)l#8}*yE zl9_s)kv{9L7Aon1XE%)G_*m=XTknL-ow*KTTd7qndjF1%f;&#jx3_aBw7{>P)B>D) zuK^4W9r8+`)PYR6=#EYg1F0C z(?3<5Vq&@HJ{zWAkqkxIqPSw*1C8^dbQ~-Q8i{Do@%)Jj7^dV8ElyrZ^?ddbIEma(s z;h$1%aIN^94pd^Wb;G|bz2NjBZ5wJ9ucj8d?)F8hyAm=x)mJC|YvL+M5(`I2VCEA> zrNUgB*}&4Lf$lm^EnwU_(b_2p)yXPGUF2*rcinbW<;ITUAvm1xxsm-?;#Un?zuMYP)GjBLk+S9?g$rU(^U1Gb;FrAJCO7%@?j0SG;~o5P3%l7 zJFuqm3Ku4^4W{$_2L0pEjkva3x$eoRJanD3GiZ=Iy8Rk81py&@9JDz@>+|h)l92+; zST#%NhTRAH?^p|H_+5@~({wJ(U6oH4`yw0Hd!W(CEE4aC=f!drX0ao9wdhN-r7CnY z1J`$bKUZU0zQ-L=2Nu_t;M%chr`pk|Zo*fn&QHmzXWq zZEsb3BG_`(@H=7_8@knWd`|2vwcRAf*6AjS0U{gvO?+$aRHditIoUh)+z?n_qlOd= zuk_TO(`eBIj@&rg*f4si)0otiZK#sSZE?5j^_%H%EW6d-iRO=~qn&(N3;-?g8nnO< z9p7-!On+Kr<-eBfp6CW9wo$~Yq`i{YsU$-4eZ_ zK@M*1?n&RIZcu`KrY*h$yM4U2eWu&3(EQXjD$e$;)OGb%eqj??UZJR*1Z?;%4LfU% zy%thhO~kM%8K)2JLYJ4)$>K_at-4n4h6^)Lx{>XX>l3zvvqD$1Z#7Gj8kvWba#Of6 zba9i5%f%qgOan`H8_DZX<40~s5LQa_`dTK_zKOui_pl69Xq~2Kf<+VSKb!vjlcXcf zUi-2cz&-u}j(;1+`;;j_!QkoVrTZ_Jl!L|X0c6|`H@4gY1W9bbftnROL*RBs6*tAdbTv&zV;MFy$G{RNgKmTPyX6hJSH7a#n_rC` z2Ceyi{PM3&f8r#)o^>>nKN1Fj7MMT_{52*B=Y87K|LYgTt3M8)cgbbA?4U!@wM$Kvk>} z$(m#A$RQF>qjLW*d)FFbSyr9bK9BpXx>eOZJ=1oRC^`;~#)zO{2onaAfg}(}MD&kA z5t1<^J_sm`&JU46f0%!XKO_l+1QgMT2_Z0spbUsiG!NAHNG8#VZ9k@_tE;-I?&F+$ z9$DYF);V>%rmCi=pVJ{54n6lVb?-fU@3q(C`@U6pI5-n);*7dO;_SYLb5yv1ZO+iH z@}g3(!VN!r#+wRK&Ct1mF&k_bErcDlhB1UV!EUMz`-7+kc!_njigKmy1;22TYyuiKI?oRiC9k$;mts%BtH znaw!;SjasG(NMe^sXbsb#@;(QXE-~h=YK%V|M7!#pB6Urbu9oytxxFn(BkvI(SMY? zYc<^C4W)aGkB5Xlb!jU5UJ>tmpDx0?{45U(Ev5^30&X2~mYd_lv|ZN%VubYW{FXobj` z#lk9K;Z9`ZpNF>9PT+De#;?7e2IE8+6ctS&b0U>X9%Z@+UHBgDb0_NAXWlduzkNrK zCoBRB_qJ&XzL9-){}er`*RQ$i%Z*v&7_fi8w6r#dZj zA()VAqb(L3Cf)QFhF@K|O)%xZJ^f+aypg`X%(GtTBQ%{gBs2<~iNmqQr7DH>{24uG z>le_pW5i$I(6ja;OSvYEZ-tvZfOv3es5DqOTGrO=s&s!|oNO6dnS7i0#<4`3yokL4 zh&<%q>bS=g9ATYPVZ5Z(LQuD*77ocAT$x)xOg?%u?073((7hnpw{JiP_Q8Y5zDF&9 zL|**B2Rx$JmlmHqQ~o=%X_dy{Fw2b|4V@sh4%i-*`{FQg=FnIx_Q+kwJ;8>!Er#@5 zjdRGjyVji#P#Q4wfd^};vjx(|WMES1Q06F0dmcOxRNT6*ZqF=UWWI>(s*^h1b>`um zpbs*4MPesh$a?~ykOI^SvlzucMrn5&OjH(C~$I1hfYr| zfhH9Qqre{^rS8=e@CcD{taBr!)C*mN@OozoaNE=??X@q!h>JGiVh~pdYou@L*2KrI z`rTzTVZSLRn9Yuw;D-^aWZZFnKPPXEZYS zA^S8RF&Xcl#*juMCu^ECRW;<;y zy=;Afif47&*W0+@FGx;^+el(26nVz|{3(WpTbw;mqYU;mF6_z8$U-(?etzH1QM<3AZlwQBOw+Q}D zlFr-oZoh)a+=dN<%r@j-x(vmdta{9Z3th8;633 zo2Kkqw2A?H5f%;%Xd3kC(9Oxt?Yib~rw)IUf6l)oZ_-83VUYy%<$(zys)vp9 z4tKsJ5;!HPBtff_j%}@IEl~UckC8eiOdB7h_PB_QFadTE7D6%CU7HzuHruKsn)@Qq z$Gx7Ov1KjGiA_H05y1I(QJB(yk)!XyFHnoMlrK5SLicm189-+tIG-mFU@6|o6V-z* z8ALVDcXLE*YnbU1Ubg>6UhOady6KOKTn5ygFtVIk#W_Q|DbIaOJ^&qX0`upqdM%Ep z{NC?g&jeoY0>FS~`8)K2j_ey27eObyQ=%A<>}5u{0Yb=-OxGWZk_k{SFwb>m?$Hd?4v^^RUcTPjwa9&&}+W8T7_POCV`)4$9n|vUhpw~67 zXN~x~oBk;!V*u^itxTx8Y@1&_PvGg>e$Ushck-?!3_R>5K*_(nxCk&F?!R9~>Jud3 z0Wc)&wNbMPARFnt2y2qA^d(u-$)cvN$kI}W4IBy4jP~N|s;Jqf74-&i=4*YNJ+1EJ zdD#C#dTA>C)Cd*>z|!FhM1k4@=zJDKP&hYWS5?m)@=^JeRxORxIw4xihit(UDBIRl zdwl{%ZT7G7!y>pIKwxcRyPgsIXkLHLrVdk{`!jm|Q+66(=YMbV2sqDtK=%A5519P7 zI>h@$j~kH(IO^q}aq!^-SE!Diyhk41`6xMi7GfpN$4!|wPNTb}9_d0D=<~yfa4|S< zFy(zU<^9BpHh@iWJ*cTb1&yIyVKnLdyLw{l4(fXQx~`aj^AKG&nTLpp$cdVAOr1O4 zuegFW9Xy;1`*cE^B@!HLy5Utjc3lX8Fs>$IX*+;m@|lM~f~O!_V9Wy7xSf1VIvha2 z-0Aq0Kh*{Bll@%&MYE5cf96_u{Ef&195wL8ep9c%T67Gn3(v}volnUxq#ts6RF8-k zOX74iteXPxM$$&NOf+_nq&L^|Rwp`}sR>P{JY#!lSLUU~(*agsYD%1FWZA7Y^=P4+ z*=7VSnQCcV2uydyuE+_gRjZ&MU14OKJ)E|WnyIqi4L3mulSk2ej_LBMq7YpKyd1h7emBm4ErCJ z5lNCGwlziLg)|vTcUc#P-tpC*dgTfHhFZ_;l%~6{_J4>PerA>XZmsT@e(gRr26P9i zNq;Uo!`r{=$N~dP)}8_mvZA|m)zi@(=K@zgp`~MOsw-rpDrXT_UiOV0R3h@MPVIR; zI@ZY$wERClcPT{7dXh#`Tie_T>yt(tCDg+q+dwsgyivJ6Ffx2-1p_+XA)(#}uGita z6&7GIIzVRXzZR247~|<5N%YX$W&6i()NeDB1h8_o;e*|d3}f{A(Ho~0;I3p5@&ups^yHr|)(&=_{GtpxUz7BKcT4r`amjKu+s`e@F;)_- zVMHlsnZXARFc5oZLI-RFNuj8U-3c>y)+S`}bXrr6NFu7ODO1_>5v`3plDfxl-hA33 zd`qWT1N&cxuplL4kn}oAX#pnXM4h_J&KS0yL0EtjG=D@3Sb{cnAqUew1WlX0d}<;VqYtbd#?~uEr)2tw-MA{7KBvNvg1(zO6 z&47Z}t-jwLv=l`XA*kY{tOaYQU>v@hlYAeT7}*|_1Kw8!hV4TkEbq^I~B{zbHo3!YlpRQX`a0Hog^Y@{?FapGC>4eNikd)U6jjcE{t14@vgJ}kE5wNukxgtI5^|g6X zG64nY*HAsDpSNWa)-EwqdBd!R&L#8_jFwU`(>IpSk3V$Sefd{M@_gfFn*3Yk1Rgc; z1Aj@c_c?Nqev5KMGvfna;E z@2WOgo4LO4uMeO2so#fBUoDL5PV@l|8?SbV**gz=1E}f1${9Al=h;A$tBqYpALE(g z+j61&Z#f;`C#T}q5YpWtFTb+ZYhvy2Dh)x4^n{F85;m3St#xJIDI{6eXe33-P~E_| zmaNc8?dbm1`=h~%O!A5BtXHzTkx8{Vm$hsnBdD3W${7J5!P3NKZH*f-zI-J`d;j>X zL%5#4RTKVFumFn#Km50S_2cY&c>f!|nSG)C?_cTtzC+F}(jNx4n6$$aXdT_@=gR-! zV-!>1GZ>dJv&df;#ie9T=7Wn;b#WKI7a5q(&AJkdzdPwDXeL;eXV=9@?T?tgS&=&9R$|8Khm*gxK) z*GCUp2v?+*b;rG>_q+5J67Qpj>>0R=CHZ=5ZTOh6X;n`y>g4Z?MsnibzJ#7ma59%< zkjvWLsT@DilT)YFH&_|S@UDT(XX*fMY3yDUa{f#$7yhS~Gv7&M@{Gu6vLz>xvr$> zJ7obh;$oIBW{|_5-Xp#KtK{Xw(-QYzE3*&YE%I-A96a%qoW1-_ zxjgw%TMD|y0TD)ME&iqN_DWu2<4#=w`yJQU>-Ae=q}A8SzTU^TaKNT~&(pP#U;XaQ z%Gv+_0yuo2Bf=Zpar|YyeqQ!!^{AZfB+*IumM>}LSrGqwy+&C4q+Pu27wol@J86OB7`FdSx8tmAcPPY z%R(~(h5@3PrT6aYt}ScHeS7)VyB&Yuf6jZAnN>YZ55pJ?FXL8LzU97q&%b^DdQ6fe z@^&7TN=5zDum69og zgRH8FNKL;;il2cU$_QqEr`VMq{-5y2CZL+d`;GqQ`!bv9@7Ig#Z|B;HA$}akKg4nW zj~U?YJt*ye9mltLu=dv16PD!z!B!)4K(>-8$x^T&O*4h(%2LBmgjWI+i2HeX z%Ap-dYBK5Au8iymzdQQd;yeSeM{1P?lmU*59?lWsxkS(MoB3~lHupks`O`Rl%xi@| zW`NJ|_(~k#=KRt2xCDwcXM_8-2(Aj(v+I1Nd+3fD9Owz zuyFGKsnSVQ19a@Mj7$pV7^;>i$PE76{0y0Zj{%q`0kiP&^XV_+b4S11{Si3+2#$~b zF$0`_d=STf{h0{ASb0L;S$t3ypwdbB1v3q)&LQoQN_UTvjGq`kBsdHJn4qQFpe!Xk z7oNavV_*?X{$HrMHY)9WWdugZaQ@up)C1DDJ$-*}3Vkn`BR^x}$vAxc*zoUsHjMBC zIDYGoIs;t8@q;-2(p##8(q9BIL)h|~ESec6WTAZ!S-g4{Mz8-FNAN)+1onpE-r zrc{+#VrYR9o;7%1Fkyg`#6Qghg=dpMtxq3}MdaYjg7L;611`wHbUig6lf|?^8u*R` z@7M>fIIsuu6QiH}O!xm&IQ~lQjF=C=G~@_)S5S`7R; z{4Y5Ae-s$tOL6>d9PfMFi+>6TeinpV28g37rxZ`&@3Ji^aY^*Z#46DdNo$-X?_$9T z?iwIM=%t&)EE&fzk;(D?L_s1Cel`F@QOd0v5t6+HBDTc_B}wB@5}cYxf$zwm7%~g? zNi!Lx>yYq!V1#WYKEJ`@I;~z$84NH|MoXz7a2(1W7<5-|7whs%=|6v~b@?QY{|Lv& zzmN6YdFdlHl0}BIH~6UN%XO;H%h`t|E5hQ z1MvS=fnB2hzV&`TEqoOWF>973Xfs$?(#tA}SkesWJ}tmVAYEuAsar|PIG{GN7yvT> z1L0amz>4LgMQLy6GAta^fz9yUU;}_pnu!pMI)qn2-b|sPf+7=IA2Kja)6M*j{C56` zLqLJ}b&rMqmJdsRL85A3hzDcxf0uNA+>2iy|7n>9(dR&XB6zjqO8kdXPxa5&Nc0#B zZaiu?UU~ER9R7MmhzT6pAK9|1aO*8Q-NE_#6$utv(r>`7gD8Di1ek89>kLwi&lCmz zk56G`vJyTS!=?vt3Io0mun-Ef7vnpEIcaQk)Ib=;8BNtF&^3_yzK|6X1(UdzpatfM z6p&IYkqH*@`CowN@R)!XG0|7x`1i%-ApX!Z0K>KaD~{Q-FMLD%XCSe4nE|5bqLAoR z?=@RdiKY4;1G#q4RK^IE;Ewo_d6>^JSm-jCg?2uISyjn5d~ZdilB8J-uFBCgRP-Xw zFa>>3(UZXC%f&<>oXM32pf8>SXMpfziXu!U2w^xY^iIN+gOW;iq&B^-i|VX?fdvhe1qv{M!}Nvz zJ+}E|oq2%9Xt6Dl*Q7WIeXHfAe{(lSxNWma|T*EQ1pbxWT)VS14sOE*Pr^XeaMalq*DYQ~Y_Jz(U z0cjVmB0*&%XvhK3K?v3IP4U;uKS_V_>>^QM{xOdK0>^**`;}w({Q`kBu>UiTZ+}D` z#NVJqT>!}AZyt2zY8tXFdBh&8%IE*75n{EkMxC%wN$!YUD4-((D9Is^H(yx_W~9CP zq#Q39m2LvJq!`Me3Kc((PcPt;iy+!GUao&Ch_N#*mYZl z+Js#X9GIi6Zv|76WQ~j6iMoJJ*%ykgW6vfA>XpPN2s?l(W+bp>F3I5q_*NJ3fvH?l zfVYfbEP^_(ClWVtwh}ym3VuhKL}94*JqOS$`Q->exV#5u9|Y3h#CPxF8}i5bI4gTiYrK2FN;P}fpw*MfTfb%}?{lU}7CX~Nc`F9~9PTfyQQ&nOu zaH^fmP*bE|QOPrt&%r^1>I#6&m%AX&OrBBmqbxSj%>|U~>m@fB9IF3jmPk zu-I+uZV>1`!%+&IHldBTIWz~p%!C$NjX(`%VMtEF_YOhWBfNGHN^=M2*vGMh#oB>d z2V1s_XFVZLb5>zkyQ^Ck_yJV7s%6p$umW=`|8b zUfP#*uP6BjrzCo&BK7l-XR6@?BZIpmDIEt=E`h=3@GUKf+8nS$3kwfs2qCE<0e_D7 zAAwyD-RDYueESv{rwd~4gENLOGr$H0_mOtsc0!Z~u+(-QXkY7$0=3l90JtHsGIb2I zv%M#F>qs_74?zBk^kI@1RH7b;H9X}4%8W1Ocx{NEJ~NXr6Wg*YKRo#F&#p6zP`=4$ z8~?xrf++d_>~X}OgH0x8^H7f1S&Woyes>h~Tkf_;)PhNwHHDaNv z2UD3O3y|1F0J&C4LTG^f+eeaKKZH*Y6@9KL(k$b7ydQ)pKs0=@L;!)Md6CjG znjH{-e_!n0q4c)4WEU6Kx3PwaLm#RNeOQ`V3?`wNkQ##Ug(AKT8m%ikFm36F_4cgp`Z2tN;3XGKG^RpSnqYY%;hw&WFJq4v}$_{tSYPu0(f zX*T2-_OzIXtJbiR&lEDMLuTe-R~JiSTZIOaO@PI{UC8j(NMhLPs7HJNf>%NrK~u1N zBnQJpP}7Ei9S~RcLFC;~gRkXLBo&wk2q1Bz)OlJQW`M;CBM>-}4&F*_ft!$^3>OlN z$N*8St^>Z0=RCr9;F#{FQtUwTcMha?{{aZeOl4h3KD3#SN)(#NVvZq(FfjSV_#yuu zT9<%kGKvw-yTyk5t>Gh@fQh7k^X+1S&o=`Q?f>jqz&9rTJX|jlb4>h-M$8Hjzv-R9 zLRCD~zKf^D@YT1_MMDt2R5r8;TCj-vMLqS!wSNrP$nq>DZO-9&rh?2ThQ(G|5I5no-Dn z$|+LGr?-_eI(O{Yb27=n=q6}J*ByiJ4;DdA-YJM8Fav6jxLt)l(RlN}$^c1Q+RtBKH z1Vn_7p26J;p^ky}l=#%J`2fFw=A{F@1L6lz&%r%_xi`Q7Hx5CdEi8Yk$~g8>y3*zI za=Z)=0C>U9fbd{Oz!(A87ux{y!7cliv>X<%)4a4OAtT@@|wFv>rk05_(Gf8~F`+F@IeSi$l5nX!+XT^8usmb76qr zix=?SXNgan&jlp$>F$k*UpA2vzplSy&j7Jw2Q>u^0K7#xnuWx#!oHt}^q{i|D7277#SZ@Ht3&P844TK_T(#*W>R508D_?gC0QIE*83rZv%l02rqpQo!%h> zI`G2x?QJY{rima?kArw*S@r{J$s-Y z46Vl*CLj&o^o1s0FfZVneU$1H@fplvDOOt^mHY-wz;dtzKfDD1R%7B;1}UTfl1Uk(e061fvb7-*uMM~5Tl@5uw3Aq5T^Y;jZ2HGEW@IDaH z923x4wdvICwLVcixMMiL=U_J0hjKjXsdH8ZP{^Vg>75T{zn-bd8Ns_K%|?<w!UrQ0;gh5xhMBu?C9OWGc7PI0l20=-ocNfss2A+(W5D+OIB4 zybS{H0IAnnva<%$vxd950Lh%mq}6Q7s4}2MkpLLN0BaOGWH7jhV89gaWUB_|I|8HN zKH`HwG5|ojdHJO1ghyGUn@koZc3hL_Ohe}Xs%x=IUkzjnUQ^jD%673Yw~O0)p48VX z9!W=7%KDfGY4Xb3O&~>YQ~E1Dt9L4~!ypfdUxJ$x1tDCwnpWXVLF&&37vOeH!RM|? zuN=reh+-In$AaM_V&-Av=|@1ys?(5aNO~MQMVX|K8%X~M_nRh=6QKKIAFu7eR&HPc z_ptC?XbQ&fs~K}QGMz9f14-|L=>21{AiPa-R|pit{8RuyaXp=CO@JGv9|B;u>#|kt z%CHtlZ8?@Y%?{MYahRwKGg`>c7rP)NzBf8{fu0t;fl}`P8tDK};Cp&|_~xEk_)L;X z0jkRjG74DM_=i<|kbCEsRRp+p(_=}AG_WY9)KD-R6ag5c0{mHpFtxEn4d4KH7GRWX z!4-LmTc;p1dMx_V_B$ADRWu?+N{$9I6V>v3xO|yr)IHW7w94J zeEGVp2CK3XEX%KEA3K{x{2pIn^!ddA5dJUq1q&1S{^8P}hvYB7wlAvcuYnlM>k|je zHLk!tj%8Fpg7ZSsDG+}qmhRM0G9dfWLMqWEEHeD_`V1ti2wm+yG(_6P0aY$rfPO&N z(K-EV4{NO1X$hBR}ytfi{dmSQPAiED(47Z5*KkEF5*<^agN0OpuW zA)=jaXryf!9&JFPkCpH;vFy38L~tSPYy$ll^JMkVG~U?;=u5!B1DTzhhPM*Spr62m zkV7y7gF@@YJ*`pfLId2%?*PPhw6W#o;+4~-jUs>IttyK?Ckz1M*L)dQ z@bH6?rgGRq}j_P%{F&L{fp;yBS{)zuVr z0Q(FD;ktR}Yh&EYK>XldcZ z(fHe*3HqNG4FCq9%Xcas`B%$-Ma~5)kodN`elz%eC45>+wYDUX`W&2Am{<~++@c1F zFXNU0sPcgkB zkJKGaTmuPz0BIT51U`-H>6-<)4_Vs8XEw``>@MQEE+-nyVerM=iKKPABx{2=REKOs ztv-0CmAR$57K2n@t;zCcMW*va)__qKB4CuA2arno`tbWf%ur>!I6?4{uN1N>`y~zc z7^#IYLm_L!N+38K(VUF1q|r}YnFhggx`4Lr^#?;`nO_440RB2CI7HkiY4ndKaCT{>#N zC<`ehpXF6YSoniBxO@>ymS-}ZRi)X*(riPzHe%Tu-o|G}>PosrbnZ~5ojJKCPEwT| zNBB$^$Q6Usv`oyUW>a0pK$pA;0J?|YZ{WBGklDR36bpAQi*cq`LYadrw}S6vHBXY? zlY98?d&@wkS4T2?I46y*vRv5bdjdHhRb`pw<=H0C`7L$^`06A_d}9j#_dp3R>e7u= zFHrhxaaDpQFf;=RSt7;pPzG=*`*xZ2%6fO1&;D7BR=EG=dPlKV7^V7m?weG6C<)qw zreMeJ$ln$yzoorM*Df_lz8+o3e`=uNY$BXc8>78X!r%G7Z$ar@lvz3^2em z?Aas3(DXRGZJ;8LRWb?~raQ%^ypC(!o`IyS;%Y)z>04M{*z+fgW0}J>hA30f<#eIE>oZaTigQu z=6p=1s;AwDKW7sF>1TrHH%~tIpH{vTl0GAISQ_@;O=+wj*dL2T*M_K@8sGpNDH^}S zg09ZV2)45sR%Kw)GCa`?*p@I`7?f>X4?5g++$S7jT_kpHdQ9*VoeUf z(7P}O-`ju00r-%d=su=q|FlyROGf$ zfKy@-ND04-SlYSqN_;r!($nzf8RBOXo1ZHa_$DnSJ_8|LEM%nive0W`WkDUp9^qU& zV2&d^_Z*lqzfhIZ1)TA!^SrlWyAOHgSkFct;ujLk)7e8%-lMVcTy`T zk^-ZcImPRV9O9csz69KA(8~qC${zYT_chfkDA<+)#&w>5q|GP;y{AO2cs_~$S%uP9 zfG3*rW`0|q2rq#F`r7hFo6jo6OwS&Q>sw0ny2esIR8ttpUNMx-VoUaMo%f3S@)M(f zaFUE{L;ISyZ3002uaq;rdXzL?2ES}%oGUgBqEHI8dlrOY4;}mG=43(R`=t~rEZI}{ zr=#aMNpO3L_|_x*G4Z<^QFGZdhCj(%1bbvLeitKSQ_w;*15}|socmRnl9$TB$nP9V zqgR)?*H`7KT`TV}naqT<%5L;fs3C67SET{%Q0Tqu|5+v5$Q^D5Ll)p=PfmO_>8RLN_#{x4VGUo;RD`1=tpUoGQ|CA}}jJ9__R zym92Ur%M!BH7O6n$VNlUnVyfL!S&by`8SFU*@s(r=0O^gmLGk)fuQd@`NyA(zFaSq zVNUv__h1i8d5p!Hn-Ia(^Vej_oP&A=xJlSP)zzhA370vM0krB8l_o4OmV6e0QvH+o zBUSsE`(F6U#2XuSQ@@}7ukX^s!k>pUNAfWc)h^A*lh>xC(t%rgrz#&v2C|CRTAFT& zq>J}l$Kv0)A~O37^vX^}re3eg62P4Wi&{-hC#s-JD(x}uXTgKfLXKGJt3Tr;4~bFH zU~kHGpmI_d(pp)q^7Q|!p=`AxZ5+&qf~#R_ zt^yF@`>HqxRW><1Qj$g*l*)WoaOmB;!1p7v+?^Ewfk{=)HAKvocg+t_>x4dgYSi&$ za~l(%)W`?8mKU>E<+t+Z&JzBl79dTZ`)oD9Uq4&QJp+4Bg0e*EM)9y5?Vf!g?}PFj zH+GPSncjGyH$i|{oM@xYmCz+6I;CoyAFpU*C97gaUd4CS%y4i6QS?E<^zFWEfz#b| zkCD^^EOxLc$I*vm?isjkmq4U-`0aO^@?|rToX=pVhewh(XW-w*avf{feI}HZry#xX z1mfF9F7yj2L90-%2_)&+loV_Y)qgKkiX&ZCjoyP0>=m5H`w}qTSR+us6gGzD>bl}q zTTEgWv6{32ojLV7$hdVgcC1om4P#PexKLC zu=y9Hb#+Cm)mU1eYRI#lx?FoYkQumKF{`xFS=k&~xs5wD*WigvL22K|eZm_!2ZmT2 z-j}D)ip&9Bh;x%s*q;WG=|UfZSw^<%iEkAUx&aohbgYWk z-y1!vUI{hiA%0xDe0p-}Lr>cueM<&_^pk?$aT@u@kQBI1kPs>;DlVe_)nH{paO)+T zV2xbt5U*41p@}@9GgbYWpSi;e&&0*_$0gBj630-}o$L>!%a^EgmFRD`JSDjrzDw=_ zb3_-`1aW&J}nqhNVR6s|;1fV$Y<`APkgI3PZBOgxOf#G`e`K+~K`0LmPZF`!%?A9aZzx zDy!j&#v2&3Aa1Go=2zp}T5HDD3Y;8XLtUB<0rrMn2nID{3+FtZ0B34jrrTNMq#e^( zLnh_id<1wJaJRcmaM|>%aDNAA{NKS9EZ#~3ykE{t<4V*{=X%jr3m8(|P+OlPV56Gj z|5xE(Gd2(yC;wG*dhUbTe*gK5iKT}Gac z-XmFXS>oACa%}{6?bWJ0@eU&wS3{N7!CaX&pGwBY5@ZExG}{KK+AUgEhuxrPiJ%MxYKzw!svvP+X(pqpHC%CKU zBo-LyeGODV=7V{?Cn9&}QWMTqWjdHrI9u0NIbZ}}AG)8`51*jPs6ZgN4qRNqg0fav z7rsZ*0m+)K=Sa5gj=JM-(Yrw!|Mpukz_*?K1c}8tIjMpaSI~fh*a%`-tD3E8=n#(u?t@h`;aM|$IOf757j))$qvBYF*u%opCtaZ@Tv^KXnU=T za;Y&Z=k}}e&Myw-LNieiH9S|7H})arPr~h6z|Dd9`5u-LqVhzGmBY8CINFe6R@Q`(?VZXfzVOe8)Rhg?lJv!kJ8pnf3#p`YFN&gdB_1#2MmWqD6;S)Luv z%Hlf%IX?q!vQU*y)yOUcxeD7}Spw-;d30c<1oU*N4x-+BU5cGeDfaG)y>SN&Ms&V` zg}p1w!8u$X;{dy0?u`@oUv_C`>tg&?*>|K;A3;kLasiT0@XC8(j^df% zNm;k|sjxL*lj=b{v!|w%ppc-s4u)>Q{x6p1 z$apUQgnkkG`@S;%a(Dr2jLK_NjH)fv$z87e+xiaP{EUC9vv_zDP;IQQcm8su#Thz# zhqlkBSDDtWg7|$P{x5%Q2{J93m9YZfgx#2)msXM6(6_2l5pxHck(7OoQJ&bV+aeQ~1<5pyJ!>a)#a zXVU8z>)4)}7S%1I-EXKCh-EyFi-8g12;&1j zSsCnFX)Oq!-@GZseGq^D0aX73>E*|iQFZ46kdYWZhvZw8IF^@j(D)4gzW^qg!8@x8 zKwSzN$N*Z2YeCnTF_BrB)^s>?7Sw7kI5Y)cs|z#}%NEw=*X)*zvfHwT^?4_>4cGwg z^JRDrv(P@%IQK10?2yEaBWO^JW2e-MihQCea=nu{XIHPeP>pj0P4bEC(;AQAgUPvN ze5WIRrjb}K{uw6t#>X+hH=le57hl7UrqB=P9#Iag15WP@o|R{#r)0s*DY2X_i}eD7 zGs8Wdx{9>*%4+DdtZFjX5OGPFLqoqp2AGyKV2r$>;Am5)YRt!W(#x{Rq_6`p{*8Pc{`M=dv%6~C{%q;%wIG(Y{5z0(dj9+P1V@P9 z$NRVJrYzzD$utW9&x=s`Q}|6tIjimM#~|X7Y8cm;Qr9@38(S6n?x{#!Pnyg`G1EZr zf%IYH$exe?ubJ~2mtp!}i(xh;N}j6kBP zl;h`J(L3Y`fU=gx0bF}GT}2W*@VV<^>S4nyD8b`4JjVH3AME& z+4^m$)}gwX&h%)m&8vIsOSj~d-S^3RsH`K{=(5yp9X^S3+t^}8x9_lUQ$c5-F?2wT zS(W`#3QrSeAv~5lFf-ffmMj1#MbH$vWx5KkBpAJJS%7)~AWbhS^NC;YiKqh_`O3!B z_YWBLxF{e!PkfqWdKdJ{>H5Xd6O zih6;LLHu>R`U+lv*1-<9wqMV0o zIIUBOGmZIMEpT;l|A8iiSRF)H36p|8U*17(O*15|~&;4~K(fRnVfjgeRjaBOSZ zP{V@TXM<GkP4&e>FOhEO_iAHm-Aj5u9}m?jFC4HlG(x?yqPd!?{EylWD-W zunwH)OkG{z(8tj@vZbqBt`cbIS=Y1>QuFwD@9Q|*W;>D#D`2e6s?3ZyNMcH|QcWI! z=nc4iK^?Xb^sF9PY3&r!K7xJUz9shHCcbY2jIgf}g}&PDOvbas3N=BF_*Sox%^Jik zEgf4CL+gYt)Wx1N&j4^St9akl6=^LmOQ#ZOOIjJ1pQdotaQe>B{buWUr8_P2cd<^L zU2xYr?srGsG6sik<+n7L#Egf=JQx_#h@sWCxxfsy#;2y!Mh8xetX3eXHXdr{@IY}D z<1O?eo(Z1Pz6IhlH#X0iUz%+O(w6KZaLA5Ea9>JZKARw#Fu+$mj`%wM1l)cxxFCNr z{*YY8?`izaY+2Kk98pb2rKRMpsvc%st;g7A=>7jpZJAceD_$UAyo4Jo$qoFlrQ&tm z)H;CO@;S(RR)(M70LY4DqYmW#q?HRF0D!E6CcDrZ+l4IQtIFNmlHYq(Qb=9_FgLVx zvwG@WW{Ow51IoqG(0b;vNT!g=%^0t${ST!+DZR3`tZiLk8S4G%E7E@^l48bar*I7X zQS4i(vC#;G&sMQgcs}dHRfAS)Mhz+7s7bZUir=Qp+P20uF2Y8CDt|$>B_)_cqAIqe z_<=zj2Ay(4lW?RpMmon(FWOkM-@}4@1Ko1ck)`6NS-=4C=G8bqJRXH-8-${33L5vJf{t~p)9PuSGsVA2f#$5Luj|-T-uw!Vx41XsTf#gPcxW7@W^aVrFjG} zFe8uIV~1Qejh`hT+@)Yi$E?-DIVsOz0pUtX+Sm50K8VlquUy+0vI)4-xVi6=)lONc z`alOh0x#4Sq(3zydsvt)5bQO)^FDBBdVWJ@;~6RK#WL50WCG;Lg;eVEWm$k4rsTy? z`In$2%o{-X+czcKehpH;t0UWZ4aKQ0>C9Ih<&&OVm*23eE+bd88pBhlc@!WKU%w~M>#{?fJ^%?u9Ir>_IOhnBALvHAcm{Z>}2kt#HdlrCvfn-%{DoYAvzqj&T@;8V7<0Mo-+EW}ZoSoq(-YIbv zw^Le)!xNRtusa%=>`QTQES+LkFU}~@!^spc<0DjKTsa=6svI8AiY-scL7vIZppZMj z1h*=Y^p-lZ@C;P)3%J2J1~XXIH02QXcN@|lLqZ^pPfz1!Z@eP*4v_x-Er2{n{8W1& zTphl%@7cuJbG39Nd`*FAJ;e8%KQA)BD5gG-V@*s2f0vde&EUvpg*0zmm*TY>lBBsa z6<}QcHn^Vfi{3AtYe4ETB>zDnY+_#O9*f=ER>Ir;9?Vo<2AkVZ^?`czu3J{z*?{Kv~dH24;z*R;^30xC$44R)U2U37>=%x4;DD zSt*j16gPGxc;SJJUU^lEQbO<0(o}Hhb9rf1!uLEY{UsM6E#1gv>JR{QYeUjQIHwu3 z;^CfTSR?EDmDIOzA@Qn5K+qH{Sf%Ds;8yY@?JF)*YFH*#(+L68p}Aq5;*2tm0zoAx zOJ@r0QRMIo!h}+ZjZeBregYF{l#no3nvW3x8(OLih$>0eM?6A3$s-I}y`Pt0<(vdd7bU!SMa;E}vYSC8U==Di4kZ25$K~MV+d3v* z32&^g5Kg7~Rewf07pKJl2-a@n?ry^CxVs^voedofU1;Ga75Tt3eX32MZug-~Uki<^ z^Jh=Rf%ZbUc9z&rL>(${<)>>}brfkFlGQ>(xdf1xpJ;|z0U%ExjUT!D@X zb8$UHg+^e<$+m$R0f%(XGQcxrfG18qvj|^u4elP%K1aRG;lk#FSsmmY#yN-R!Lv&| z$a-it3Lo-Gwd1X#MkLibfI=&0*fYSiYSxdzp)&SzV;E2{ra! zE<=5A&)t_T{Ixq_&r1V{33b!uP&Y zY^^0z_we3N??6-Bko4$iVlK;C$U5>ZVGi=<+8C1QIaoXrSnF&3%p^x>eeVy8LSvJv zcjC&+`2x*u;kLe+X}IZCWJea?#3dO_S0$ST!Qqw`03jrePF~9UlaV*$0Gun;A8H}( zna2~++5CSOHnmq&WFc&5Xg7xBw*dgB!&z`|PqMvz+$`QRaqHZ?{Xz>qb&Qrq_cJf~ zY7neTN+bm<>~G2rt8;^8*`LS7E{vqwZb`a#EZxyi<_2w@z|jH!D% z>8Bl>c?k=1g>^yT{At{LMO7PP`pnc>pz073)8VC|f=zWghI_OD8>0fyYzm;BBvQoMdc21yr8 zay;olbfNR1$cdm=tkTbt`Dulx#us`TpNG&v6_b#;3;l9fR^7P7b2Dmd{K0mC5BA)A z;WkW_nRQ*(0^)=7bQEow12H-{|8@ts>XyzJ%+wc3HL=FtK~@UgD>fdf4eFvIOVXBmg0U#RaipB-MkyWFP;Sq|bdq?E1^V05PXA$jr(D zZVPt)@_Qt>@T3$~_@oEh@C4R1q|9vM5V&P%2fiNIdb8)|`#714y`mmh6D11W#wB%3 zdDEk)5d>;&5hcA1Mrnh7j?Aw#+r&3K=gx)&lzJk6Rz(1XZv@T{+nS~E~3G7C^+ibjC*<&zR}|p2OMtBJepLy zSC4~fi0sA7$V5?f3QCnOU`aRdwufZBYv zvt?-&+6f4x?`DYVBrNM9t7LguzR$^2{d}MZl3;L7W;AWfH1T*~GvQrH8zC}Z z-|sx}G4ZvM)~hB`Q z)Ei)~`*;;L7}pi~nti8pZ)?^6EW@eGuz9{nPc- zwahhm#Qh5?RNHpn2kqiXsSSzD(ljQGj&)Yb$oplv(&%gvcqC^wW@OxY%1$W*kc;jX z59HI?OGrlJB z-JTpC_N25vB@4q$&Z*0WB?|`N+HHJ}l5~UxBas&>hBv4R@~zLUQ)V%MXtcr z%%;RNq4Jk5OMj{?_09H5+rHWDV@V*JMP*U8o3qArTt z!0BOwDP4|=d0Yz;N1im~5E3?604k^#(%rYRGwjOt-GN-~G-Mg}d(JEiquhswuV~sN zmkkj80f>G)k$6`!mH2EKTgvujy4Do43?gnCRpZh7;jdqtlZ=zQZ{3#cw|^68|5aUj zEudUnmFO$}l*AwU5I_l3@-Z~mCts87CPGF@RisPGn|Hju#f?-rYhr_d~dVT{%#;c7-e2)r@Bd0{gz$X52JGVzVHW zaRL&V)m9A5?dJ#bKMnt`CYHWB`bzoI_)D}ZdAyM&iBDRv$u#k8_11`-s?B4j#u)QR zKQX1fq5c0Yt(R{BpxlRPpc-MtDI-zK;i4=5@`X#eucfsf>^OVvreoH1BPaOkr7Loi zqgk*fos7c|_hsvDU($6WA50hJ8g6opS;i(1ak39zctd03L#^CNyo;ClVGQB}x!S=e zwI>!K@ylWda}s~>eX_eYFH=>ZXTsWS{yS$zOc|9tT{!y&GyvhX zS~0{btmpHWOQz~ZM2i{< z{>AkF*4O`K_EEVCbHJ@#SP5L7xIg1E<=|8yA{nY0EXciC7>vb0_u@I)9LXSq8r>>M zr2~)|Slvay#ml-9)J78b3$M0}SG7RcX5{gN(M=?oWnfW-nVnVpFSafH3v*J2lM?Rl zg0P>K{O$&Kga94@(7Un*2KfL~^0XV&@a8SaUU)%@2X}y^q5k(bwJMjfw#=q}I72c) z`{Vm$VSA0z&lWPnXnVuWCDV;03C|(@;ewdb3N)ORLtIa%1&^u%cG=9O)X!y+Vgf?5 zFR;&156~>k5@vp5N}`;;wyV2x`aTF)^5$R(nCwqPUnW15{H(tJ*R$WyIt}ha#8!Eh zo+}fn7I2L?>7#uDHu9(?I^7H4N|+BcrFaB&KO;|u*W`I%fxGsezUN;gACc*DTayeG zKl*)~w9-= zC}vV%>aQCAseZ{=q zT$XL1x5eI} zcz%Wp4#}UYNw9JrCSXxgj4_v|HBbncYYY9A%-+4pq zgL^XCSl6lEsZQ@0opOo`jci7K&|~0o^m?~oS6;*1vIMa2%q?hMp}i~RdhVdz@Fcp4dSr%apc2kBk1ppjhv zZ1@g&fB102&rhb$%P#zJH|yRFZpwTkMD78RZt2L0RxP-U6-amAja=nT&m|y!R-z*& zbHS2K*PCJ?nY+VHZ3dB3`+Wx!_lg>ae!giz@@8?f=PoJ{_N!n*I05x3@IbdCrUuaT zGyviI-UC2*!71-`V1nOyPV!HG3fke5a`fP~7Eq=Nx<)>Gn4fa)9%e~B@tGNAfk}N{ zf)$jgahnTZFB1BU>`>E?K{Wrr)}?c3!pu zaPJ|wkq&tY%n(6328oornato~E4a{QFhf7RtC_dJ+Pcf#f}LQL=eX8MV^N-CjV!+`J5)c*12Ep$+mkU=p5x4!-?sGPwIDq`pwbb@P;R zpM%f+wseIL^aS1*#5(Y)5yUc8o0c*(j#)h?;f1TJeGIOlJ2wN@OvO`d$;gnELkEDa z*9$oTjW2T0cZjusgywKy8IU>&RMdQ&0VtxeuLB zO8JY~%Nq65mI!FiD$DV?i8WlyuKEOhWd?iN4Y*DQ_?nX$K{_+DP}!_3ozixtmX3mL zY9z3s_MMz~)3-ux<7TdfSM=fvT~IgJiC+|Oi&sv`YMj%`7JD?348ZZI3dGDUS9Y*g zNe>bMjt56i8%81bC%c4kK*D&(Z>!RoxWNsLssyV`5&+Rtt(&O@>7Ij9oC>r=i)pt2 zuAMErS%2k?Eg<~YC4U`Y@8(SzY%*k;`7$-vsL9NqG2=O0nGb2X>rldDLCJXKB}n^u zn3L5NPyAIiJ>7N-em-nGHy>mH@J7kZH}pvQao~} zCSbIbTF$Lwp+e{yZrmWc$aseEt!s&ov$9-$?8*;yiW(y)2U>N+xIpn}I`}t;0j{5R z0V5^;T)^Eer*wx)wmz4AktDUl6?g!&IjTc&BhO`@Qu9DJMD4zf6p8vwx+D#_I(~)O@>|oDeJ@3%Yx9thjQNvh+LU_Yu?1~&pau4YxBd2U zWuMpi?JqwrXv3Mm=K%f~0%oHDZIQMj7o|rkOFo^ys5L5yjyx*CWK2mVC~3>`V)$;k zy@uu8tVw(b?ZC3GtxT#(APr9Yz(VA-RWK(lyQIuveZsWRvsQgsM_;8=O+phcR-*|U z+>)T(l*0<-f_ZTcfhfC;qUul>;rczvUU^YfzrFpYboVy2Cs3pGCZ5bJGCr-FS~u6X zzhZ?^wgyg_l-0^Ox=4HLbUZJhlnE!jHv)IM*E%`fOq46!EP$*>oYt0(#n=|6QlR zz8pPnzI^0W69+LjA*wt0{g=%UD52C5#W0&OkT@{IEBHe{6 zpKeIh8%Y&MGsohv-C2{ziPrJn1J^zgUQ`ECH30RwDf|9`x|@u}?O+)7tHY1y2;-pasix$1Gx!2++8B>z)wu((wZY;HhynKx zo0Wm$Vm=yNPE9ARvBE!`BaXj- zC&yZ^5NKY3&L-z8(i5V!rt5dBxT^$r+g-;R^$T@-y|NCz9t)sol~dqzuSUyY`*fJC zn_YIKTBYZwmldaouYH=QwZivB!{KnhQmJ&uu>gXF^U;cSnT!WK^|Wgxp13B=3SJE^ z%b$!~Xpvm%`v2WfD5j3d#pwm8vMHmxe3T)f#cTlIxTIUYRQAqG9Y}a+c60;fp16)+ z+D58EmPuC?>9U>7)xK*eIDxK>IeioMzf_kV$E!jV0`Bb#RovJ=kbHd|l6Oyv?M-bA zrOU)rtviSK8GF&0LReQdtcBw$fkttLK+^>61-11C%qQ(>Ntiwf z!SUV2P8VQzh~EPM&I15Lg1bnIVywD%FmbrYDQ*Ix(T_-p%-RWVo9iZ&aps__shX=T zL)%r=zF8)c23yJ~iJwQvb)I3(AiR^Wi@#Rh8@*d@yK?7;~mkCoP=}bLNGNXZvdOkFmX`->3tOIOJv# z__lZ+3ZM45J1+}K#ZSuP#?1qr8T?xDhJFXnx&T%iYS)a_PMI<*b6MV1ZYlALxGAH| z)x;TSzWP2~y$2xt`W@Ka`_QrbI$|~T6U)Za_JRrVvq?rzy!ti9buX5A?@dU1a~_1B zQ!QYC1v+(jLi|pAqn7P8f+{-H!`rTsFOJt%h zG^2fWEfTG{vKn)!amQABS%M2NHA{1nhHitb@)6wejaUXZHf6vaO7yB7P^_346~wlk z(skp66`p?sX7w%@fpZqmFu)5ZyMsS+k^zjCebkjhr-CU}IWu~(X5tsSMT~XrT>V)| zUBte1sam=^4XST83ISb}xT!LvB@SG<Y>Ga#^k~hPzYPBV`7Bmkv&VxNU z%6D}@Z3r;g@?Ap|+-WN`bfjkpe;8=Zn%`2jN>#{nINNapV@EHccfw1O__jK;7?)-RwfugAm)W zKin`9s-MNJtje*6Y~Al?^Z7$^PRjdIyTgZbjcJt+Fct*nd%J~lb?cnv?N`a$zC1S`go)R7wM9f z;G-W7+;9N8YE=-eh4pE7*%`b6Mha8`Qd--(yQnLsYG~K3QS~|C#?!EM2T4z6j&YJf zU57ta>R90W9Qw2=!%yDCd%svmtF!~y%i{myOcP}QS4Uucu6{gLDfT8HniPA4?#>|f zbM9!*g7`pttW54e&3BI6MpOsT0K1U-ZT!7)sEwkj&i&1`(bTGP4kw2jw&lW3^suVh z4+COkZmOjJUGB zvPN<%I&fnlSd@Q|{Ir~jZ$Cd_0QQLk2r?eu-_bthxDWKWe9v&Y+3h%<@dmgr5R^U2L>v*&d-m?^aJ%0Zp7H2dW0rRkm zr|cy@_6!jC&K*1#f#5ZE49%)rX^){1cMlx#`vcu7#&)0yw(;FKMp_eDQkx&^?nSZI z`Z?)$yM5d(wtb8x^dmGvH37`oF|XgQvw9htrw!(5wE^O+YS%myE%~+`V4-2*zMp#< zcM~ZN_r+EIb9TdcKcZCA(-n=bmUTQGC$60J|4H++6GDFOBm*!l$!uT?C(v2^IwMfw zk#j}xmjbexDcHv;*>8f=TOcHCRye?=90gK+0q@Iku~%x+S;9@XT)!P}yvoz0M~Y+# z8Z%>+V+(cVdwxPmUq{aOb^c&k8KG5PRndX;+5yf5#!Gev zZt4MBymh)bn?V|?zexPd_Z?=F9;%YY=&L67W92J4R(`qyq~FHpsrsi{8rVwMD^T{s zu6mqxWK{#1A+*i_Owb4JfcKPeeuFJEZkhY-w?j2Lg=&?u|2gycxyOx(`*|Fbjc5LG z@(a2-#L)Qht-6GPJE_{xns2$TNxv2=@hx1ww9cm?O*2;Zj$VZuaxAkiK#!!)!iHh_ zVGdY`)`${GlOtb8=#n6*ABUFuq{V^lIf+$#;I?CusIK|_>K>3tx(D^UD;aEWq#IK6 z_SYd%ivWRqYFYjOZ^JxwYUtT^f_JW74}SVetgH%Q7&63xLtM{sLqR7umuW)Qw; zA2jN9B-wT4PGx|fSi6&%n%?KeF*wJHtOYD-e*iMifq9QyL$=z9C10zzS4#|A3 zUwGW^p8FY&*0<$T0}V72W8}B9Uq4m%>uG(O0XR1fIDq?;{|6@%4I`6kt~}8ivrq>+ zSW12fQ7^aUD0O|fMc|^;+)sxi&1>)h&1x#E!)dv@$?@*{(s;qh^u_Zs6+>mE1Ff&) zjTYAUxSY}KU(L6cF}q0nMkbgua~jGGAk|@~q(dMIok>vAph%nUlx`P84*-irrZd*h zDw@SL?P*BMZ9NtE7M8;M0Q}y%B4|UflF`=UVA~iaKksYVwsHVu!^LojYpKHBNtrV#q=5x4 zx^Or99SLfX_x_Q##*KXUqnjV#W)P=-$Hc<-V9-45J=zQKGvgV7kDCzGY_>Bk z>-#TCc=mwgB-a@2&Tya~d`?9dHDbRTX8ovkI76-BvlocH2I#|i+Nvb){!QobP zHC2T*KL!eR+unnuH$eP3xT6d`=B#a8c{_S^~X)pj^<2v<`Kl}U5o z+2iIQh*kr;z-~Mte&QuQQO!W&_k1-$sG;1@kIB;_S?-ozgNM-ovo&kFWo=HI&vtWo z6A?6Ov~Lv$>~LO>VRwb>epw-!G4$@mo#{ z=Y|5ePWB5vC?5Enb>wo@76f8Bc3zRr5Kt|5_?$zDLJ*?p!nz(i*@|tP9lJjU~1YeWR1|z+}C}!`H;yQ2DOyDbN=7<-QKM$6;!?dHUIRm%tbAb` zl&GH_Xw*=&ytJ%E+L2VeDugQM#4K6Hd9Pq`nr`|Q+sL?`{rs%jVYOcXTUjwu;&bdx zpc^>`GMdyUx4Bgn7P+qT#53Kk)T)6PV8M5FClPys_<>IL)|!4!NMLzfv#jN6QmL?5 zS<1e%cLv(DF#z$m2U2YA01Wm$I?A*?%uP+tbid?68M36ucx=7fa<=d@0TREz;Hk%t zpPUr_R{I6~LmWRm?igYz__vsEl1fn4IRKnuQDUz-D@?ep3qeQ1qzJh30FF&J&`#B2 zzpp!8Xnwv2XQ>XED?yUJERqW!t4q8+QaeAgEscL`35enLE0MN!i-N+yho`EV$EW>d zsCd1&3-@kXCv44|8L0P)X4XPmcK!GonXGD-%=nEeN?78;GNil$f^1`|vp~_fAdw%_1xU+l@IlD1om` zd_X~rI#{M15Ptv=&||s`H&nrLu_6d+4J$8=CJ1sNl9^q`8ET50a|JQE-bUy%3z_=K ze#;b_Yr|tGSB1=NtP2nFyK_H|huG-k z-iinE2>AQyv%7_Sragmx>?8wl6NK{tBnJem1y!{%+|k1pnH;96G*hVPP29(JB9$Ia z$xtcWD8pSiGaLhl3&;ePzCFBv$~geayPNPRW^lol2v1oBzN7A zBfr)myNV&^tn6%rV0`MyUt zko>XFde<;$f#;wFe&yrKu*8PVQMg4A5h+Km< z3=kb_xwcE+FfC1cem{3WFZa!`C11BUqXnEs@k^pZAM4TrvzZ2TOo%JsjwUI6`4NbY z?~7eoxMfZ|HTpc%r%HaHDn9YrJMalD=eZ>Ip(*cc6Ie3Ybffd=D41V)+>T+t+rEK6 za*_dlDgEcN%qk#&pV;IIKNyFyX-|RzA(@Y6btyv8EkpQjA#6$%0!`!Rl3G1c0723i^f_-5|A+h7OHIPT;31_E$Ng{ z*F@Fuh1Da!m7~=SDQ@Ps7NdDZ8P5r9vGLS zD{SDa2z){r8YcHlpp(pP>U;lsCr81Zq@}zq27ng$=vghG2_mzgLyPDEvw)*?l)*I% zWojePd3~vJ??|Ki6;^~0OTtrND%H7mxvD;~<4FRPx_#}0;itGcQdu`=KJptZaS$_i z%ZPNd1T9AK(=)Y!m76{3Xf^RDBA466eXT4aa(_o~RSR50-T1<7MoG=Vo`;w7*R^71 zC0NG$o^WMge&l4o$1a~A`WDgVIKX3!-&ds2rc#<2CVAot03?SG z!*de4m}>J~NY@blSNt9XMW88P&R*pDF{hF0_OY?UGRCN@S@>ZyOfVI`8{7IA1NFd> zeXR6<^ldYMfBe8n2Ka^am*p>DA?8_Ih6UZP^<<^boPH`p*w)y%!71d^vNlLUdYH~i z5>;tB$PNskV>OF$jSMX!=La9Ef6l~;8#LtrU5HgNwyLoR68w5`Lte|?)IAF>2Iq8M zZkr?I{pNE+-L=EDq|scwl)t70lWhHpA zSAt7mkR{)m;imNI#!PDOV_z!o=J2uUTQ`@~NH{b?8Ea5tMa)psw|VzS?{yrnV~bp% ziB_yh4)~ko8s<&?a1DE+MJ3d%tjmTv91>`j)w9%F#xo{Z$S(E z6#n~{CZ?eHXYys{!;&+?md;E4h;gz_b%jP6^>Rg*bX)8Q&!KAq;$DZJ}@^KS+ z;kSpk|1W!27Gv3YlD%4YvoqM1*JQ9ENC*^@5Fro}ydW?F^ALnVf)Ex5flL&~ z55X8BNQ6+p4=6kUk&K9tKoAMZVpAZ5NI@3Ci)@dVv1heC)6>iCyPTE!zN&Njc6+*Q z&y2_8h~GML&vf_n?OXNN`qfvYOW>Y9MnjRWY8Ef-#15P8FyI4>^sJ_FsIz~syq{al z183as;s#e6#LySm2;%0HAPFCHLwt~0X^a0l7C$VPMxp=!#i{BvyNR?cfi0%)`wBeE zI1E0XkRQQ9F@%vF{{Dty#7I099+lED;-xiT|5CSP8o1?277%12K>8LDYYCZCZU#Pj z9}o|*!Azv~qEEq5@-fXm=-&_^KREt_?IL_+c60cpSOA;{eZc^S0oIEZIUcIXuJ_7d z+|$(1Xijo8aIo%-?BLeRt`Uu4Tsp835#IhBz|Ndal}!rwz!SeUrjp-H8M0WtLG?{rH&C&t1qxaG?r7Tr4sO%AxucFN z-~Feb$A!_DsN{NEtBU}i8{m7H{#osjrEA{yF&j@)4!76_)sb45jcT-g_+#v{lgm;7 zwF1Y~3jFr$!oe4cFUrl){jxX_&d0-)mh9h8q!)T$JZL(DwJl%Z4u;ZKp{jz6GM^=m zTAp!xYlhVHfZMsOG|a_oHHOA6$W!XKXR+<;zDKwp;FS#Z|4aOSF`^YVvWmb~y2GXn z^z}grjGr%U_m;zTKyl8i5?rT_0K5mlD58e2K%{QywS~ed+pP-v_@QG6Pyv@fDgxs5ZTu_CW`;Cy!S zx$UBZ%#K~Q0{D4YpP$x;qrq5`eEin`mG?cr=#+=X6<9j0aYD|Hjs`hRyRu>?5C9=s zprfVQTL#YGzxfgj#}3%p$Pw=mhbPW!&VRgmS-zZqRURw$Sb`Dg$EYmM`{E_*v`q*fv025~{di4lXRC21 z-dYl)suxS&%6fAvNze|tb$rq|a^NV0-;tNfQ}Rr8j4UCjbbgBl+zmay4XYGB9Z(vK z1w*|0@n4KTzg=FBxyD1cglky?R!^~3*Y`UjK8|3RkRqmpWn)c9#*3!BjY@t0O1 z*VB^LfaVYb0%)}k4UlaO)^ujQZ0%7&W!QL*sO{lTL~#aw_|)XIyi~v3zP2ZdXXX9T z_sGrRjm#$CLgq>A+@WQt=$JYTlz_Xp&6^=pP#ZY4D0`x}34vlBWSa{!!92oQ{h0HC z=J%VS^~zbo0*9RUY~?L(um2{^IJ;HVJ5HXNcv(5+dlWd15K4GZ1JijQyR#+S1>aZk zEr#ex44wZEt^kU?tZws}>Zw_A;RoN#^1z!oL6&9mW{qp#z@zk_b!g%>y1Jb*vix0Uz^4riJzzv{{R&I(I24Z!;WBYdhGBl-^Vb|I zhpHtSW^j)e$@w32^S{$&zAOd6)Fg<4zJK=bKhgb7-mXJr7MtT622EZdPCcNhOq@N_ z`f5|}v&#(6UD3`bn{n;4CXo4?*38q{pAZzS(%=`Qkjb4yE%0Iwf+WDz2M)}P9LE@N zCy)sgd3Hd<4h5KcoYHCc9@QS6)(#dkNNmXUvd#xw*IovWe1>n6hASX8F{aWspAUl4 zD}2_zp??pI0~l3L42J+6v8pB#kv;33RDha;9#8@Z9Vswe-y_-IY!}g&_4yHJeYx@q z;7R~``LA%D#>@eJ5HRw?dh45&=yT-!>-wk@%NH!Bm?vah-tvx4}QQ$fE%6t%g4(n<@V?( zL$Cv?8_lLrlq(m)4sih{VB5hL@=fV5aEu(AoAKj@eAWD7$kOnbEufmWwP8U z!PvQjP4=&9Ea^BR;>Om%3l%VQ=vUlUC}hT;$6JszCit=6?x}MO)!c`=Ie~0smX*`z zh*uMcC{mMO)^l7;4}p`DskZNhwK-Xxk`v`=dAfR*OCWYR56nWnuZ9BPd`6#J_4)bc zFa9zACkh@kWjN>_HcF6aV3Tmnxonq8v!?GWWX0E^NLw5VIg6O~G_Riztee(DAlb25 zDF8Pz6r1$l!Q@VrSm}9+R1=}Q{yRw|togtSR2WI0S|bWO-g>1h&S|!?ae<0PC8*;q ze%w~f1u{#YW4}-Bt5|GxvoVNHByv6u8>q{jJ-Bkg8$Q7>3TEf z<7zLUSRxpAdhCn^U1uNRC~;up2ff(l;Z&dmZbC_NA2j6Xty!CT5|a6|My_6|@KS4{ z1byQb4lzA#`FlUS906Xg0eIe z|D9NSDIRM6kEx!KM%@XzkNSVWyeDGuSpVT&9H{rBZMli=%Y!C1`E_+&&bJcme0b}zBE=KV5 z4S&yHypP|<=^R@z5`^b4f z)Na7yb3x355X}s~4-)sYy!AukEzVT0uoHQvIxQMEKT!}isZlAv1 z!H0Kl!JaQ3mQQ8(t1Fmivn2KH*a>^jrs-kcX5DQ~7ZB%e-6_-6z(Qr&C{&3vy;*$!1Sh3L)7{Z>+m zx@G1I9Ua_j8Fr0kX~aY}a(iN5-{a&?$-;BW;udcHXh!&evl*NBPy@e{aE&o-ZeGn} zQpOTjdhZH6k>pc-OQSKXaXpYUlwK-Q!3UF?=D)AL|3dWwgQ(3&An@A0Ey&2~O>R^B9*ZTWPF;al z0pX9iH8gj2@`9Dd9fbd=`}|k0q`S=8b57tybcos z5zc>3J}ZM8eo}5e_g&K0plojp?q7XNhp8+?8XpWR;^U6Qi!z_((l2ASVNomV__C@2 z%zCQ1^W>Cf;p3;S3_sF*v`-tehu^h;anl)e$e33<$l7tjX91ZKxb#%E1 zGPS&$4CSMCKPl$&J7m|MuqubfOTjvSSDJnsldk}Mgf$P=DmVY311(Gea&+iiS*+2W zu)mRnb5yeBa$U|>Id62}mI0J@wrlx-m40ea->q@+(*^GAnG%!=^ADfj)cJAye|LP* zI?j2&M1OlF1%9hGXV3sp$O>~V6Z@N$d+R;cQA%Go+I+X=_rV%Ft5 z6n;TM3ZufZ(pAbavncLMfOND%G4U0ytt*|f9YoI|89yU#03)72M(o`Kr#RuXQQl7N zpu-0M=R+#^9qRh%>V5Q5YWvrs1!%t&onuF-zHXWQUFqF&V|au#Ffqrfdi25b#Q7MH zE?Uh7+b(=pP_v=9V&%+`z1S>TIM-0n=G?Vs=Uon=j@Ygqboc73QibUExRN!9dn_&I zg(?)tA2D29zgU3i}MeLAdIDKrDaWV}$cTY8eLGxH&C1(7Pj9_jayr^8B6G z12~%+(nI?E{%$SZD`^3)rUEnve1w0}z{|FuU+CP!VG0O;E-s>$6wk=9 z@;D1jN2A*~#|RhF%o3vhI2Rm|taFnJK9=b~O*?39_C=EH4W+w~N;N2?*VE6X6R9*- zD2rP14Hf8eAlX?}ij$elzap|U8OvO~PEMlK(GS)h%^2N(I{Q5t7Z-N>RsPvyp|8nR zKG&)OH0KBO`Q#fZ0^)#=bbgKyG%i%q|4vq?Sxbk&!D~EV%&@?&8)ol@!9iJHSdidQ zkJNX0kjpgAB-x`@;Xqf8+|rSSrM}D^&`e~aqSRYH%?f$#ISm6;_|b`2`Wj~rMk}%( z^*q!b>M7gV@brH@{VRE@eC&;WKL{R!n*S#6(7DzXpgCBB^&4LIj&@ZBz45=^{e%W& zt1_(C2{(hl*EMc9t@rc1n)rja_vHFJj>w(^OA?N!a{BpYIs4*@tezQ5yb#F#_YCCd z2ftnBHO=eKcV*+usw}@eku}gMoY1)8Tq^t4Ye}o~8eRD^+uO#V>8rMAj6eR z#_>>wQ7Os3eUfw&8(3Oilj-qulD{@52PTU$KS|}V29k>!1RT)+Kb$`#!`)5$>_N8< zd`qBZIVIP~dABJ*+fa0?aF0GeB~E7fRt_x1AUP!aySK<~b4O%f?+*Fz4;|F#aVj^Q z{V#c9_3LtG{KA&`giAOWS_D@6Fa5Sxa*dsLs{(AVUVeu@KkjAbJGQm*uI52W@=33D zf`0Y!x2tCV{|d14!M>&M^uX~4^?9FcTZMZC51L%qwDGSV&;gvWBJZN}&8PquJA3uP zuGph)A>QLL#9>#MuE-V;K<&ZW#07fRefYC}!%>reNuOnTm!Itl@P7gf0M?$i4E(li Qi2wiq07*qoM6N<$f_<@aYXATM literal 0 HcmV?d00001 diff --git a/src/main/resources/textures/menu_level_4.png b/src/main/resources/textures/cell_yellow.png similarity index 100% rename from src/main/resources/textures/menu_level_4.png rename to src/main/resources/textures/cell_yellow.png diff --git a/src/main/scala/it/unibo/osmos/redux/mvc/view/components/LevelNode.scala b/src/main/scala/it/unibo/osmos/redux/mvc/view/components/LevelNode.scala index 9b2c03bf..f21a2796 100644 --- a/src/main/scala/it/unibo/osmos/redux/mvc/view/components/LevelNode.scala +++ b/src/main/scala/it/unibo/osmos/redux/mvc/view/components/LevelNode.scala @@ -46,7 +46,15 @@ class LevelNode(val listener: LevelNodeListener, val level: Int, val available: } /* The level image */ - val imageView: ImageView = new ImageView(ImageLoader.getImage(s"/textures/menu_level_$level.png")) { + val imageView: ImageView = new ImageView(ImageLoader.getImage("/textures/" + (level match { + case 1 => "cell_green.png" + case 2 => "cell_yellow.png" + case 3 => "cell_orange.png" + case 4 => "cell_red.png" + case 5 => "cell_blue.png" + case _ => "cell_blue.png" + }))) { + margin = Insets(20) onMouseEntered = _ => {textField.visible = true; fadeInTransition.play()} onMouseExited = _ => {fadeOutTransition.play()} diff --git a/src/main/scala/it/unibo/osmos/redux/mvc/view/drawables/CellDrawable.scala b/src/main/scala/it/unibo/osmos/redux/mvc/view/drawables/CellDrawable.scala index a54e4d34..7d215365 100644 --- a/src/main/scala/it/unibo/osmos/redux/mvc/view/drawables/CellDrawable.scala +++ b/src/main/scala/it/unibo/osmos/redux/mvc/view/drawables/CellDrawable.scala @@ -16,9 +16,8 @@ class CellDrawable(override val image: Image, override val graphicsContext: Grap * @param color the color of the circle, currently unused */ override def draw(dw: DrawableWrapper, color: Color): Unit = { - graphicsContext.fill = color - graphicsContext.stroke = Color.Black - graphicsContext.lineWidth = 1 + graphicsContext.stroke = color + graphicsContext.lineWidth = 2 graphicsContext.fillOval(dw.center.x - dw.radius, dw.center.y - dw.radius, dw.radius * 2, dw.radius * 2) graphicsContext.strokeOval(dw.center.x - dw.radius, dw.center.y - dw.radius, dw.radius * 2, dw.radius * 2) graphicsContext.drawImage(image, dw.center.x - dw.radius, dw.center.y - dw.radius, dw.radius * 2, dw.radius * 2) diff --git a/src/main/scala/it/unibo/osmos/redux/mvc/view/scenes/LevelScene.scala b/src/main/scala/it/unibo/osmos/redux/mvc/view/scenes/LevelScene.scala index e040e32b..67191da3 100644 --- a/src/main/scala/it/unibo/osmos/redux/mvc/view/scenes/LevelScene.scala +++ b/src/main/scala/it/unibo/osmos/redux/mvc/view/scenes/LevelScene.scala @@ -26,6 +26,8 @@ import scalafx.util.Duration class LevelScene(override val parentStage: Stage, val listener: LevelSceneListener) extends BaseScene(parentStage) with LevelContextListener with LevelStateBoxListener { + private val TEXTURE_FOLDER = "/textures/" + /** * The current game pending state: true if the game is paused */ @@ -82,9 +84,14 @@ class LevelScene(override val parentStage: Stage, val listener: LevelSceneListen /** * The images used to draw cells, background and level */ - private val cellDrawable: CellDrawable = new CellDrawable(ImageLoader.getImage("/textures/cell.png"), canvas.graphicsContext2D) - private val playerCellDrawable: CellDrawable = new CellWithSpeedDrawable(ImageLoader.getImage("/textures/cell.png"), canvas.graphicsContext2D) - private val backgroundImage: Image = ImageLoader.getImage("/textures/background.png") + private val cellDrawable: CellDrawable = new CellDrawable(ImageLoader.getImage(TEXTURE_FOLDER + "cell_blue.png"), canvas.graphicsContext2D) + private val playerCellDrawable: CellDrawable = new CellWithSpeedDrawable(ImageLoader.getImage(TEXTURE_FOLDER + "cell_green.png"), canvas.graphicsContext2D) + private val attractiveDrawable: CellDrawable = new CellDrawable(ImageLoader.getImage(TEXTURE_FOLDER + "cell_red.png"), canvas.graphicsContext2D) + private val repulsiveDrawable: CellDrawable = new CellDrawable(ImageLoader.getImage(TEXTURE_FOLDER + "cell_yellow.png"), canvas.graphicsContext2D) + private val antiMatterDrawable: CellDrawable = new CellDrawable(ImageLoader.getImage(TEXTURE_FOLDER + "cell_dark_blue.png"), canvas.graphicsContext2D) + private val sentientDrawable: CellDrawable = new CellDrawable(ImageLoader.getImage(TEXTURE_FOLDER + "cell_purple.png"), canvas.graphicsContext2D) + + private val backgroundImage: Image = ImageLoader.getImage(TEXTURE_FOLDER + "background.png") private var mapBorder: Option[Shape] = Option.empty /** @@ -171,16 +178,12 @@ class LevelScene(override val parentStage: Stage, val listener: LevelSceneListen override def onDrawEntities(playerEntity: Option[DrawableWrapper], entities: Seq[DrawableWrapper]): Unit = { var entitiesWrappers : Seq[(DrawableWrapper, Color)] = Seq() - var specialWrappers : Seq[(DrawableWrapper, Color)] = entities filter(e => e.entityType.equals(EntityType.Attractive) || e.entityType.equals(EntityType.Repulse)) map(e => e.entityType match { - case EntityType.Attractive => (e, attractiveCellColor) - case EntityType.Repulse => (e, repulsiveCellColor) - }) playerEntity match { /* The player is present */ - case Some(pe) => entitiesWrappers = calculateColors(defaultEntityMinColor, defaultEntityMaxColor, defaultPlayerColor, pe, entities) + case Some(pe) => entitiesWrappers = calculateColors(entities, pe) /* The player is not present */ - case _ => entitiesWrappers = calculateColors(defaultEntityMinColor, defaultEntityMaxColor, entities) + case _ => entitiesWrappers = calculateColorsWithoutPlayer(entities) } /* We must draw to the screen the entire collection */ @@ -191,15 +194,30 @@ class LevelScene(override val parentStage: Stage, val listener: LevelSceneListen canvas.graphicsContext2D.drawImage(backgroundImage, 0, 0, width.value, height.value) /* Draw the entities */ playerEntity match { - case Some(pe) => (entitiesWrappers ++ specialWrappers) foreach(e => e._1 match { + case Some(pe) => entitiesWrappers foreach(e => e._1 match { case `pe` => playerCellDrawable.draw(e._1, e._2) - case _ => cellDrawable.draw(e._1, e._2) + case _ => drawEntity(e._1, e._2) }) - case _ => (entitiesWrappers ++ specialWrappers) foreach(e => cellDrawable.draw(e._1, e._2)) + case _ => entitiesWrappers foreach(e => drawEntity(e._1, e._2)) } }) } + /** + * Used to draw the correct entity according to its type + * @param drawableWrapper the drawableWrapper + * @param color the border color + */ + private def drawEntity(drawableWrapper: DrawableWrapper, color: Color): Unit = { + drawableWrapper.entityType match { + case EntityType.Attractive => attractiveDrawable.draw(drawableWrapper, color) + case EntityType.Repulse => repulsiveDrawable.draw(drawableWrapper, color) + case EntityType.AntiMatter => antiMatterDrawable.draw(drawableWrapper, color) + case EntityType.Sentient => sentientDrawable.draw(drawableWrapper, color) + case _ => cellDrawable.draw(drawableWrapper, color) + } + } + override def onLevelEnd(levelResult: Boolean): Unit = { /* Creating an end screen with a button */ val endScreen = LevelScreen.Builder(this) @@ -231,7 +249,7 @@ class LevelScene(override val parentStage: Stage, val listener: LevelSceneListen * @param entities the input entities * @return the sequence of pair where the first field is the entity and the second is the color */ - private def calculateColors(minColor: Color, maxColor: Color, entities: Seq[DrawableWrapper]): Seq[(DrawableWrapper, Color)] = { + private def calculateColorsWithoutPlayer(entities: Seq[DrawableWrapper], minColor: Color = Color.LightBlue, maxColor: Color = Color.DarkRed): Seq[(DrawableWrapper, Color)] = { entities match { case Nil => Seq() case _ => @@ -239,7 +257,7 @@ class LevelScene(override val parentStage: Stage, val listener: LevelSceneListen val endRadius = getEntitiesExtremeRadiusValues(entities) entities map( e => { - /* Normalize the entity radius */ + // Normalize the entity radius val normalizedRadius = normalize(e.radius, endRadius._1, endRadius._2) /* Create a pair where the second value is the interpolated color between the two base colors */ (e, minColor.interpolate(maxColor, normalizedRadius)) @@ -248,33 +266,26 @@ class LevelScene(override val parentStage: Stage, val listener: LevelSceneListen } /** - * This method calculates the color of the input entities, interpolating and normalizing it according to the entities size + * This method calculates the color of the input entities when the player is present * + * @param entities the input entities + * @param playerEntity the player entity * @param minColor the base lower Color * @param maxColor the base upper Color - * @param playerColor the base player Color - * @param playerEntity the player entity - * @param entities the input entities + * @param playerColor the player Color * @return the sequence of pair where the first field is the entity and the second is the color */ - private def calculateColors(minColor: Color, maxColor: Color, playerColor: Color, playerEntity: DrawableWrapper, entities: Seq[DrawableWrapper]): Seq[(DrawableWrapper, Color)] = { + private def calculateColors(entities: Seq[DrawableWrapper], playerEntity: DrawableWrapper, minColor: Color = Color.LightBlue, maxColor: Color = Color.DarkRed, playerColor: Color = Color.Green): Seq[(DrawableWrapper, Color)] = { entities match { case Nil => Seq() case _ => /* Calculate the min and max radius among the entities, considering the player */ - val endRadius = getEntitiesExtremeRadiusValues(entities) - entities map { - /* The entity has the same radius of the player so it will have the same color */ case e if e.radius == playerEntity.radius => (e, playerColor) - case e if e.radius < playerEntity.radius => - /* The entity is smaller than the player so it's color hue will approach the min one */ - val normalizedRadius = normalize(e.radius, endRadius._1, playerEntity.radius) - (e, minColor.interpolate(playerColor, normalizedRadius)) - case e => - /* The entity is larger than the player so it's color hue will approach the max one */ - val normalizedRadius = normalize(e.radius, playerEntity.radius, endRadius._2) - (e, playerColor.interpolate(maxColor, normalizedRadius)) + /* The entity is smaller than the player so it's color hue will approach the min one */ + case e if e.radius < playerEntity.radius => (e, minColor) + /* The entity is larger than the player so it's color hue will approach the max one */ + case e => (e, maxColor) } seq } } From 608a71b660da8fcf28ed6eb982dc1c813d5539fc Mon Sep 17 00:00:00 2001 From: Placu Date: Thu, 23 Aug 2018 10:57:36 +0200 Subject: [PATCH 31/91] add method to divide a vector for a scalar --- src/main/scala/it/unibo/osmos/redux/utils/Vector.scala | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/scala/it/unibo/osmos/redux/utils/Vector.scala b/src/main/scala/it/unibo/osmos/redux/utils/Vector.scala index 13e2aba9..c363c853 100644 --- a/src/main/scala/it/unibo/osmos/redux/utils/Vector.scala +++ b/src/main/scala/it/unibo/osmos/redux/utils/Vector.scala @@ -62,6 +62,13 @@ trait Vector { */ def multiply(v: Double): Vector = Vector(x * v, y * v) + /** Vector-scalar division. Leaves this vector unchanged. + * + * @param v scalar + * @return division result as a new instance + */ + def divide(v: Double): Vector = Vector(x / v, y / v) + /** TODO * * @return From 3a948004e6394e1542a70a8181fefa272722c9c8 Mon Sep 17 00:00:00 2001 From: Placu Date: Thu, 23 Aug 2018 10:58:10 +0200 Subject: [PATCH 32/91] add first version of avoid collision --- .../redux/ecs/systems/SentientSystem.scala | 61 +++++++++++++++---- 1 file changed, 49 insertions(+), 12 deletions(-) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala index aa978005..58e2705e 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala @@ -2,7 +2,7 @@ package it.unibo.osmos.redux.ecs.systems import it.unibo.osmos.redux.ecs.components._ import it.unibo.osmos.redux.ecs.entities._ -import it.unibo.osmos.redux.utils.{MathUtils} +import it.unibo.osmos.redux.utils.{MathUtils, Point, Vector} import scala.collection.mutable.ListBuffer @@ -10,30 +10,67 @@ case class SentientSystem() extends AbstractSystemWithTwoTypeOfEntity[SentientPr private val MAX_SPEED = 2 private val MAX_ACCELERATION = 0.1 + private val radiusThreshold = 4 override protected def getGroupPropertySecondType: Class[SentientEnemyProperty] = classOf[SentientEnemyProperty] override protected def getGroupProperty: Class[SentientProperty] = classOf[SentientProperty] - override def update(): Unit = for( - sentient <- entities; - target:Option[SentientEnemyProperty] = findTarget(sentient, entitiesSecondType); - if target isDefined - ) yield followTarget(sentient, target get) + override def update(): Unit = entities foreach(sentient => { + val target = findTarget(sentient, entitiesSecondType) + if (target isDefined) { + followTarget(sentient, target get) + } + val enemies = findEnemies(sentient, entitiesSecondType) + runAwayFromEnemies(sentient, enemies) + }) - private def followTarget(sentient: SentientProperty, target: SentientEnemyProperty): Unit = { - val desiredVelocity = MathUtils.unitVector(target.getPositionComponent.point, sentient.getPositionComponent.point).multiply(MAX_SPEED) - val steer = desiredVelocity.subtract(sentient.getSpeedComponent.vector).limit(MAX_ACCELERATION) - sentient.getAccelerationComponent.vector_(steer) + def followTarget(sentient: SentientProperty, target: SentientEnemyProperty): Unit = { + //TODO refactor after that add return Point + val newPositionTarget = target.getPositionComponent.point.add(target.getSpeedComponent.vector) + val nextPositionTarget = Point(newPositionTarget.x, newPositionTarget.y) + val desiredVelocity = MathUtils.unitVector(nextPositionTarget, sentient.getPositionComponent.point) multiply MAX_SPEED + val steer = desiredVelocity subtract sentient.getSpeedComponent.vector limit MAX_ACCELERATION + applyAcceleration(sentient, steer) } - def findTarget(sentient: SentientProperty, enemies: ListBuffer[SentientEnemyProperty]): Option[SentientEnemyProperty] = + private def findTarget(sentient: SentientProperty, enemies: ListBuffer[SentientEnemyProperty]): Option[SentientEnemyProperty] = enemies.filter(e => !(e.getTypeComponent.typeEntity == EntityType.AntiMatter) && - sentient.getDimensionComponent.radius > e.getDimensionComponent.radius) + sentient.getDimensionComponent.radius > e.getDimensionComponent.radius && + e.getDimensionComponent.radius > radiusThreshold) .map(e => (e, targetCoefficient(sentient, e))) .sortWith((a, b) => a._2 > b._2 ) .headOption map (_._1) private def targetCoefficient(sentient: SentientProperty, enemy: SentientEnemyProperty): Double = enemy.getDimensionComponent.radius / MathUtils.euclideanDistance(sentient.getPositionComponent, enemy.getPositionComponent) + + private def findEnemies(sentient: SentientProperty, enemies: ListBuffer[SentientEnemyProperty]): List[SentientEnemyProperty] = + enemies.filter(e => e.getTypeComponent.typeEntity == EntityType.AntiMatter || + sentient.getDimensionComponent.radius < e.getDimensionComponent.radius) toList + + private def runAwayFromEnemies(sentient: SentientProperty, enemies: List[SentientEnemyProperty]): Unit = { + val desideredSeparation = sentient.getDimensionComponent.radius * 6 + var sum = Vector(0,0) + var count = 0 + enemies foreach(e => { + val distance = MathUtils.euclideanDistance(sentient.getPositionComponent, e.getPositionComponent) + //sentient is not in enemies + if (distance < desideredSeparation) { + val diff = MathUtils.unitVector(sentient.getPositionComponent.point, e.getPositionComponent.point) divide distance + sum = sum add diff + count += 1 + } + }) + if (count > 0) { + val average = sum divide count normalized() multiply MAX_SPEED + val steer = average subtract sentient.getSpeedComponent.vector limit MAX_ACCELERATION + applyAcceleration(sentient, steer) + } + } + + private def applyAcceleration(sentient: SentientProperty, acceleration: Vector): Unit = { + val accelerationSentient = sentient.getAccelerationComponent + accelerationSentient.vector_(accelerationSentient.vector add acceleration) + } } From ea84017f192639cb9ed0848daabfcb8784fa9812 Mon Sep 17 00:00:00 2001 From: Placu Date: Thu, 23 Aug 2018 10:58:28 +0200 Subject: [PATCH 33/91] update level config --- src/main/resources/levels/5.json | 79 ++++++++++++++++++++++++++++---- 1 file changed, 71 insertions(+), 8 deletions(-) diff --git a/src/main/resources/levels/5.json b/src/main/resources/levels/5.json index 0d30aea6..1f8654fe 100644 --- a/src/main/resources/levels/5.json +++ b/src/main/resources/levels/5.json @@ -13,8 +13,8 @@ }, "position": { "point": { - "x": 10.0, - "y": 30.0 + "x": 100.0, + "y": 300.0 } }, "cellType": "sentientCell", @@ -26,6 +26,69 @@ "speedY": 0 } }, + { + "acceleration": { + "accelerationX": 0.0, + "accelerationY": 0.0 + }, + "visible": { + "visible": true + }, + "collidable": { + "collidable": true + }, + "spawner": { + "canSpawn": true + }, + "typeEntity": { + "componentType": "Matter" + }, + "position": { + "point": { + "x": 500.0, + "y": 200.0 + } + }, + "cellType": "basicCell", + "dimension": { + "radius": 20.0 + }, + "speed": { + "speedX": 0.5, + "speedY": 0.1 + } + },{ + "acceleration": { + "accelerationX": 0.0, + "accelerationY": 0.0 + }, + "visible": { + "visible": true + }, + "collidable": { + "collidable": true + }, + "spawner": { + "canSpawn": true + }, + "typeEntity": { + "componentType": "Matter" + }, + "position": { + "point": { + "x": 100.0, + "y": 700.0 + } + }, + "cellType": "basicCell", + "dimension": { + "radius": 32.0 + }, + "speed": { + "speedX": 0.0, + "speedY": 0.1 + } + }, { "acceleration": { "accelerationX": 0.0, @@ -51,10 +114,10 @@ }, "cellType": "playerCell", "dimension": { - "radius": 20.0 + "radius": 30.0 }, "speed": { - "speedX": 0.0, + "speedX": 1.0, "speedY": 0.0 } }], @@ -66,10 +129,10 @@ "levelMap": { "mapShape": { "mapShape": "RECTANGLE", - "height": 1000.1, - "base": 1000.6, - "centerX": 501.0, - "centerY": 501.0 + "height": 900, + "base": 1000, + "centerX": 600.0, + "centerY": 500.0 }, "collisionRule": "Bouncing", "isSimulation":false From 8f1874b974f93af3e25ea055a7dbe6ce9cf9cc79 Mon Sep 17 00:00:00 2001 From: Placu Date: Thu, 23 Aug 2018 11:48:10 +0200 Subject: [PATCH 34/91] add method to return vector zero --- .../redux/ecs/components/AccelerationComponent.scala | 12 ++++++------ .../scala/it/unibo/osmos/redux/utils/Vector.scala | 2 ++ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/components/AccelerationComponent.scala b/src/main/scala/it/unibo/osmos/redux/ecs/components/AccelerationComponent.scala index 321bf833..a892284d 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/components/AccelerationComponent.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/components/AccelerationComponent.scala @@ -1,6 +1,6 @@ package it.unibo.osmos.redux.ecs.components -import it.unibo.osmos.redux.utils +import it.unibo.osmos.redux.utils.Vector /** Component of the acceleration vector */ trait AccelerationComponent extends VectorComponent { @@ -10,15 +10,15 @@ trait AccelerationComponent extends VectorComponent { } object AccelerationComponent { - def apply(accelerationX: Double, accelerationY: Double): AccelerationComponent = AccelerationComponentImpl(utils.Vector(accelerationX, accelerationY)) + def apply(accelerationX: Double, accelerationY: Double): AccelerationComponent = AccelerationComponentImpl(Vector(accelerationX, accelerationY)) - private case class AccelerationComponentImpl(var _speedVector: utils.Vector) extends AccelerationComponent { + private case class AccelerationComponentImpl(var _speedVector: Vector) extends AccelerationComponent { - override def vector: utils.Vector = _speedVector + override def vector: Vector = _speedVector - override def vector_(vector: utils.Vector): Unit = _speedVector = vector + override def vector_(vector: Vector): Unit = _speedVector = vector - override def reset(): Unit = vector_(utils.Vector(0, 0)) + override def reset(): Unit = vector_(Vector.zero()) } } diff --git a/src/main/scala/it/unibo/osmos/redux/utils/Vector.scala b/src/main/scala/it/unibo/osmos/redux/utils/Vector.scala index c363c853..9bd3a58d 100644 --- a/src/main/scala/it/unibo/osmos/redux/utils/Vector.scala +++ b/src/main/scala/it/unibo/osmos/redux/utils/Vector.scala @@ -122,6 +122,8 @@ trait Vector { object Vector { def apply(x: Double, y: Double): Vector = VectorImpl(x, y) + def zero(): Vector = VectorImpl(0,0) + private case class VectorImpl(var _x: Double, var _y: Double) extends Vector { override def x: Double = _x From 4a71df5d31fc417d67c78447df410e355179d569 Mon Sep 17 00:00:00 2001 From: Placu Date: Thu, 23 Aug 2018 11:50:06 +0200 Subject: [PATCH 35/91] move apply acceleration in update --- .../redux/ecs/systems/SentientSystem.scala | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala index 58e2705e..7fb8c6fd 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala @@ -18,20 +18,25 @@ case class SentientSystem() extends AbstractSystemWithTwoTypeOfEntity[SentientPr override def update(): Unit = entities foreach(sentient => { val target = findTarget(sentient, entitiesSecondType) - if (target isDefined) { - followTarget(sentient, target get) + val follow = target match { + case Some(t) => followTarget(sentient, t) + case _ => Vector.zero() } + val enemies = findEnemies(sentient, entitiesSecondType) - runAwayFromEnemies(sentient, enemies) + val runAway = runAwayFromEnemies(sentient, enemies) + + applyAcceleration(sentient, runAway) + applyAcceleration(sentient, follow) }) - def followTarget(sentient: SentientProperty, target: SentientEnemyProperty): Unit = { + def followTarget(sentient: SentientProperty, target: SentientEnemyProperty): Vector = { //TODO refactor after that add return Point val newPositionTarget = target.getPositionComponent.point.add(target.getSpeedComponent.vector) val nextPositionTarget = Point(newPositionTarget.x, newPositionTarget.y) val desiredVelocity = MathUtils.unitVector(nextPositionTarget, sentient.getPositionComponent.point) multiply MAX_SPEED - val steer = desiredVelocity subtract sentient.getSpeedComponent.vector limit MAX_ACCELERATION - applyAcceleration(sentient, steer) + desiredVelocity subtract sentient.getSpeedComponent.vector limit MAX_ACCELERATION + } private def findTarget(sentient: SentientProperty, enemies: ListBuffer[SentientEnemyProperty]): Option[SentientEnemyProperty] = @@ -49,9 +54,9 @@ case class SentientSystem() extends AbstractSystemWithTwoTypeOfEntity[SentientPr enemies.filter(e => e.getTypeComponent.typeEntity == EntityType.AntiMatter || sentient.getDimensionComponent.radius < e.getDimensionComponent.radius) toList - private def runAwayFromEnemies(sentient: SentientProperty, enemies: List[SentientEnemyProperty]): Unit = { + private def runAwayFromEnemies(sentient: SentientProperty, enemies: List[SentientEnemyProperty]): Vector = { val desideredSeparation = sentient.getDimensionComponent.radius * 6 - var sum = Vector(0,0) + var sum = Vector.zero() var count = 0 enemies foreach(e => { val distance = MathUtils.euclideanDistance(sentient.getPositionComponent, e.getPositionComponent) @@ -64,8 +69,9 @@ case class SentientSystem() extends AbstractSystemWithTwoTypeOfEntity[SentientPr }) if (count > 0) { val average = sum divide count normalized() multiply MAX_SPEED - val steer = average subtract sentient.getSpeedComponent.vector limit MAX_ACCELERATION - applyAcceleration(sentient, steer) + average subtract sentient.getSpeedComponent.vector limit MAX_ACCELERATION + } else { + sum } } From a7f8fef35bc00fc5670f8c94338aa213e36c7c0c Mon Sep 17 00:00:00 2001 From: Placu Date: Thu, 23 Aug 2018 12:46:44 +0200 Subject: [PATCH 36/91] update levels config --- src/main/resources/levels/4.json | 254 +++++++------------------------ src/main/resources/levels/5.json | 45 +----- 2 files changed, 61 insertions(+), 238 deletions(-) diff --git a/src/main/resources/levels/4.json b/src/main/resources/levels/4.json index 33e78527..152443b4 100644 --- a/src/main/resources/levels/4.json +++ b/src/main/resources/levels/4.json @@ -1,204 +1,58 @@ { - "entities": [{ - "acceleration": { - "accelerationX": 0.0, - "accelerationY": 0.0 - }, - "visible": { - "visible": true - }, - "collidable": { - "collidable": true - }, - "typeEntity": { - "componentType": "Matter" - }, - "position": { - "point": { - "x": 150.0, - "y": 30.0 + "entities": [ + { + "acceleration": { + "accelerationX": 0.0, + "accelerationY": 0.0 + }, + "visible": { + "visible": true + }, + "collidable": { + "collidable": true + }, + "position": { + "point": { + "x": 100.0, + "y": 300.0 + } + }, + "cellType": "sentientCell", + "dimension": { + "radius": 21.0 + }, + "speed": { + "speedX": 0, + "speedY": 0 } }, - "cellType": "basicCell", - "dimension": { - "radius": 20.0 - }, - "speed": { - "speedX": 0.1, - "speedY": 0.5 - } - }, { - "acceleration": { - "accelerationX": 0.0, - "accelerationY": 0.0 - }, - "visible": { - "visible": true - }, - "collidable": { - "collidable": true - }, - "typeEntity": { - "componentType": "Matter" - }, - "position": { - "point": { - "x": 200.0, - "y": 30.0 + { + "acceleration": { + "accelerationX": 0.0, + "accelerationY": 0.0 + }, + "visible": { + "visible": true + }, + "collidable": { + "collidable": true + }, + "position": { + "point": { + "x": 800.0, + "y": 800.0 + } + }, + "cellType": "sentientCell", + "dimension": { + "radius": 25.0 + }, + "speed": { + "speedX": 0, + "speedY": 0 } - }, - "cellType": "basicCell", - "dimension": { - "radius": 15.0 - }, - "speed": { - "speedX": 0.1, - "speedY": 0.25 - } - }, { - "acceleration": { - "accelerationX": 0.0, - "accelerationY": 0.0 - }, - "visible": { - "visible": true - }, - "collidable": { - "collidable": true - }, - "typeEntity": { - "componentType": "Matter" - }, - "position": { - "point": { - "x": 400.0, - "y": 50.0 - } - }, - "cellType": "basicCell", - "dimension": { - "radius": 10.0 - }, - "speed": { - "speedX": 0.2, - "speedY": 0.1 - } - }, { - "acceleration": { - "accelerationX": 0.0, - "accelerationY": 0.0 - }, - "visible": { - "visible": true - }, - "collidable": { - "collidable": true - }, - "typeEntity": { - "componentType": "Matter" - }, - "position": { - "point": { - "x": 50.0, - "y": 50.0 - } - }, - "cellType": "basicCell", - "dimension": { - "radius": 35.0 - }, - "speed": { - "speedX": 0.3, - "speedY": 0.5 - } - }, { - "acceleration": { - "accelerationX": 0.0, - "accelerationY": 0.0 - }, - "visible": { - "visible": true - }, - "collidable": { - "collidable": true - }, - "typeEntity": { - "componentType": "Matter" - }, - "position": { - "point": { - "x": 40.0, - "y": 25.0 - } - }, - "cellType": "basicCell", - "dimension": { - "radius": 10.0 - }, - "speed": { - "speedX": 0.1, - "speedY": 0.99 - } - }, { - "acceleration": { - "accelerationX": 0.0, - "accelerationY": 0.0 - }, - "visible": { - "visible": true - }, - "collidable": { - "collidable": true - }, - "typeEntity": { - "componentType": "Matter" - }, - "position": { - "point": { - "x": 10.0, - "y": 30.0 - } - }, - "cellType": "basicCell", - "dimension": { - "radius": 8.0 - }, - "speed": { - "speedX": 0.3, - "speedY": 0.8 - } - }, { - "acceleration": { - "accelerationX": 0.0, - "accelerationY": 0.0 - }, - "visible": { - "visible": true - }, - "collidable": { - "collidable": true - }, - "spawner": { - "canSpawn": true - }, - "typeEntity": { - "componentType": "Matter" - }, - "position": { - "point": { - "x": 200.0, - "y": 200.0 - } - }, - "cellType": "playerCell", - "dimension": { - "radius": 50.0 - }, - "speed": { - "speedX": 0.0, - "speedY": 0.0 } - }], + ], "levelId": 1, "isSimulation": false, "victoryRule": { @@ -207,10 +61,10 @@ "levelMap": { "mapShape": { "mapShape": "RECTANGLE", - "height": 10.1, - "base": 5.6, - "centerX": 800.0, - "centerY": 800.0 + "height": 900, + "base": 1000, + "centerX": 600.0, + "centerY": 500.0 }, "collisionRule": "Bouncing", "isSimulation":false diff --git a/src/main/resources/levels/5.json b/src/main/resources/levels/5.json index 1f8654fe..0ef8c534 100644 --- a/src/main/resources/levels/5.json +++ b/src/main/resources/levels/5.json @@ -13,8 +13,8 @@ }, "position": { "point": { - "x": 100.0, - "y": 300.0 + "x": 400.0, + "y": 700.0 } }, "cellType": "sentientCell", @@ -45,38 +45,7 @@ }, "position": { "point": { - "x": 500.0, - "y": 200.0 - } - }, - "cellType": "basicCell", - "dimension": { - "radius": 20.0 - }, - "speed": { - "speedX": 0.5, - "speedY": 0.1 - } - },{ - "acceleration": { - "accelerationX": 0.0, - "accelerationY": 0.0 - }, - "visible": { - "visible": true - }, - "collidable": { - "collidable": true - }, - "spawner": { - "canSpawn": true - }, - "typeEntity": { - "componentType": "Matter" - }, - "position": { - "point": { - "x": 100.0, + "x": 700.0, "y": 700.0 } }, @@ -86,7 +55,7 @@ }, "speed": { "speedX": 0.0, - "speedY": 0.1 + "speedY": 0.0 } }, { @@ -108,8 +77,8 @@ }, "position": { "point": { - "x": 800.0, - "y": 500.0 + "x": 100.0, + "y": 700.0 } }, "cellType": "playerCell", @@ -117,7 +86,7 @@ "radius": 30.0 }, "speed": { - "speedX": 1.0, + "speedX": 0.0, "speedY": 0.0 } }], From bf96939118408e340b3b9f351a7f7ab7f649298f Mon Sep 17 00:00:00 2001 From: Placu Date: Thu, 23 Aug 2018 12:48:05 +0200 Subject: [PATCH 37/91] rewrite run away in more functional manner --- .../redux/ecs/systems/SentientSystem.scala | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala index 7fb8c6fd..bd43d8ed 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala @@ -10,6 +10,7 @@ case class SentientSystem() extends AbstractSystemWithTwoTypeOfEntity[SentientPr private val MAX_SPEED = 2 private val MAX_ACCELERATION = 0.1 + private val COEFFICIENT_DESIDERED_SEPARATION = 6 private val radiusThreshold = 4 override protected def getGroupPropertySecondType: Class[SentientEnemyProperty] = classOf[SentientEnemyProperty] @@ -36,7 +37,6 @@ case class SentientSystem() extends AbstractSystemWithTwoTypeOfEntity[SentientPr val nextPositionTarget = Point(newPositionTarget.x, newPositionTarget.y) val desiredVelocity = MathUtils.unitVector(nextPositionTarget, sentient.getPositionComponent.point) multiply MAX_SPEED desiredVelocity subtract sentient.getSpeedComponent.vector limit MAX_ACCELERATION - } private def findTarget(sentient: SentientProperty, enemies: ListBuffer[SentientEnemyProperty]): Option[SentientEnemyProperty] = @@ -55,18 +55,16 @@ case class SentientSystem() extends AbstractSystemWithTwoTypeOfEntity[SentientPr sentient.getDimensionComponent.radius < e.getDimensionComponent.radius) toList private def runAwayFromEnemies(sentient: SentientProperty, enemies: List[SentientEnemyProperty]): Vector = { - val desideredSeparation = sentient.getDimensionComponent.radius * 6 + val desideredSeparation = sentient.getDimensionComponent.radius * COEFFICIENT_DESIDERED_SEPARATION var sum = Vector.zero() var count = 0 - enemies foreach(e => { - val distance = MathUtils.euclideanDistance(sentient.getPositionComponent, e.getPositionComponent) - //sentient is not in enemies - if (distance < desideredSeparation) { - val diff = MathUtils.unitVector(sentient.getPositionComponent.point, e.getPositionComponent.point) divide distance - sum = sum add diff - count += 1 - } - }) + enemies.map(e => (e, MathUtils.euclideanDistance(sentient.getPositionComponent, e.getPositionComponent))) + .filter(p => p._2 < desideredSeparation) + .map(m => MathUtils.unitVector(sentient.getPositionComponent.point, m._1.getPositionComponent.point) divide m._2) + .foreach(diff => { + sum = sum add diff + count += 1 + }) if (count > 0) { val average = sum divide count normalized() multiply MAX_SPEED average subtract sentient.getSpeedComponent.vector limit MAX_ACCELERATION From 7fe74790105082882208fad01cbb2ab47c46caac Mon Sep 17 00:00:00 2001 From: Placu Date: Thu, 23 Aug 2018 12:55:33 +0200 Subject: [PATCH 38/91] rewrite update in more functional manner --- .../redux/ecs/systems/SentientSystem.scala | 26 +++++++------------ 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala index bd43d8ed..3a96b48b 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala @@ -18,25 +18,20 @@ case class SentientSystem() extends AbstractSystemWithTwoTypeOfEntity[SentientPr override protected def getGroupProperty: Class[SentientProperty] = classOf[SentientProperty] override def update(): Unit = entities foreach(sentient => { - val target = findTarget(sentient, entitiesSecondType) - val follow = target match { - case Some(t) => followTarget(sentient, t) - case _ => Vector.zero() + findTarget(sentient, entitiesSecondType) match { + case Some(target) => followTarget(sentient, target) + case _ => } - - val enemies = findEnemies(sentient, entitiesSecondType) - val runAway = runAwayFromEnemies(sentient, enemies) - - applyAcceleration(sentient, runAway) - applyAcceleration(sentient, follow) + runAwayFromEnemies(sentient, findEnemies(sentient, entitiesSecondType)) }) - def followTarget(sentient: SentientProperty, target: SentientEnemyProperty): Vector = { + def followTarget(sentient: SentientProperty, target: SentientEnemyProperty): Unit = { //TODO refactor after that add return Point val newPositionTarget = target.getPositionComponent.point.add(target.getSpeedComponent.vector) val nextPositionTarget = Point(newPositionTarget.x, newPositionTarget.y) val desiredVelocity = MathUtils.unitVector(nextPositionTarget, sentient.getPositionComponent.point) multiply MAX_SPEED - desiredVelocity subtract sentient.getSpeedComponent.vector limit MAX_ACCELERATION + val steer = desiredVelocity subtract sentient.getSpeedComponent.vector limit MAX_ACCELERATION + applyAcceleration(sentient, steer) } private def findTarget(sentient: SentientProperty, enemies: ListBuffer[SentientEnemyProperty]): Option[SentientEnemyProperty] = @@ -54,7 +49,7 @@ case class SentientSystem() extends AbstractSystemWithTwoTypeOfEntity[SentientPr enemies.filter(e => e.getTypeComponent.typeEntity == EntityType.AntiMatter || sentient.getDimensionComponent.radius < e.getDimensionComponent.radius) toList - private def runAwayFromEnemies(sentient: SentientProperty, enemies: List[SentientEnemyProperty]): Vector = { + private def runAwayFromEnemies(sentient: SentientProperty, enemies: List[SentientEnemyProperty]): Unit = { val desideredSeparation = sentient.getDimensionComponent.radius * COEFFICIENT_DESIDERED_SEPARATION var sum = Vector.zero() var count = 0 @@ -67,9 +62,8 @@ case class SentientSystem() extends AbstractSystemWithTwoTypeOfEntity[SentientPr }) if (count > 0) { val average = sum divide count normalized() multiply MAX_SPEED - average subtract sentient.getSpeedComponent.vector limit MAX_ACCELERATION - } else { - sum + val steer = average subtract sentient.getSpeedComponent.vector limit MAX_ACCELERATION + applyAcceleration(sentient, steer) } } From 8cb69bd1a404c3f797d66ae9d88db464d166d20f Mon Sep 17 00:00:00 2001 From: Giacomo Date: Thu, 23 Aug 2018 15:15:13 +0200 Subject: [PATCH 39/91] add class incapsulating prolog rules --- .../unibo/osmos/redux/utils/PrologRules.scala | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 src/main/scala/it/unibo/osmos/redux/utils/PrologRules.scala diff --git a/src/main/scala/it/unibo/osmos/redux/utils/PrologRules.scala b/src/main/scala/it/unibo/osmos/redux/utils/PrologRules.scala new file mode 100644 index 00000000..c9b62498 --- /dev/null +++ b/src/main/scala/it/unibo/osmos/redux/utils/PrologRules.scala @@ -0,0 +1,58 @@ +package it.unibo.osmos.redux.utils + +object PrologRules { + + val rules = + """ + pow(X, 0, 1):-!. + pow(X, 1, X):-!. + pow(X, N, R) :- N1 is N-1, pow(X, N1, RT), R is X*RT. + + getLength([X,Y], L):- + pow(X,2,PX), + pow(Y,2,PY), + L is sqrt(PX+PY). + + add([X1,Y1], [X2,Y2], [RX,RY]) :- + RX is X1+X2, + RY is Y1+Y2. + + subtract([X1,Y1], [X2, Y2], [RX, RY]):- + RX is X1-X2, + RY is Y1-Y2,!. + + multiply([X,Y], V, [VX,VY]):- + VX is X*V, + VY is Y*V,!. + + divide([X,Y],V, [VX,VY]):- + VX is X/V, + VY is Y/V,!. + + unitVector([PX1,PY1],[PX2,PY2],[VX,VY]) :- + subtract([PX1,PY1], [PX2,PY2], [UVX,UVY]), + pow(UVX,2,PUVX), + pow(UVY,2,PUVY), + MOD is sqrt(PUVX+PUVY), + divide([UVX,UVY],MOD, [VX,VY]). + + getNewLength([X,Y], NewLength, [RX, RY]) :- + getLength([X,Y],Length), + TEMP is NewLength / Length, + multiply([X,Y],TEMP,[RX,RY]). + + limit([X,Y], MaxLength, [RX,RY]) :- + getLength([X,Y], Length), + ( Length > MaxLength -> getNewLength([X,Y], MaxLength, [RX,RY]) ; RX is X, RY is Y ). + + steer([DSX, DSY], [SSX,SSY], [RSX,RSY]) :- + subtract([DSX, DSY], [SSX, SSY], [RX,RY]), + limit([RX,RY], 0.1, [RSX,RSY]). + + followTarget([[SPX,SPY],[SSX,SSY]],[[EPX,EPY],[ESX,ESY]],[RX,RY]) :- + add([EPX,EPY], [ESX,ESY], [NPX,NPY]), + unitVector([NPX,NPY],[SPX,SPY],[UVX,UVY]), + multiply([UVX,UVY], 2, [DSX,DSY]), + steer([DSX,DSY], [SSX,SSY], [RX,RY]). + """ +} From 652fab1f02fc44791553544c99b37ebf5fd2c497 Mon Sep 17 00:00:00 2001 From: Giacomo Date: Thu, 23 Aug 2018 15:23:18 +0200 Subject: [PATCH 40/91] add implicit conversions to Sentient*Properties --- .../ecs/systems/SentientPrologSystem.scala | 33 ++++-------- .../it/unibo/osmos/redux/utils/Scala2P.scala | 51 ++++++++++++++----- 2 files changed, 47 insertions(+), 37 deletions(-) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientPrologSystem.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientPrologSystem.scala index 744627b9..b9ea9df9 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientPrologSystem.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientPrologSystem.scala @@ -1,22 +1,15 @@ package it.unibo.osmos.redux.ecs.systems -import alice.tuprolog.{SolveInfo, Struct, Term} +import alice.tuprolog._ import it.unibo.osmos.redux.ecs.entities.{SentientEnemyProperty, SentientProperty} +import it.unibo.osmos.redux.utils.PrologRules import it.unibo.osmos.redux.utils.Scala2P._ import scala.collection.mutable.ListBuffer case class SentientPrologSystem() extends AbstractSystemWithTwoTypeOfEntity[SentientProperty, SentientEnemyProperty]() { - private val engine: Term => Stream[SolveInfo] = mkPrologEngine( - """ - followTarget(S,T,2). - followTarget(S,T,3). - member([H|T],H,T). - member([H|T],E,[H|T2]):- member(T,E,T2). - permutation([],[]). - permutation(L,[H|TP]) :- member(L,H,T), permutation(T,TP). - """) + private val engine: Term => Stream[SolveInfo] = mkPrologEngine(PrologRules.rules) override protected def getGroupProperty: Class[SentientProperty] = classOf[SentientProperty] @@ -31,20 +24,14 @@ case class SentientPrologSystem() extends AbstractSystemWithTwoTypeOfEntity[Sent } private def computeSentientCellBehaviour(sentientEntity: SentientProperty, sentientEnemies: ListBuffer[SentientEnemyProperty]): Unit = { - val sentientRadius: Double = sentientEntity.getDimensionComponent.radius + //val sentientRadius: Double = sentientEntity.getDimensionComponent.radius //println(sentientRadius) - - var v = "" + sentientEntity - /*sentientEnemies.foreach(e => { - v = v + "," + e - })*/ - //val t = new Struct(new alice.tuprolog.Int(2), new alice.tuprolog.Int(3)) - //val app = new Struct("permutation", t, new alice.tuprolog.Var()) - //engine(app) foreach (println(_)) - engine("followTarget(1,2,T)") foreach (println(_)) - - //engine("permutation([1,2,3],L)") foreach (println(_)) - //var list2=new Struct(new Term[]{new alice.tuprolog.Int(2),new alice.tuprolog.Int(3)}); + val e = sentientEnemies.head + //val input = new Struct("followTarget", sentientEntity, e, new Var()) + //val input = new Struct("add", "[1,2]", "[1,2]", new Var("A")) + //val input = new Struct("pow", new Int(3), new Int(3), new Var("A")) + val input = new Struct("followTarget", "[[10,30],[30,20]]","[[70,80],[40,30]]", new Var("A")) + engine(input) foreach (println(_)) } } diff --git a/src/main/scala/it/unibo/osmos/redux/utils/Scala2P.scala b/src/main/scala/it/unibo/osmos/redux/utils/Scala2P.scala index c3e24912..8922eed2 100644 --- a/src/main/scala/it/unibo/osmos/redux/utils/Scala2P.scala +++ b/src/main/scala/it/unibo/osmos/redux/utils/Scala2P.scala @@ -1,42 +1,65 @@ package it.unibo.osmos.redux.utils import alice.tuprolog._ +import it.unibo.osmos.redux.ecs.entities.{SentientEnemyProperty, SentientProperty} object Scala2P { - def extractTerm(solveInfo:SolveInfo, i:Integer): Term = + def extractTerm(solveInfo: SolveInfo, i: Integer): Term = solveInfo.getSolution.asInstanceOf[Struct].getArg(i).getTerm - def extractTerm(solveInfo:SolveInfo, s:String): Term = + def extractTerm(solveInfo: SolveInfo, s: String): Term = solveInfo.getTerm(s) + def separate[E1, E2](element1: E1, element2: E2): String = element1 + "," + element2 + + def wrap[E](element: E): String = "[" + element + "]" implicit def stringToTerm(s: String): Term = Term.createTerm(s) - implicit def seqToTerm[T](s: Seq[T]): Term = s.mkString("[",",","]") + + implicit def seqToTerm[T](s: Seq[T]): Term = s.mkString("[", ",", "]") + implicit def stringToTheory[T](s: String): Theory = new Theory(s) + implicit def sentientEnemyPropertyToTerm(s: SentientEnemyProperty): Term = { + val position = s.getPositionComponent.point + //s.getSpeedComponent.vector.x + //s.getAccelerationComponent + val positionToTerm = wrap(separate(position.x, position.y)) + wrap(separate(positionToTerm, s.getDimensionComponent.radius)) + } + + implicit def sentientPropertyToTerm(s: SentientProperty): Term = { + val position = s.getPositionComponent.point + //s.getSpeedComponent.vector.x + //s.getAccelerationComponent + val positionToTerm = wrap(separate(position.x, position.y)) + wrap(separate(positionToTerm, s.getDimensionComponent.radius)) + } + def mkPrologEngine(theory: Theory): Term => Stream[SolveInfo] = { val engine = new Prolog engine.setTheory(theory) - goal => new Iterable[SolveInfo]{ + goal => + new Iterable[SolveInfo] { - override def iterator = new Iterator[SolveInfo]{ - var solution: Option[SolveInfo] = Some(engine.solve(goal)) + override def iterator: Iterator[SolveInfo] = new Iterator[SolveInfo] { + var solution: Option[SolveInfo] = Some(engine.solve(goal)) - override def hasNext = solution.isDefined && - (solution.get.isSuccess || solution.get.hasOpenAlternatives) + override def hasNext: Boolean = solution.isDefined && + (solution.get.isSuccess || solution.get.hasOpenAlternatives) - override def next() = - try solution.get - finally solution = if (solution.get.hasOpenAlternatives) Some(engine.solveNext()) else None - } - }.toStream + override def next(): SolveInfo = + try solution.get + finally solution = if (solution.get.hasOpenAlternatives) Some(engine.solveNext()) else None + } + }.toStream } def solveWithSuccess(engine: Term => Stream[SolveInfo], goal: Term): Boolean = engine(goal).map(_.isSuccess).headOption == Some(true) def solveOneAndGetTerm(engine: Term => Stream[SolveInfo], goal: Term, term: String): Term = - engine(goal).headOption map (extractTerm(_,term)) get + engine(goal).headOption map (extractTerm(_, term)) get } From 617f24bde963fc7050e4323a0f3496e20840a147 Mon Sep 17 00:00:00 2001 From: Placu Date: Thu, 23 Aug 2018 16:16:51 +0200 Subject: [PATCH 41/91] update level config --- src/main/resources/levels/5.json | 66 +++++++++++++++++++++++++++++++- 1 file changed, 65 insertions(+), 1 deletion(-) diff --git a/src/main/resources/levels/5.json b/src/main/resources/levels/5.json index 0ef8c534..067932e7 100644 --- a/src/main/resources/levels/5.json +++ b/src/main/resources/levels/5.json @@ -19,13 +19,77 @@ }, "cellType": "sentientCell", "dimension": { - "radius": 21.0 + "radius": 10.0 }, "speed": { "speedX": 0, "speedY": 0 } }, + { + "acceleration": { + "accelerationX": 0.0, + "accelerationY": 0.0 + }, + "visible": { + "visible": true + }, + "collidable": { + "collidable": true + }, + "spawner": { + "canSpawn": true + }, + "typeEntity": { + "componentType": "Matter" + }, + "position": { + "point": { + "x": 600.0, + "y": 200.0 + } + }, + "cellType": "basicCell", + "dimension": { + "radius": 25.0 + }, + "speed": { + "speedX": -10.0, + "speedY": 0.0 + } + }, + { + "acceleration": { + "accelerationX": 0.0, + "accelerationY": 0.0 + }, + "visible": { + "visible": true + }, + "collidable": { + "collidable": true + }, + "spawner": { + "canSpawn": true + }, + "typeEntity": { + "componentType": "Matter" + }, + "position": { + "point": { + "x": 130.0, + "y": 200.0 + } + }, + "cellType": "basicCell", + "dimension": { + "radius": 30.0 + }, + "speed": { + "speedX": 0.0, + "speedY": 0.0 + } + }, { "acceleration": { "accelerationX": 0.0, From b61f03886208d4d0ad0a9c602996774460792199 Mon Sep 17 00:00:00 2001 From: Placu Date: Thu, 23 Aug 2018 16:18:36 +0200 Subject: [PATCH 42/91] add new apply constructor --- .../redux/ecs/components/AccelerationComponent.scala | 2 ++ .../osmos/redux/ecs/components/SpeedComponent.scala | 12 +++++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/components/AccelerationComponent.scala b/src/main/scala/it/unibo/osmos/redux/ecs/components/AccelerationComponent.scala index a892284d..60dd000f 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/components/AccelerationComponent.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/components/AccelerationComponent.scala @@ -12,6 +12,8 @@ trait AccelerationComponent extends VectorComponent { object AccelerationComponent { def apply(accelerationX: Double, accelerationY: Double): AccelerationComponent = AccelerationComponentImpl(Vector(accelerationX, accelerationY)) + def apply(acceleration: Vector): AccelerationComponent = AccelerationComponentImpl(acceleration) + private case class AccelerationComponentImpl(var _speedVector: Vector) extends AccelerationComponent { override def vector: Vector = _speedVector diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/components/SpeedComponent.scala b/src/main/scala/it/unibo/osmos/redux/ecs/components/SpeedComponent.scala index f5e9d5ab..82b8b434 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/components/SpeedComponent.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/components/SpeedComponent.scala @@ -1,6 +1,6 @@ package it.unibo.osmos.redux.ecs.components -import it.unibo.osmos.redux.utils +import it.unibo.osmos.redux.utils.Vector /** * Component of the speed vector @@ -10,12 +10,14 @@ trait SpeedComponent extends VectorComponent { } object SpeedComponent { - def apply(speedX: Double, speedY: Double): SpeedComponent = SpeedComponentImpl(utils.Vector(speedX, speedY)) + def apply(speedX: Double, speedY: Double): SpeedComponent = SpeedComponentImpl(Vector(speedX, speedY)) - private case class SpeedComponentImpl(var _speedVector: utils.Vector) extends SpeedComponent { - override def vector: utils.Vector = _speedVector + def apply(speed: Vector): SpeedComponent = SpeedComponentImpl(speed) - override def vector_(vector: utils.Vector): Unit = _speedVector = vector + private case class SpeedComponentImpl(var _speedVector: Vector) extends SpeedComponent { + override def vector: Vector = _speedVector + + override def vector_(vector: Vector): Unit = _speedVector = vector } } From 9064bf68cfa8fbe20a73f8a05808386e5f15fcf6 Mon Sep 17 00:00:00 2001 From: Placu Date: Thu, 23 Aug 2018 16:18:52 +0200 Subject: [PATCH 43/91] add test for sentient system --- .../osmos/redux/TestSentientSystem.scala | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 src/test/scala/it/unibo/osmos/redux/TestSentientSystem.scala diff --git a/src/test/scala/it/unibo/osmos/redux/TestSentientSystem.scala b/src/test/scala/it/unibo/osmos/redux/TestSentientSystem.scala new file mode 100644 index 00000000..e26c76c7 --- /dev/null +++ b/src/test/scala/it/unibo/osmos/redux/TestSentientSystem.scala @@ -0,0 +1,65 @@ +package it.unibo.osmos.redux + +import it.unibo.osmos.redux.ecs.components._ +import it.unibo.osmos.redux.ecs.entities.{CellEntity, EntityManager, SentientCellEntity} +import it.unibo.osmos.redux.ecs.systems.SentientSystem +import it.unibo.osmos.redux.utils.Point +import org.scalatest.{BeforeAndAfter, FunSuite} +import org.scalactic.Tolerance._ + +class TestSentientSystem extends FunSuite with BeforeAndAfter{ + + val TOLERANCE = 0.01 + var acceleration = AccelerationComponent(0, 0) + val collidable = CollidableComponent(true) + val speed = SpeedComponent(0, 0) + val dimension = DimensionComponent(8) + val position = PositionComponent(Point(0, 4)) + val visible = VisibleComponent(true) + val baseTypeEntity = TypeComponent(EntityType.Matter) + val sentientTypeEntity = TypeComponent(EntityType.Sentient) + val dimension1 = DimensionComponent(5) + val position1 = PositionComponent(Point(18, 4)) + val speed1 = SpeedComponent(4, 0) + val dimension2 = DimensionComponent(10) + val position2 = PositionComponent(Point(9, 9)) + + after{ + EntityManager.clear() + acceleration = AccelerationComponent(0, 0) + } + + test("Acceleration of SentientCellEntity should not change without any target") { + val sentienCellEntity = SentientCellEntity(acceleration,collidable,dimension,position,speed,visible) + val sentientSystem = SentientSystem() + EntityManager.add(sentienCellEntity) + val originalAcceleration = AccelerationComponent(sentienCellEntity.getAccelerationComponent.vector) + sentientSystem.update() + assert(sentienCellEntity.getAccelerationComponent.vector.x === originalAcceleration.vector.x) + assert(sentienCellEntity.getAccelerationComponent.vector.y === originalAcceleration.vector.y) + } + + test("Acceleration of SentientCellEntity should change with a target in target's direction") { + val cellEntity = CellEntity(acceleration,collidable,dimension1,position1,speed1,visible,baseTypeEntity) + val sentienCellEntity = SentientCellEntity(acceleration,collidable,dimension,position,speed,visible) + val system = SentientSystem() + EntityManager.add(cellEntity) + EntityManager.add(sentienCellEntity) + system.update() + assert(sentienCellEntity.getAccelerationComponent.vector.x === 0.1 +- TOLERANCE) + assert(sentienCellEntity.getAccelerationComponent.vector.y === 0.0 +- TOLERANCE) + } + + test("Acceleration of SentientCellEntity should change to avoid enemies") { + val cellEntity = CellEntity(acceleration,collidable,dimension2,position1,speed1,visible,baseTypeEntity) + val cellEntity1 = CellEntity(acceleration,collidable,dimension2,position2,speed1,visible,baseTypeEntity) + val sentienCellEntity = SentientCellEntity(acceleration,collidable,dimension,position,speed,visible) + val system = SentientSystem() + EntityManager.add(cellEntity) + EntityManager.add(cellEntity1) + EntityManager.add(sentienCellEntity) + system.update() + assert(sentienCellEntity.getAccelerationComponent.vector.x === -0.094 +- TOLERANCE) + assert(sentienCellEntity.getAccelerationComponent.vector.y === -0.031 +- TOLERANCE) + } +} From 5f91697daefa1ee6a6d2bdbd9bfc53028a79116f Mon Sep 17 00:00:00 2001 From: Placu Date: Thu, 23 Aug 2018 16:49:52 +0200 Subject: [PATCH 44/91] rewrite run away in more functional manner --- .../redux/ecs/systems/SentientSystem.scala | 22 ++++++++----------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala index 3a96b48b..ba0aa1e9 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala @@ -51,24 +51,20 @@ case class SentientSystem() extends AbstractSystemWithTwoTypeOfEntity[SentientPr private def runAwayFromEnemies(sentient: SentientProperty, enemies: List[SentientEnemyProperty]): Unit = { val desideredSeparation = sentient.getDimensionComponent.radius * COEFFICIENT_DESIDERED_SEPARATION - var sum = Vector.zero() - var count = 0 - enemies.map(e => (e, MathUtils.euclideanDistance(sentient.getPositionComponent, e.getPositionComponent))) + val steer = average(enemies.map(e => (e, MathUtils.euclideanDistance(sentient.getPositionComponent, e.getPositionComponent))) .filter(p => p._2 < desideredSeparation) - .map(m => MathUtils.unitVector(sentient.getPositionComponent.point, m._1.getPositionComponent.point) divide m._2) - .foreach(diff => { - sum = sum add diff - count += 1 - }) - if (count > 0) { - val average = sum divide count normalized() multiply MAX_SPEED - val steer = average subtract sentient.getSpeedComponent.vector limit MAX_ACCELERATION - applyAcceleration(sentient, steer) - } + .map(m => MathUtils.unitVector(sentient.getPositionComponent.point, m._1.getPositionComponent.point) divide m._2)) + .normalized() multiply MAX_SPEED subtract sentient.getSpeedComponent.vector limit MAX_ACCELERATION + applyAcceleration(sentient, steer) } private def applyAcceleration(sentient: SentientProperty, acceleration: Vector): Unit = { val accelerationSentient = sentient.getAccelerationComponent accelerationSentient.vector_(accelerationSentient.vector add acceleration) } + + def average(s: List[Vector]): Vector = s.foldLeft((Vector.zero(), 0)) ((acc, i) => (acc._1 add i, acc._2 + 1)) match { + case (_, 0) => Vector.zero() + case (sum, n) => sum divide n + } } From f32bc28f5b0433f9174e26704c26a2f41b4b7964 Mon Sep 17 00:00:00 2001 From: Placu Date: Thu, 23 Aug 2018 17:31:13 +0200 Subject: [PATCH 45/91] refactor point add point return new point --- .../unibo/osmos/redux/ecs/systems/MovementSystem.scala | 3 +-- .../unibo/osmos/redux/ecs/systems/SentientSystem.scala | 4 +--- src/main/scala/it/unibo/osmos/redux/utils/Point.scala | 10 +++++----- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/MovementSystem.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/MovementSystem.scala index 7600d6b9..94b06cce 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/MovementSystem.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/MovementSystem.scala @@ -37,7 +37,6 @@ case class MovementSystem(levelInfo: Level) extends AbstractSystem[MovableProper val positionComponent = entity.getPositionComponent val position = positionComponent.point val speedVector = entity.getSpeedComponent.vector - val newPosition = position.add(speedVector) - positionComponent.point_(Point(newPosition.x, newPosition.y)) + positionComponent.point_(position.add(speedVector)) } } diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala index ba0aa1e9..0d715293 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala @@ -26,9 +26,7 @@ case class SentientSystem() extends AbstractSystemWithTwoTypeOfEntity[SentientPr }) def followTarget(sentient: SentientProperty, target: SentientEnemyProperty): Unit = { - //TODO refactor after that add return Point - val newPositionTarget = target.getPositionComponent.point.add(target.getSpeedComponent.vector) - val nextPositionTarget = Point(newPositionTarget.x, newPositionTarget.y) + val nextPositionTarget = target.getPositionComponent.point.add(target.getSpeedComponent.vector) val desiredVelocity = MathUtils.unitVector(nextPositionTarget, sentient.getPositionComponent.point) multiply MAX_SPEED val steer = desiredVelocity subtract sentient.getSpeedComponent.vector limit MAX_ACCELERATION applyAcceleration(sentient, steer) diff --git a/src/main/scala/it/unibo/osmos/redux/utils/Point.scala b/src/main/scala/it/unibo/osmos/redux/utils/Point.scala index 072e7004..49564e40 100644 --- a/src/main/scala/it/unibo/osmos/redux/utils/Point.scala +++ b/src/main/scala/it/unibo/osmos/redux/utils/Point.scala @@ -15,12 +15,12 @@ trait Point { */ def y: Double - /** Point-point addition. + /** Point-vector addition. * - * @param p point to add - * @return addition result as a new instance + * @param v vector to add + * @return addition result as a new instance of Point */ - def add(v: Vector): Vector + def add(v: Vector): Point /** Point-point subtraction. * @@ -42,7 +42,7 @@ object Point { private case class PointImpl(override val x: Double, override val y: Double) extends Point { - override def add(v: Vector): Vector = Vector(x + v.x, y + v.y) + override def add(v: Vector): Point = Point(x + v.x, y + v.y) override def subtract(p: Point): Vector = Vector(x - p.x, y - p.y) From dcc49f0d3b47244f13d63c92c41fa22e46432d16 Mon Sep 17 00:00:00 2001 From: Placu Date: Thu, 23 Aug 2018 17:52:44 +0200 Subject: [PATCH 46/91] add comments --- .../redux/ecs/systems/SentientSystem.scala | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala index 0d715293..4fcbf21a 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientSystem.scala @@ -25,6 +25,11 @@ case class SentientSystem() extends AbstractSystemWithTwoTypeOfEntity[SentientPr runAwayFromEnemies(sentient, findEnemies(sentient, entitiesSecondType)) }) + /** + * apply a acceleration to the sentient to follow the target + * @param sentient sentient entity + * @param target target entity + */ def followTarget(sentient: SentientProperty, target: SentientEnemyProperty): Unit = { val nextPositionTarget = target.getPositionComponent.point.add(target.getSpeedComponent.vector) val desiredVelocity = MathUtils.unitVector(nextPositionTarget, sentient.getPositionComponent.point) multiply MAX_SPEED @@ -32,6 +37,12 @@ case class SentientSystem() extends AbstractSystemWithTwoTypeOfEntity[SentientPr applyAcceleration(sentient, steer) } + /** + * + * @param sentient sentient entity + * @param enemies list of entity + * @return the sentient's enemy with greater target coefficient is present, else None + */ private def findTarget(sentient: SentientProperty, enemies: ListBuffer[SentientEnemyProperty]): Option[SentientEnemyProperty] = enemies.filter(e => !(e.getTypeComponent.typeEntity == EntityType.AntiMatter) && sentient.getDimensionComponent.radius > e.getDimensionComponent.radius && @@ -40,13 +51,31 @@ case class SentientSystem() extends AbstractSystemWithTwoTypeOfEntity[SentientPr .sortWith((a, b) => a._2 > b._2 ) .headOption map (_._1) + /** + * + * @param sentient sentient entity + * @param enemy sentient enemy entity + * @return a coefficient directly proportional to the enemy's radius and + * inversely proportional to the distance between the entities + */ private def targetCoefficient(sentient: SentientProperty, enemy: SentientEnemyProperty): Double = enemy.getDimensionComponent.radius / MathUtils.euclideanDistance(sentient.getPositionComponent, enemy.getPositionComponent) + /** + * search sentient enemies + * @param sentient sentient entity + * @param enemies list of all entities + * @return list of sentient's enemies + */ private def findEnemies(sentient: SentientProperty, enemies: ListBuffer[SentientEnemyProperty]): List[SentientEnemyProperty] = enemies.filter(e => e.getTypeComponent.typeEntity == EntityType.AntiMatter || sentient.getDimensionComponent.radius < e.getDimensionComponent.radius) toList + /** + * applay acceleration to run away from all enemies + * @param sentient sentient entity + * @param enemies list of enemies + */ private def runAwayFromEnemies(sentient: SentientProperty, enemies: List[SentientEnemyProperty]): Unit = { val desideredSeparation = sentient.getDimensionComponent.radius * COEFFICIENT_DESIDERED_SEPARATION val steer = average(enemies.map(e => (e, MathUtils.euclideanDistance(sentient.getPositionComponent, e.getPositionComponent))) From 8fd7de79b91a72d9e521534361d956aafe6843b5 Mon Sep 17 00:00:00 2001 From: Giacomo Date: Thu, 23 Aug 2018 18:16:45 +0200 Subject: [PATCH 47/91] add rule to filter enemy list from unwanted targets --- .../unibo/osmos/redux/utils/PrologRules.scala | 19 +++++++++++++++---- .../it/unibo/osmos/redux/utils/Scala2P.scala | 16 ++++++++++------ 2 files changed, 25 insertions(+), 10 deletions(-) diff --git a/src/main/scala/it/unibo/osmos/redux/utils/PrologRules.scala b/src/main/scala/it/unibo/osmos/redux/utils/PrologRules.scala index c9b62498..38a3fe55 100644 --- a/src/main/scala/it/unibo/osmos/redux/utils/PrologRules.scala +++ b/src/main/scala/it/unibo/osmos/redux/utils/PrologRules.scala @@ -25,9 +25,9 @@ object PrologRules { VX is X*V, VY is Y*V,!. - divide([X,Y],V, [VX,VY]):- - VX is X/V, - VY is Y/V,!. + divide([X,Y],V,[VX,VY]):- divide(X,V,VX),divide(Y,V,VY),!. + + divide(X,Y,R) :- ( Y \= 0 -> R is X / Y ; R is X ). unitVector([PX1,PY1],[PX2,PY2],[VX,VY]) :- subtract([PX1,PY1], [PX2,PY2], [UVX,UVY]), @@ -38,7 +38,7 @@ object PrologRules { getNewLength([X,Y], NewLength, [RX, RY]) :- getLength([X,Y],Length), - TEMP is NewLength / Length, + divide(NewLength, Length, TEMP), multiply([X,Y],TEMP,[RX,RY]). limit([X,Y], MaxLength, [RX,RY]) :- @@ -54,5 +54,16 @@ object PrologRules { unitVector([NPX,NPY],[SPX,SPY],[UVX,UVY]), multiply([UVX,UVY], 2, [DSX,DSY]), steer([DSX,DSY], [SSX,SSY], [RX,RY]). + + filter([_,_,SR], [[]], []):-!. + filter([_,_,SR], [[EP,ES,ER,ET]|T], OUTL) :- + filter([_,_,SR], T, RL), + (ET \== 'AntiMatter' -> + ( SR > ER -> + (ER > 4.0 -> + OUTL = [[EP,ES,ER,ET]|RL]; + OUTL = RL ); + OUTL = RL ); + OUTL = RL ). """ } diff --git a/src/main/scala/it/unibo/osmos/redux/utils/Scala2P.scala b/src/main/scala/it/unibo/osmos/redux/utils/Scala2P.scala index 8922eed2..504a5652 100644 --- a/src/main/scala/it/unibo/osmos/redux/utils/Scala2P.scala +++ b/src/main/scala/it/unibo/osmos/redux/utils/Scala2P.scala @@ -23,18 +23,22 @@ object Scala2P { implicit def sentientEnemyPropertyToTerm(s: SentientEnemyProperty): Term = { val position = s.getPositionComponent.point - //s.getSpeedComponent.vector.x - //s.getAccelerationComponent + val speed = s.getSpeedComponent.vector val positionToTerm = wrap(separate(position.x, position.y)) - wrap(separate(positionToTerm, s.getDimensionComponent.radius)) + val speedToTerm = wrap(separate(speed.x, speed.y)) + val radiusToTerm = s.getDimensionComponent.radius + val typeToTerm = s.getTypeComponent.typeEntity + //s.getAccelerationComponent + wrap(separate(separate(positionToTerm, speedToTerm),separate(radiusToTerm, typeToTerm))) } implicit def sentientPropertyToTerm(s: SentientProperty): Term = { val position = s.getPositionComponent.point - //s.getSpeedComponent.vector.x - //s.getAccelerationComponent + val speed = s.getSpeedComponent.vector val positionToTerm = wrap(separate(position.x, position.y)) - wrap(separate(positionToTerm, s.getDimensionComponent.radius)) + val speedToTerm = wrap(separate(speed.x, speed.y)) + val radiusToTerm = s.getDimensionComponent.radius + wrap(separate(separate(positionToTerm, speedToTerm),radiusToTerm)) } def mkPrologEngine(theory: Theory): Term => Stream[SolveInfo] = { From a52d38d5378487cef1f064a1de49b60e5be3cc6d Mon Sep 17 00:00:00 2001 From: Placu Date: Thu, 23 Aug 2018 18:21:10 +0200 Subject: [PATCH 48/91] update level config --- src/main/resources/levels/5.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/levels/5.json b/src/main/resources/levels/5.json index 067932e7..71e08057 100644 --- a/src/main/resources/levels/5.json +++ b/src/main/resources/levels/5.json @@ -54,7 +54,7 @@ "radius": 25.0 }, "speed": { - "speedX": -10.0, + "speedX": -1.0, "speedY": 0.0 } }, From 3f7b64608f04dc7472258a85f38e721b64902fa8 Mon Sep 17 00:00:00 2001 From: Placu Date: Thu, 23 Aug 2018 18:21:48 +0200 Subject: [PATCH 49/91] modify exchangeMass rules --- .../redux/ecs/systems/CollisionSystem.scala | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala index 64de7a0a..3342629a 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala @@ -61,19 +61,22 @@ case class CollisionSystem() extends AbstractSystem[CollidableProperty] { * @param overlap The overlap amount */ private def exchangeMass(bigEntity: CollidableProperty, smallEntity: CollidableProperty, overlap: Double): Unit = { - //decrease small entity radius by the overlap amount - smallEntity.getDimensionComponent.radius_(smallEntity.getDimensionComponent.radius - overlap) - - val exchangedRadiusValue = smallEntity.getDimensionComponent.radius * massExchangeRate val bigRadius = bigEntity.getDimensionComponent.radius val tinyRadius = smallEntity.getDimensionComponent.radius - //apply exchange between the two entities - smallEntity.getDimensionComponent.radius_(tinyRadius - exchangedRadiusValue) - (bigEntity.getTypeComponent.typeEntity, smallEntity.getTypeComponent.typeEntity) match { - case (EntityType.AntiMatter, _) | (_, EntityType.AntiMatter) => bigEntity.getDimensionComponent.radius_(bigRadius - exchangedRadiusValue) - case _ => bigEntity.getDimensionComponent.radius_(bigRadius + exchangedRadiusValue) + case (EntityType.AntiMatter, _) | (_, EntityType.AntiMatter) => { + bigEntity.getDimensionComponent.radius_(bigRadius - (overlap/2)) + smallEntity.getDimensionComponent.radius_(tinyRadius - (overlap/2)) + } + case _ => { + smallEntity.getDimensionComponent.radius_(tinyRadius - overlap) + bigEntity.getDimensionComponent.radius_(bigRadius + overlap) + //move the big entity + val bigEntityPosition = bigEntity.getPositionComponent + val unitVector = MathUtils.unitVector(bigEntityPosition.point, smallEntity.getPositionComponent.point) + bigEntityPosition.point_(bigEntityPosition.point add (unitVector multiply overlap)) + } } } From 16524c1a840aa8857b42e6a4be31c6cec747c503 Mon Sep 17 00:00:00 2001 From: Placu Date: Thu, 23 Aug 2018 18:22:09 +0200 Subject: [PATCH 50/91] update test --- .../scala/it/unibo/osmos/redux/TestCollisionSystem.scala | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala b/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala index 72b38182..8bae7024 100644 --- a/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala +++ b/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala @@ -75,7 +75,7 @@ class TestCollisionSystem extends FunSuite { entity1.getPositionComponent.point_(Point(60, 80)) entity1.getCollidableComponent.setCollidable(true) entity2.getDimensionComponent.radius_(2) - entity2.getPositionComponent.point_(Point(66.9, 80)) + entity2.getPositionComponent.point_(Point(66, 80)) entity2.getCollidableComponent.setCollidable(true) val originalDim1 = DimensionComponent(entity1.getDimensionComponent.radius) @@ -88,8 +88,10 @@ class TestCollisionSystem extends FunSuite { system.update() - assert(entity1.getDimensionComponent.radius > originalDim1.radius && entity1.getAccelerationComponent != originalAccel1 && - entity2.getDimensionComponent.radius < originalDim2.radius && entity2.getAccelerationComponent != originalAccel2) + assert(entity1.getDimensionComponent.radius == 6) + assert(entity1.getPositionComponent.point == Point(59,80)) + assert(entity2.getDimensionComponent.radius == 1) + assert(entity2.getPositionComponent.point == Point(66,80)) } test("Collision with AntiMatter entity should reduce both dimension's entity") { From 898b289bb2a1ab434b7a178cd527240c2540d317 Mon Sep 17 00:00:00 2001 From: Giacomo Date: Thu, 23 Aug 2018 22:30:05 +0200 Subject: [PATCH 51/91] fix filter, add rules to associate score to enemies and to sort the results --- .../unibo/osmos/redux/utils/PrologRules.scala | 34 +++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/src/main/scala/it/unibo/osmos/redux/utils/PrologRules.scala b/src/main/scala/it/unibo/osmos/redux/utils/PrologRules.scala index 38a3fe55..cbeaf0dc 100644 --- a/src/main/scala/it/unibo/osmos/redux/utils/PrologRules.scala +++ b/src/main/scala/it/unibo/osmos/redux/utils/PrologRules.scala @@ -36,6 +36,11 @@ object PrologRules { MOD is sqrt(PUVX+PUVY), divide([UVX,UVY],MOD, [VX,VY]). + euclideanDistance([PX1,PY1],[PX2,PY2],D) :- + pow(PX1 - PX2, 2, PX), + pow(PY1 - PY2, 2, PY), + D is sqrt(PX + PY). + getNewLength([X,Y], NewLength, [RX, RY]) :- getLength([X,Y],Length), divide(NewLength, Length, TEMP), @@ -55,7 +60,7 @@ object PrologRules { multiply([UVX,UVY], 2, [DSX,DSY]), steer([DSX,DSY], [SSX,SSY], [RX,RY]). - filter([_,_,SR], [[]], []):-!. + filter([_,_,SR], [], []):-!. filter([_,_,SR], [[EP,ES,ER,ET]|T], OUTL) :- filter([_,_,SR], T, RL), (ET \== 'AntiMatter' -> @@ -64,6 +69,31 @@ object PrologRules { OUTL = [[EP,ES,ER,ET]|RL]; OUTL = RL ); OUTL = RL ); - OUTL = RL ). + OUTL = RL ). + + associateScoreToEnemy([SP,_,SR], [EP,ES,ER,ET], [[EP,ES,ER,ET],R]) :- + euclideanDistance(SP,EP,D), + divide(SR, D, R). + + associateScoreToEnemies(S, [H|[]], [R|[]]) :- associateScoreToEnemy(S, H, R),!. + associateScoreToEnemies(S, [H|T], [R|TR]) :- + associateScoreToEnemy(S, H, R), + associateScoreToEnemies(S, T, TR),!. + + quicksort([],[]). + quicksort([X|Xs],Ys):- + partition(Xs,X,Ls,Bs), + quicksort(Ls,LOs), + quicksort(Bs,BOs), + append(LOs,[X|BOs],Ys). + + partition([],_,[],[]). + partition([[X,SCOREX]|Xs],[Y,SCOREY],[X|Ls],Bs):- SCOREX>SCOREY, !, partition(Xs,Y,Ls,Bs). + partition([X|Xs],[Y,SCOREY],Ls,[X|Bs]):- partition(Xs,Y,Ls,Bs). + + findTarget(S,[H|T],RL) :- + filter(S, [H|T], FL), + associateScoreToEnemies(S, FL, EWS), + quicksort(EWS, RL). """ } From b5ed955cd1c26b7937cae69284b3f6c094a39b08 Mon Sep 17 00:00:00 2001 From: Andrea Procucci Date: Fri, 24 Aug 2018 10:34:15 +0200 Subject: [PATCH 52/91] Add check if cell is into rectangular map boundary --- .../unibo/osmos/redux/mvc/model/Level.scala | 66 +++++++++++++++++-- 1 file changed, 61 insertions(+), 5 deletions(-) diff --git a/src/main/scala/it/unibo/osmos/redux/mvc/model/Level.scala b/src/main/scala/it/unibo/osmos/redux/mvc/model/Level.scala index 82529852..2d0a2dc3 100644 --- a/src/main/scala/it/unibo/osmos/redux/mvc/model/Level.scala +++ b/src/main/scala/it/unibo/osmos/redux/mvc/model/Level.scala @@ -1,5 +1,8 @@ package it.unibo.osmos.redux.mvc.model -import it.unibo.osmos.redux.ecs.entities.CellEntity +import it.unibo.osmos.redux.ecs.components._ +import it.unibo.osmos.redux.ecs.entities.{CellEntity, GravityCellEntity, PlayerCellEntity, SentientCellEntity} +import it.unibo.osmos.redux.mvc.model.MapShape.{Circle, Rectangle} +import it.unibo.osmos.redux.utils.Point /** * List of cell types @@ -36,10 +39,23 @@ sealed trait MapShape { object MapShape { val rectangle:String = "RECTANGLE" val circle:String = "CIRCLE" + + /** + * Rectangular level map + * @param center center of map + * @param height rectangle height + * @param base rectangle base + */ case class Rectangle(override val center: (Double, Double), height:Double, base:Double) extends MapShape { override val mapShape: String = MapShape.rectangle } + + /** + * Circular level map + * @param center center of map + * @param radius circle radius + */ case class Circle(override val center: (Double, Double), radius:Double) extends MapShape { override val mapShape: String = MapShape.circle } @@ -60,7 +76,47 @@ case class LevelMap(mapShape:MapShape, collisionRule:CollisionRules.Value) * @param victoryRule victory rule * @param isSimulation if it's a simulation */ - case class Level(levelId:Int, - levelMap:LevelMap, - entities:List[CellEntity], - victoryRule:VictoryRules.Value, var isSimulation:Boolean = false) +case class Level(levelId:Int, + levelMap:LevelMap, + var entities:List[CellEntity], + victoryRule:VictoryRules.Value, var isSimulation:Boolean = false) { + + def checkCellPosition():Unit = levelMap.mapShape match { + case rec:Rectangle => rectangularMapCheck(rec) + case circ:Circle => circularMapCheck(circ) + } + + def circularMapCheck(circle:Circle) = ??? + + /** + * Remove all entities who aren't into map boundary + * @param rectangle map shape + */ + def rectangularMapCheck(rectangle:Rectangle): Unit = { + /*calculate map bound*/ + var westMiddlePointX = rectangle.center._1 - (rectangle.base/2) + var northMiddlePointY = rectangle.center._2 - (rectangle.height/2) + //const for translate point if they are negative + val kx:Double = if(westMiddlePointX < 0) -westMiddlePointX else 0 + val ky:Double = if(northMiddlePointY < 0) -northMiddlePointY else 0 + + westMiddlePointX = westMiddlePointX + kx + northMiddlePointY = northMiddlePointY + ky + val southMiddlePointY = northMiddlePointY + rectangle.height + val eastMiddlePointX = westMiddlePointX + rectangle.base + + entities.foreach(ent => { + //calculate cell point + val cellCenter = Point(ent.getPositionComponent.point.x + kx, ent.getPositionComponent.point.y + ky) + val topY = cellCenter.y - ent.getDimensionComponent.radius + val rightX = cellCenter.x + ent.getDimensionComponent.radius + val bottomY = topY + 2*ent.getDimensionComponent.radius + val leftX = rightX - 2*ent.getDimensionComponent.radius + //check if cell is into map + if(!(leftX >= westMiddlePointX && rightX <= eastMiddlePointX) || + !(topY >= northMiddlePointY && bottomY <= southMiddlePointY)) { + entities = entities.filterNot(entity => entity.equals(ent)) + } + }) + } +} From 2f84adda2be9ca326f0b7b7e49afe29a3b47fde2 Mon Sep 17 00:00:00 2001 From: Andrea Procucci Date: Fri, 24 Aug 2018 11:27:12 +0200 Subject: [PATCH 53/91] Add circular map boundary control --- .../unibo/osmos/redux/mvc/model/Level.scala | 78 ++++++++++++++++++- 1 file changed, 76 insertions(+), 2 deletions(-) diff --git a/src/main/scala/it/unibo/osmos/redux/mvc/model/Level.scala b/src/main/scala/it/unibo/osmos/redux/mvc/model/Level.scala index 2d0a2dc3..7c149240 100644 --- a/src/main/scala/it/unibo/osmos/redux/mvc/model/Level.scala +++ b/src/main/scala/it/unibo/osmos/redux/mvc/model/Level.scala @@ -86,8 +86,6 @@ case class Level(levelId:Int, case circ:Circle => circularMapCheck(circ) } - def circularMapCheck(circle:Circle) = ??? - /** * Remove all entities who aren't into map boundary * @param rectangle map shape @@ -119,4 +117,80 @@ case class Level(levelId:Int, } }) } + + def circularMapCheck(circle:Circle): Unit = { + entities.foreach(entity => { + val d = Math.sqrt(Math.pow(circle.center._1 - entity.getPositionComponent.point.x, 2) + Math.pow(circle.center._2 - entity.getPositionComponent.point.y, 2)) + val k = d+entity.getDimensionComponent.radius + println("--k: ", k) + println("k > c.r: ", k > circle.radius) + if(k > circle.radius) { + entities = entities.filterNot(entity2 => entity2.equals(entity)) + } + }) + } +} + +object app extends App { + + val level = getLevel + level.checkCellPosition() + println(level.entities.map(ent => ent.getClass.getName)) + + + + + + + + + + + + + + + + + + + + + + def getLevel:Level = { + //Components + val a = AccelerationComponent(1, 1) + val c = CollidableComponent(true) + + + val d = DimensionComponent(1) + + val p = PositionComponent(Point(0, 0)) + val p1 = PositionComponent(Point(-2, -2)) + val p2= PositionComponent(Point(4,1)) + val p3 = PositionComponent(Point(-2.1, 2.1)) + + val s = SpeedComponent(4, 0) + val v = VisibleComponent(true) + val et = TypeComponent(EntityType.Matter) + val sp = SpawnerComponent(true) + val sw = SpecificWeightComponent(1) + //Entities + val ce = CellEntity(a, c, d, p, s, v, et) + val pce = PlayerCellEntity(a, c, d, p1, s, v, et, sp) + val gc = GravityCellEntity(a, c, d, p2, s, v, et, sw) + val sc = SentientCellEntity(a, c, d, p3, s, v) + val listCell:List[CellEntity] = List(ce, pce, gc, sc) + //LevelMap + val rectangle:MapShape = Rectangle((0,0),10,10) + val circle:MapShape = Circle((0,0), 4) + val listShape:List[MapShape] = List(rectangle, circle) + val levelMap:LevelMap = LevelMap(circle, CollisionRules.bouncing) + //Level + val level:Level = Level(levelId = 1, + levelMap, + listCell, + VictoryRules.becomeTheBiggest) + level + } } From a32dcdcf6d2c714fbffab91812b054a155237d27 Mon Sep 17 00:00:00 2001 From: Giacomo Date: Fri, 24 Aug 2018 12:34:42 +0200 Subject: [PATCH 54/91] add rules to compute sentient cell behaviour --- .../it/unibo/osmos/redux/utils/PrologRules.scala | 15 ++++++++++++--- .../it/unibo/osmos/redux/utils/Scala2P.scala | 14 +++++++++++++- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/src/main/scala/it/unibo/osmos/redux/utils/PrologRules.scala b/src/main/scala/it/unibo/osmos/redux/utils/PrologRules.scala index cbeaf0dc..9f355332 100644 --- a/src/main/scala/it/unibo/osmos/redux/utils/PrologRules.scala +++ b/src/main/scala/it/unibo/osmos/redux/utils/PrologRules.scala @@ -6,7 +6,9 @@ object PrologRules { """ pow(X, 0, 1):-!. pow(X, 1, X):-!. - pow(X, N, R) :- N1 is N-1, pow(X, N1, RT), R is X*RT. + pow(X, N, R) :- + N1 is N-1, + pow(X, N1, RT), R is X*RT. getLength([X,Y], L):- pow(X,2,PX), @@ -88,12 +90,19 @@ object PrologRules { append(LOs,[X|BOs],Ys). partition([],_,[],[]). - partition([[X,SCOREX]|Xs],[Y,SCOREY],[X|Ls],Bs):- SCOREX>SCOREY, !, partition(Xs,Y,Ls,Bs). - partition([X|Xs],[Y,SCOREY],Ls,[X|Bs]):- partition(Xs,Y,Ls,Bs). + partition([[X,SCOREX]|Xs],[Y,SCOREY],[[X,SCOREX]|Ls],Bs):- SCOREX>SCOREY, !, partition(Xs,[Y,SCOREY],Ls,Bs). + partition([X|Xs],Y,Ls,[X|Bs]):- partition(Xs,Y,Ls,Bs). findTarget(S,[H|T],RL) :- filter(S, [H|T], FL), associateScoreToEnemies(S, FL, EWS), quicksort(EWS, RL). + + sentientCellBehaviour(S,L,[RX,RY]) :- + findTarget(S,L,RL), + [SP,SS,_] = S, + % considers the highest score result + [[[EP,ES,_,_],_]|K] = RL, + followTarget([SP,SS],[EP,ES],[RX,RY]). """ } diff --git a/src/main/scala/it/unibo/osmos/redux/utils/Scala2P.scala b/src/main/scala/it/unibo/osmos/redux/utils/Scala2P.scala index 504a5652..8b8e2cf7 100644 --- a/src/main/scala/it/unibo/osmos/redux/utils/Scala2P.scala +++ b/src/main/scala/it/unibo/osmos/redux/utils/Scala2P.scala @@ -3,6 +3,8 @@ package it.unibo.osmos.redux.utils import alice.tuprolog._ import it.unibo.osmos.redux.ecs.entities.{SentientEnemyProperty, SentientProperty} +import scala.collection.mutable.ListBuffer + object Scala2P { def extractTerm(solveInfo: SolveInfo, i: Integer): Term = @@ -27,7 +29,7 @@ object Scala2P { val positionToTerm = wrap(separate(position.x, position.y)) val speedToTerm = wrap(separate(speed.x, speed.y)) val radiusToTerm = s.getDimensionComponent.radius - val typeToTerm = s.getTypeComponent.typeEntity + val typeToTerm = "'" + s.getTypeComponent.typeEntity + "'" //s.getAccelerationComponent wrap(separate(separate(positionToTerm, speedToTerm),separate(radiusToTerm, typeToTerm))) } @@ -41,6 +43,16 @@ object Scala2P { wrap(separate(separate(positionToTerm, speedToTerm),radiusToTerm)) } + + def sentientEnemiesToTerm(sentientEnemies: ListBuffer[SentientEnemyProperty]): Term = { + var result = "" + sentientEnemies foreach(enemy => { + result = separate(result, sentientEnemyPropertyToTerm(enemy)) + }) + // substring removes the first , + wrap(result.substring(1)) + } + def mkPrologEngine(theory: Theory): Term => Stream[SolveInfo] = { val engine = new Prolog engine.setTheory(theory) From 7f5472279530a72a50c1876e694de0c928036a1f Mon Sep 17 00:00:00 2001 From: Giacomo Date: Fri, 24 Aug 2018 12:35:28 +0200 Subject: [PATCH 55/91] remove useless code, add correctly acceleration assignment to sentient cells, improve test --- .../ecs/systems/SentientPrologSystem.scala | 30 ++++++-------- .../redux/TestSentientPrologSystem.scala | 40 ++++++++++++------- 2 files changed, 38 insertions(+), 32 deletions(-) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientPrologSystem.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientPrologSystem.scala index b9ea9df9..d9a8cd1e 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientPrologSystem.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientPrologSystem.scala @@ -4,34 +4,30 @@ import alice.tuprolog._ import it.unibo.osmos.redux.ecs.entities.{SentientEnemyProperty, SentientProperty} import it.unibo.osmos.redux.utils.PrologRules import it.unibo.osmos.redux.utils.Scala2P._ - -import scala.collection.mutable.ListBuffer +import it.unibo.osmos.redux.utils.Vector case class SentientPrologSystem() extends AbstractSystemWithTwoTypeOfEntity[SentientProperty, SentientEnemyProperty]() { - private val engine: Term => Stream[SolveInfo] = mkPrologEngine(PrologRules.rules) + private val prologEngine: Term => Stream[SolveInfo] = mkPrologEngine(PrologRules.rules) override protected def getGroupProperty: Class[SentientProperty] = classOf[SentientProperty] override protected def getGroupPropertySecondType: Class[SentientEnemyProperty] = classOf[SentientEnemyProperty] override def update(): Unit = { - //engine("followTarget(1,2,T)") foreach (println(_)) entities foreach (sentientEntity => { - //println(sentientEntity) - computeSentientCellBehaviour(sentientEntity, entitiesSecondType) + val input = new Struct("sentientCellBehaviour", sentientEntity, sentientEnemiesToTerm(entitiesSecondType), "[RX,RY]") + prologEngine(input) headOption match { + case Some(value) => + val sentientCellAccelerationX = value.getTerm("RX").toString.toDouble + val sentientCellAccelerationY = value.getTerm("RY").toString.toDouble + // println(sentientCellAccelerationX + " " + sentientCellAccelerationY) + val computedAcceleration = Vector(sentientCellAccelerationX, sentientCellAccelerationY) + val acceleration = sentientEntity.getAccelerationComponent + acceleration.vector_(acceleration.vector add computedAcceleration) + case _ => + } }) } - private def computeSentientCellBehaviour(sentientEntity: SentientProperty, sentientEnemies: ListBuffer[SentientEnemyProperty]): Unit = { - //val sentientRadius: Double = sentientEntity.getDimensionComponent.radius - //println(sentientRadius) - val e = sentientEnemies.head - //val input = new Struct("followTarget", sentientEntity, e, new Var()) - //val input = new Struct("add", "[1,2]", "[1,2]", new Var("A")) - //val input = new Struct("pow", new Int(3), new Int(3), new Var("A")) - val input = new Struct("followTarget", "[[10,30],[30,20]]","[[70,80],[40,30]]", new Var("A")) - engine(input) foreach (println(_)) - } - } diff --git a/src/test/scala/it/unibo/osmos/redux/TestSentientPrologSystem.scala b/src/test/scala/it/unibo/osmos/redux/TestSentientPrologSystem.scala index cdf3ee39..441bfb7f 100644 --- a/src/test/scala/it/unibo/osmos/redux/TestSentientPrologSystem.scala +++ b/src/test/scala/it/unibo/osmos/redux/TestSentientPrologSystem.scala @@ -18,33 +18,43 @@ class TestSentientPrologSystem extends FunSuite with BeforeAndAfter { val sca = AccelerationComponent(0, 0) val scc = CollidableComponent(true) - val scd = DimensionComponent(6) + val scd = DimensionComponent(10) val scp = PositionComponent(Point(50, 64)) val scs = SpeedComponent(0, 0) val scv = VisibleComponent(true) val sentientCellEntity = SentientCellEntity(sca, scc, scd, scp, scs, scv) - val ca = AccelerationComponent(0, 0) - val cc = CollidableComponent(true) - val cd = DimensionComponent(4) - val cp = PositionComponent(Point(60, 64)) - val cs = SpeedComponent(0, 0) - val cv = VisibleComponent(true) - val ct = TypeComponent(EntityType.Matter) - val smallerCellEntity = CellEntity(ca, cc, cd, cp, cs, cv, ct) + val ca1 = AccelerationComponent(1, 1) + val cc1 = CollidableComponent(true) + val cd1 = DimensionComponent(4) + val cp1 = PositionComponent(Point(100, 170)) + val cs1 = SpeedComponent(4, 5) + val cv1 = VisibleComponent(true) + val ct1 = TypeComponent(EntityType.Matter) + val cellEntity1 = CellEntity(ca1, cc1, cd1, cp1, cs1, cv1, ct1) - val ca2 = AccelerationComponent(0, 0) + val ca2 = AccelerationComponent(1, 1) val cc2 = CollidableComponent(true) - val cd2 = DimensionComponent(5) - val cp2 = PositionComponent(Point(60, 64)) + val cd2 = DimensionComponent(8) + val cp2 = PositionComponent(Point(30, 100)) val cs2 = SpeedComponent(0, 0) val cv2 = VisibleComponent(true) val ct2 = TypeComponent(EntityType.Matter) - val smallerCellEntity2 = CellEntity(ca2, cc2, cd2, cp2, cs2, cv2, ct2) + val cellEntity2 = CellEntity(ca2, cc2, cd2, cp2, cs2, cv2, ct2) + + val ca3 = AccelerationComponent(1, 1) + val cc3 = CollidableComponent(true) + val cd3 = DimensionComponent(7) + val cp3 = PositionComponent(Point(130, 40)) + val cs3 = SpeedComponent(4, 3) + val cv3 = VisibleComponent(true) + val ct3 = TypeComponent(EntityType.Matter) + val cellEntity3 = CellEntity(ca3, cc3, cd3, cp3, cs3, cv3, ct3) EntityManager.add(sentientCellEntity) - EntityManager.add(smallerCellEntity) - EntityManager.add(smallerCellEntity2) + EntityManager.add(cellEntity1) + EntityManager.add(cellEntity2) + EntityManager.add(cellEntity3) sentientPrologSystem.update() From 2fbd05514618a52ef58838a9c1af7ec72e9d13a2 Mon Sep 17 00:00:00 2001 From: Placu Date: Fri, 24 Aug 2018 13:09:39 +0200 Subject: [PATCH 56/91] fix compute overlap (overlap greater than tiny radius) --- .../osmos/redux/ecs/systems/CollisionSystem.scala | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala index 3342629a..77a0e7db 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala @@ -32,9 +32,17 @@ case class CollisionSystem() extends AbstractSystem[CollidableProperty] { * @return The overlap amount. */ private def computeOverlap(e1: CollidableProperty, e2: CollidableProperty): Double = { + val tinyRadius = (e1.getDimensionComponent.radius, e2.getDimensionComponent.radius) match { + case (r1, r2) if r1 > r2 => r2 + case (r1, _) => r1 + } val maxDist = MathUtils.euclideanDistance(e1.getPositionComponent.point, e2.getPositionComponent.point) val currDist = e1.getDimensionComponent.radius + e2.getDimensionComponent.radius - if (maxDist < currDist) currDist - maxDist else 0 + currDist - maxDist match { + case overlap if overlap <= 0 => 0 + case overlap if overlap > tinyRadius => tinyRadius + case overlap => overlap + } } /** From 0ed99fe356d814be827ec65e95cd9a0f9c915bf4 Mon Sep 17 00:00:00 2001 From: Andrea Procucci Date: Fri, 24 Aug 2018 14:40:48 +0200 Subject: [PATCH 57/91] Improve boundaries check code --- .../unibo/osmos/redux/mvc/model/Level.scala | 93 ++----------------- 1 file changed, 10 insertions(+), 83 deletions(-) diff --git a/src/main/scala/it/unibo/osmos/redux/mvc/model/Level.scala b/src/main/scala/it/unibo/osmos/redux/mvc/model/Level.scala index 7c149240..89f55c74 100644 --- a/src/main/scala/it/unibo/osmos/redux/mvc/model/Level.scala +++ b/src/main/scala/it/unibo/osmos/redux/mvc/model/Level.scala @@ -2,7 +2,7 @@ package it.unibo.osmos.redux.mvc.model import it.unibo.osmos.redux.ecs.components._ import it.unibo.osmos.redux.ecs.entities.{CellEntity, GravityCellEntity, PlayerCellEntity, SentientCellEntity} import it.unibo.osmos.redux.mvc.model.MapShape.{Circle, Rectangle} -import it.unibo.osmos.redux.utils.Point +import it.unibo.osmos.redux.utils.{MathUtils, Point} /** * List of cell types @@ -82,8 +82,8 @@ case class Level(levelId:Int, victoryRule:VictoryRules.Value, var isSimulation:Boolean = false) { def checkCellPosition():Unit = levelMap.mapShape match { - case rec:Rectangle => rectangularMapCheck(rec) - case circ:Circle => circularMapCheck(circ) + case rectangle:Rectangle => rectangularMapCheck(rectangle) + case circle:Circle => circularMapCheck(circle) } /** @@ -102,8 +102,7 @@ case class Level(levelId:Int, northMiddlePointY = northMiddlePointY + ky val southMiddlePointY = northMiddlePointY + rectangle.height val eastMiddlePointX = westMiddlePointX + rectangle.base - - entities.foreach(ent => { + entities = entities.filterNot(ent => { //calculate cell point val cellCenter = Point(ent.getPositionComponent.point.x + kx, ent.getPositionComponent.point.y + ky) val topY = cellCenter.y - ent.getDimensionComponent.radius @@ -111,86 +110,14 @@ case class Level(levelId:Int, val bottomY = topY + 2*ent.getDimensionComponent.radius val leftX = rightX - 2*ent.getDimensionComponent.radius //check if cell is into map - if(!(leftX >= westMiddlePointX && rightX <= eastMiddlePointX) || - !(topY >= northMiddlePointY && bottomY <= southMiddlePointY)) { - entities = entities.filterNot(entity => entity.equals(ent)) - } - }) - } - - def circularMapCheck(circle:Circle): Unit = { - entities.foreach(entity => { - val d = Math.sqrt(Math.pow(circle.center._1 - entity.getPositionComponent.point.x, 2) + Math.pow(circle.center._2 - entity.getPositionComponent.point.y, 2)) - val k = d+entity.getDimensionComponent.radius - println("--k: ", k) - println("k > c.r: ", k > circle.radius) - if(k > circle.radius) { - entities = entities.filterNot(entity2 => entity2.equals(entity)) - } + !(leftX >= westMiddlePointX && rightX <= eastMiddlePointX) || !(topY >= northMiddlePointY && bottomY <= southMiddlePointY) }) } -} - -object app extends App { - - val level = getLevel - level.checkCellPosition() - println(level.entities.map(ent => ent.getClass.getName)) - - - - - - - - - + def circularMapCheck(circle:Circle): Unit = + entities = entities.map(ent => (ent, MathUtils.euclideanDistance(ent.getPositionComponent.point, + Point(circle.center._1, circle.center._2)) + + ent.getDimensionComponent.radius)) + .filterNot(tup => tup._2 > circle.radius).map(t => t._1) - - - - - - - - - - - def getLevel:Level = { - //Components - val a = AccelerationComponent(1, 1) - val c = CollidableComponent(true) - - - val d = DimensionComponent(1) - - val p = PositionComponent(Point(0, 0)) - val p1 = PositionComponent(Point(-2, -2)) - val p2= PositionComponent(Point(4,1)) - val p3 = PositionComponent(Point(-2.1, 2.1)) - - val s = SpeedComponent(4, 0) - val v = VisibleComponent(true) - val et = TypeComponent(EntityType.Matter) - val sp = SpawnerComponent(true) - val sw = SpecificWeightComponent(1) - //Entities - val ce = CellEntity(a, c, d, p, s, v, et) - val pce = PlayerCellEntity(a, c, d, p1, s, v, et, sp) - val gc = GravityCellEntity(a, c, d, p2, s, v, et, sw) - val sc = SentientCellEntity(a, c, d, p3, s, v) - val listCell:List[CellEntity] = List(ce, pce, gc, sc) - //LevelMap - val rectangle:MapShape = Rectangle((0,0),10,10) - val circle:MapShape = Circle((0,0), 4) - val listShape:List[MapShape] = List(rectangle, circle) - val levelMap:LevelMap = LevelMap(circle, CollisionRules.bouncing) - //Level - val level:Level = Level(levelId = 1, - levelMap, - listCell, - VictoryRules.becomeTheBiggest) - level - } } From cf8a467f531514e17dfc6c9edd75676b11ffbd7e Mon Sep 17 00:00:00 2001 From: Giacomo Date: Fri, 24 Aug 2018 15:12:45 +0200 Subject: [PATCH 58/91] add rule to iterate over all the sentient cells --- .../it/unibo/osmos/redux/utils/PrologRules.scala | 5 +++++ .../scala/it/unibo/osmos/redux/utils/Scala2P.scala | 11 ++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/main/scala/it/unibo/osmos/redux/utils/PrologRules.scala b/src/main/scala/it/unibo/osmos/redux/utils/PrologRules.scala index 9f355332..e86c3525 100644 --- a/src/main/scala/it/unibo/osmos/redux/utils/PrologRules.scala +++ b/src/main/scala/it/unibo/osmos/redux/utils/PrologRules.scala @@ -104,5 +104,10 @@ object PrologRules { % considers the highest score result [[[EP,ES,_,_],_]|K] = RL, followTarget([SP,SS],[EP,ES],[RX,RY]). + + computeBehaviourOfSentientCells([],_,[]) :- !. + computeBehaviourOfSentientCells([H|T],EL,[EA|TEA]) :- + sentientCellBehaviour(H,EL,EA), + computeBehaviourOfSentientCells(T,EL,TEA). """ } diff --git a/src/main/scala/it/unibo/osmos/redux/utils/Scala2P.scala b/src/main/scala/it/unibo/osmos/redux/utils/Scala2P.scala index 8b8e2cf7..6448c981 100644 --- a/src/main/scala/it/unibo/osmos/redux/utils/Scala2P.scala +++ b/src/main/scala/it/unibo/osmos/redux/utils/Scala2P.scala @@ -44,7 +44,7 @@ object Scala2P { } - def sentientEnemiesToTerm(sentientEnemies: ListBuffer[SentientEnemyProperty]): Term = { + implicit def sentientEnemiesToTerm(sentientEnemies: ListBuffer[SentientEnemyProperty]): Term = { var result = "" sentientEnemies foreach(enemy => { result = separate(result, sentientEnemyPropertyToTerm(enemy)) @@ -53,6 +53,15 @@ object Scala2P { wrap(result.substring(1)) } + implicit def sentientCellsToTerm(sentientCells: ListBuffer[SentientProperty]): Term = { + var result = "" + sentientCells foreach(cell => { + result = separate(result, sentientPropertyToTerm(cell)) + }) + // substring removes the first , + wrap(result.substring(1)) + } + def mkPrologEngine(theory: Theory): Term => Stream[SolveInfo] = { val engine = new Prolog engine.setTheory(theory) From 37352efb387878ef38cbcba2a8b731cd5fb9e6fb Mon Sep 17 00:00:00 2001 From: Andrea Procucci Date: Fri, 24 Aug 2018 16:20:34 +0200 Subject: [PATCH 59/91] Add test for check map boundaries --- .../unibo/osmos/redux/mvc/model/Level.scala | 3 +- .../osmos/redux/TestJsonConversion.scala | 6 +- .../osmos/redux/TestMapBoundariesCheck.scala | 83 +++++++++++++++++++ 3 files changed, 87 insertions(+), 5 deletions(-) create mode 100644 src/test/scala/it/unibo/osmos/redux/TestMapBoundariesCheck.scala diff --git a/src/main/scala/it/unibo/osmos/redux/mvc/model/Level.scala b/src/main/scala/it/unibo/osmos/redux/mvc/model/Level.scala index 89f55c74..25fc6445 100644 --- a/src/main/scala/it/unibo/osmos/redux/mvc/model/Level.scala +++ b/src/main/scala/it/unibo/osmos/redux/mvc/model/Level.scala @@ -118,6 +118,7 @@ case class Level(levelId:Int, entities = entities.map(ent => (ent, MathUtils.euclideanDistance(ent.getPositionComponent.point, Point(circle.center._1, circle.center._2)) + ent.getDimensionComponent.radius)) - .filterNot(tup => tup._2 > circle.radius).map(t => t._1) + .filterNot(tup => tup._2 > circle.radius) + .map(t => t._1) } diff --git a/src/test/scala/it/unibo/osmos/redux/TestJsonConversion.scala b/src/test/scala/it/unibo/osmos/redux/TestJsonConversion.scala index 5dec1c94..6f3f2404 100644 --- a/src/test/scala/it/unibo/osmos/redux/TestJsonConversion.scala +++ b/src/test/scala/it/unibo/osmos/redux/TestJsonConversion.scala @@ -1,14 +1,12 @@ package it.unibo.osmos.redux -import java.io.File -import java.nio.file.{Files, Path} +import java.nio.file.Files import it.unibo.osmos.redux.ecs.components._ import it.unibo.osmos.redux.ecs.entities._ import it.unibo.osmos.redux.mvc.controller.FileManager -import it.unibo.osmos.redux.mvc.controller.FileManager.{defaultFS, levelsDirectory} -import it.unibo.osmos.redux.mvc.model._ import it.unibo.osmos.redux.mvc.model.MapShape._ +import it.unibo.osmos.redux.mvc.model._ import it.unibo.osmos.redux.utils.Point import org.scalatest.FunSuite diff --git a/src/test/scala/it/unibo/osmos/redux/TestMapBoundariesCheck.scala b/src/test/scala/it/unibo/osmos/redux/TestMapBoundariesCheck.scala new file mode 100644 index 00000000..8e37044c --- /dev/null +++ b/src/test/scala/it/unibo/osmos/redux/TestMapBoundariesCheck.scala @@ -0,0 +1,83 @@ +package it.unibo.osmos.redux + +import it.unibo.osmos.redux.ecs.components._ +import it.unibo.osmos.redux.ecs.entities._ +import it.unibo.osmos.redux.mvc.model._ +import it.unibo.osmos.redux.mvc.model.MapShape.{Circle, Rectangle} +import it.unibo.osmos.redux.utils.Point +import org.scalatest.FunSuite + +class TestMapBoundariesCheck extends FunSuite{ + val a = AccelerationComponent(1, 1) + val c = CollidableComponent(true) + val d = DimensionComponent(2) + val s = SpeedComponent(4, 0) + val v = VisibleComponent(true) + val et = TypeComponent(EntityType.Matter) + val sp = SpawnerComponent(true) + val sw = SpecificWeightComponent(1) + + test("Rectangular map boundaries") { + val p = PositionComponent(Point(-3, -3)) + val p1 = PositionComponent(Point(3, -3)) + val p2= PositionComponent(Point(-3,3)) + val p3 = PositionComponent(Point(3, 3)) + + //Entities + val ce = CellEntity(a, c, d, p, s, v, et) + val pce = PlayerCellEntity(a, c, d, p1, s, v, et, sp) + val gc = GravityCellEntity(a, c, d, p2, s, v, et, sw) + val sc = SentientCellEntity(a, c, d, p3, s, v) + val listCells = List(ce, pce, gc, sc) + //LevelMap + val rectangle:MapShape = Rectangle((0,0),10,10) + val levelMap:LevelMap = LevelMap(rectangle, CollisionRules.bouncing) + //Level + var level:Level = Level(levelId = 1, + levelMap, + listCells, + VictoryRules.becomeTheBiggest) + level.checkCellPosition() + assert(listCells.size.equals(level.entities.size)) + + ce.getPositionComponent.point_(Point(-4, -4)) + pce.getPositionComponent.point_(Point(5, -5)) + gc.getPositionComponent.point_(Point(0,12)) + sc.getPositionComponent.point_(Point(12, 0)) + level = Level(levelId = 1, levelMap, List(ce,pce,gc,sc), VictoryRules.becomeTheBiggest) + level.checkCellPosition() + assert(level.entities.isEmpty) + } + + test("Circular map boundaries") { + val p = PositionComponent(Point(-3, -3)) + val p1 = PositionComponent(Point(3, -3)) + val p2= PositionComponent(Point(-3,3)) + val p3 = PositionComponent(Point(3, 3)) + + //Entities + val ce = CellEntity(a, c, d, p, s, v, et) + val pce = PlayerCellEntity(a, c, d, p1, s, v, et, sp) + val gc = GravityCellEntity(a, c, d, p2, s, v, et, sw) + val sc = SentientCellEntity(a, c, d, p3, s, v) + val listCells = List(ce, pce, gc, sc) + //LevelMap + val circle:MapShape = Circle((0,0), 5) + val levelMap:LevelMap = LevelMap(circle, CollisionRules.bouncing) + //Level + var level:Level = Level(levelId = 1, + levelMap, + listCells, + VictoryRules.becomeTheBiggest) + level.checkCellPosition() + assert(level.entities.isEmpty) + + ce.getPositionComponent.point_(Point(-2, 2)) + pce.getPositionComponent.point_(Point(2, 2)) + gc.getPositionComponent.point_(Point(2,-2)) + sc.getPositionComponent.point_(Point(-2, -2)) + level = Level(levelId = 1, levelMap, List(ce,pce,gc,sc), VictoryRules.becomeTheBiggest) + level.checkCellPosition() + assert(level.entities.size.equals(listCells.size)) + } +} From 28d9c80d6f05c9190ea18b12e8f4a98ec73bf67e Mon Sep 17 00:00:00 2001 From: Giacomo Date: Fri, 24 Aug 2018 16:23:21 +0200 Subject: [PATCH 60/91] add empty list case management --- .../ecs/systems/SentientPrologSystem.scala | 37 +++++++++----- .../it/unibo/osmos/redux/utils/Scala2P.scala | 48 +++++++++++-------- .../redux/TestSentientPrologSystem.scala | 9 ++++ 3 files changed, 62 insertions(+), 32 deletions(-) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientPrologSystem.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientPrologSystem.scala index d9a8cd1e..440c1d80 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientPrologSystem.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/SentientPrologSystem.scala @@ -2,9 +2,8 @@ package it.unibo.osmos.redux.ecs.systems import alice.tuprolog._ import it.unibo.osmos.redux.ecs.entities.{SentientEnemyProperty, SentientProperty} -import it.unibo.osmos.redux.utils.PrologRules -import it.unibo.osmos.redux.utils.Scala2P._ -import it.unibo.osmos.redux.utils.Vector +import it.unibo.osmos.redux.utils.Scala2P.{separate, _} +import it.unibo.osmos.redux.utils.{PrologRules, Vector} case class SentientPrologSystem() extends AbstractSystemWithTwoTypeOfEntity[SentientProperty, SentientEnemyProperty]() { @@ -15,19 +14,33 @@ case class SentientPrologSystem() extends AbstractSystemWithTwoTypeOfEntity[Sent override protected def getGroupPropertySecondType: Class[SentientEnemyProperty] = classOf[SentientEnemyProperty] override def update(): Unit = { - entities foreach (sentientEntity => { - val input = new Struct("sentientCellBehaviour", sentientEntity, sentientEnemiesToTerm(entitiesSecondType), "[RX,RY]") - prologEngine(input) headOption match { - case Some(value) => - val sentientCellAccelerationX = value.getTerm("RX").toString.toDouble - val sentientCellAccelerationY = value.getTerm("RY").toString.toDouble + var i = 0 + var result = "" + if (entities.nonEmpty) { + entities foreach (_ => { + result += "," + wrap(separate("AX" + i, "AY" + i)) + i += 1 + }) + result = wrap(result.substring(1)) + } else { + result = "A" + } + + val input = new Struct("computeBehaviourOfSentientCells", entities, entitiesSecondType, result) + prologEngine(input) headOption match { + case Some(value) => + i = 0 + entities foreach (sentientEntity => { + val sentientCellAccelerationX = value.getTerm("AX" + i).toString.toDouble + val sentientCellAccelerationY = value.getTerm("AY" + i).toString.toDouble // println(sentientCellAccelerationX + " " + sentientCellAccelerationY) val computedAcceleration = Vector(sentientCellAccelerationX, sentientCellAccelerationY) val acceleration = sentientEntity.getAccelerationComponent acceleration.vector_(acceleration.vector add computedAcceleration) - case _ => - } - }) + i += 1 + }) + case _ => + } } } diff --git a/src/main/scala/it/unibo/osmos/redux/utils/Scala2P.scala b/src/main/scala/it/unibo/osmos/redux/utils/Scala2P.scala index 6448c981..4f3ec200 100644 --- a/src/main/scala/it/unibo/osmos/redux/utils/Scala2P.scala +++ b/src/main/scala/it/unibo/osmos/redux/utils/Scala2P.scala @@ -29,9 +29,23 @@ object Scala2P { val positionToTerm = wrap(separate(position.x, position.y)) val speedToTerm = wrap(separate(speed.x, speed.y)) val radiusToTerm = s.getDimensionComponent.radius + val typeToTerm = "'" + s.getTypeComponent.typeEntity + "'" - //s.getAccelerationComponent - wrap(separate(separate(positionToTerm, speedToTerm),separate(radiusToTerm, typeToTerm))) + + wrap(separate(separate(positionToTerm, speedToTerm), separate(radiusToTerm, typeToTerm))) + } + + implicit def sentientEnemyPropertyListToTerm(sentientEnemies: ListBuffer[SentientEnemyProperty]): Term = { + if (sentientEnemies.isEmpty) { + wrap("[]") + } else { + var result = "" + sentientEnemies foreach (enemy => { + result = separate(result, sentientEnemyPropertyToTerm(enemy)) + }) + // substring removes the first , + wrap(result.substring(1)) + } } implicit def sentientPropertyToTerm(s: SentientProperty): Term = { @@ -40,26 +54,20 @@ object Scala2P { val positionToTerm = wrap(separate(position.x, position.y)) val speedToTerm = wrap(separate(speed.x, speed.y)) val radiusToTerm = s.getDimensionComponent.radius - wrap(separate(separate(positionToTerm, speedToTerm),radiusToTerm)) - } - - - implicit def sentientEnemiesToTerm(sentientEnemies: ListBuffer[SentientEnemyProperty]): Term = { - var result = "" - sentientEnemies foreach(enemy => { - result = separate(result, sentientEnemyPropertyToTerm(enemy)) - }) - // substring removes the first , - wrap(result.substring(1)) + wrap(separate(separate(positionToTerm, speedToTerm), radiusToTerm)) } - implicit def sentientCellsToTerm(sentientCells: ListBuffer[SentientProperty]): Term = { - var result = "" - sentientCells foreach(cell => { - result = separate(result, sentientPropertyToTerm(cell)) - }) - // substring removes the first , - wrap(result.substring(1)) + implicit def sentientPropertyListToTerm(sentientEnemies: ListBuffer[SentientProperty]): Term = { + if (sentientEnemies.isEmpty) { + wrap("[]") + } else { + var result = "" + sentientEnemies foreach (enemy => { + result = separate(result, sentientPropertyToTerm(enemy)) + }) + // substring removes the first , + wrap(result.substring(1)) + } } def mkPrologEngine(theory: Theory): Term => Stream[SolveInfo] = { diff --git a/src/test/scala/it/unibo/osmos/redux/TestSentientPrologSystem.scala b/src/test/scala/it/unibo/osmos/redux/TestSentientPrologSystem.scala index 441bfb7f..f34db017 100644 --- a/src/test/scala/it/unibo/osmos/redux/TestSentientPrologSystem.scala +++ b/src/test/scala/it/unibo/osmos/redux/TestSentientPrologSystem.scala @@ -24,6 +24,14 @@ class TestSentientPrologSystem extends FunSuite with BeforeAndAfter { val scv = VisibleComponent(true) val sentientCellEntity = SentientCellEntity(sca, scc, scd, scp, scs, scv) + val sca2 = AccelerationComponent(0, 0) + val scc2 = CollidableComponent(true) + val scd2 = DimensionComponent(8) + val scp2 = PositionComponent(Point(101, 87)) + val scs2 = SpeedComponent(0, 0) + val scv2 = VisibleComponent(true) + val sentientCellEntity2 = SentientCellEntity(sca2, scc2, scd2, scp2, scs2, scv2) + val ca1 = AccelerationComponent(1, 1) val cc1 = CollidableComponent(true) val cd1 = DimensionComponent(4) @@ -52,6 +60,7 @@ class TestSentientPrologSystem extends FunSuite with BeforeAndAfter { val cellEntity3 = CellEntity(ca3, cc3, cd3, cp3, cs3, cv3, ct3) EntityManager.add(sentientCellEntity) + EntityManager.add(sentientCellEntity2) EntityManager.add(cellEntity1) EntityManager.add(cellEntity2) EntityManager.add(cellEntity3) From 3ba633153dd990de049384b7f3a4571c94b71329 Mon Sep 17 00:00:00 2001 From: Placu Date: Fri, 24 Aug 2018 16:36:23 +0200 Subject: [PATCH 61/91] update level config --- src/main/resources/levels/5.json | 38 +++++++++++++++++++++++++++++--- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/src/main/resources/levels/5.json b/src/main/resources/levels/5.json index 71e08057..7629cfa7 100644 --- a/src/main/resources/levels/5.json +++ b/src/main/resources/levels/5.json @@ -26,6 +26,38 @@ "speedY": 0 } }, + { + "acceleration": { + "accelerationX": 0.0, + "accelerationY": 0.0 + }, + "visible": { + "visible": true + }, + "collidable": { + "collidable": true + }, + "spawner": { + "canSpawn": true + }, + "typeEntity": { + "componentType": "Matter" + }, + "position": { + "point": { + "x": 400.0, + "y": 200.0 + } + }, + "cellType": "basicCell", + "dimension": { + "radius": 10.0 + }, + "speed": { + "speedX": -0.5, + "speedY": 0.0 + } + }, { "acceleration": { "accelerationX": 0.0, @@ -51,10 +83,10 @@ }, "cellType": "basicCell", "dimension": { - "radius": 25.0 + "radius": 19.0 }, "speed": { - "speedX": -1.0, + "speedX": -2.0, "speedY": 0.0 } }, @@ -77,7 +109,7 @@ }, "position": { "point": { - "x": 130.0, + "x": 140.0, "y": 200.0 } }, From 0712410abc6b8e22ead5e26a43dcba56f9b97730 Mon Sep 17 00:00:00 2001 From: Giacomo Date: Fri, 24 Aug 2018 18:22:41 +0200 Subject: [PATCH 62/91] remove code smell --- .../redux/ecs/systems/AbstractBorder.scala | 93 +++++++++---------- .../redux/ecs/systems/MovementSystem.scala | 8 +- 2 files changed, 50 insertions(+), 51 deletions(-) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/AbstractBorder.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/AbstractBorder.scala index 545eae5d..831e7a47 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/AbstractBorder.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/AbstractBorder.scala @@ -1,6 +1,7 @@ package it.unibo.osmos.redux.ecs.systems -import it.unibo.osmos.redux.ecs.entities.{MovableProperty, Property} +import it.unibo.osmos.redux.ecs.components.DimensionComponent +import it.unibo.osmos.redux.ecs.entities.MovableProperty import it.unibo.osmos.redux.mvc.model.CollisionRules import it.unibo.osmos.redux.utils.{MathUtils, Point, Vector} @@ -9,7 +10,7 @@ import it.unibo.osmos.redux.utils.{MathUtils, Point, Vector} * @param levelCenter center of the level * @tparam */ -abstract class AbstractBorder[A <: Property](levelCenter: Point) { +abstract class AbstractBorder(levelCenter: Point, collisionRule: CollisionRules.Value) { private val cellElasticity: Double = 1.0 private val borderElasticity: Double = 1.0 @@ -21,70 +22,68 @@ abstract class AbstractBorder[A <: Property](levelCenter: Point) { * @param entity * @param collisionRule */ - def checkCollision(entity: A, collisionRule: CollisionRules.Value): Unit + def checkCollision(entity: MovableProperty): Unit } /** Implementation of a playing field with rectangular shape */ -case class RectangularBorder(levelCenter: Point, base: Double, height: Double) extends AbstractBorder[MovableProperty](levelCenter) { +case class RectangularBorder(levelCenter: Point, collisionRule: CollisionRules.Value, base: Double, height: Double) extends AbstractBorder(levelCenter, collisionRule) { - override def checkCollision(entity: MovableProperty, collisionRule: CollisionRules.Value): Unit = { + override def checkCollision(entity: MovableProperty): Unit = { val dimensionComponent = entity.getDimensionComponent val entityRadius = dimensionComponent.radius val speedComponent = entity.getSpeedComponent - val minHorizontalPoint = levelCenter.x - base / 2 + entityRadius - val minVerticalPoint = levelCenter.y - height / 2 + entityRadius - val maxHorizontalPoint = levelCenter.x + base / 2 - entityRadius - val maxVerticalPoint = levelCenter.y + height / 2 - entityRadius + val minHorizontalPoint = getLowerBoundary(entityRadius, levelCenter.x, base) + val maxHorizontalPoint = getUpperBoundary(entityRadius, levelCenter.x, base) + val minVerticalPoint = getLowerBoundary(entityRadius, levelCenter.y, height) + val maxVerticalPoint = getUpperBoundary(entityRadius, levelCenter.y, height) val positionComponent = entity.getPositionComponent + val position = positionComponent.point collisionRule match { case CollisionRules.bouncing => - positionComponent.point match { - case p if p.x < minHorizontalPoint => - speedComponent.vector.x_(-speedComponent.vector.x) - val newXPosition = minHorizontalPoint - (p.x - minHorizontalPoint) - positionComponent.point_(Point(newXPosition, p.y)) - case p if p.x > maxHorizontalPoint => - speedComponent.vector.x_(-speedComponent.vector.x) - val newXPosition = maxHorizontalPoint - (p.x - maxHorizontalPoint) - positionComponent.point_(Point(newXPosition, p.y)) - case _ => // no border collision, do nothing - } - positionComponent.point match { - case p if p.y < minVerticalPoint => - speedComponent.vector.y_(-speedComponent.vector.y) - val newYPosition = minVerticalPoint - (p.y - minVerticalPoint) - positionComponent.point_(Point(p.x, newYPosition)) - case p if p.y > maxVerticalPoint => - speedComponent.vector.y_(-speedComponent.vector.y) - val newYPosition = maxVerticalPoint - (p.y - maxVerticalPoint) - positionComponent.point_(Point(p.x, newYPosition)) - case _ => // no border collision, do nothing - } + val speedVector = speedComponent.vector + val rx = computeNewSpeedAndPosition(speedVector.x, position.x, minHorizontalPoint, maxHorizontalPoint) + val ry = computeNewSpeedAndPosition(speedVector.y, position.y, minVerticalPoint, maxVerticalPoint) + speedComponent.vector_(Vector(rx._1, ry._1)) + positionComponent.point_(Point(rx._2, ry._2)) case CollisionRules.instantDeath => - positionComponent.point match { - case p if p.x < minHorizontalPoint => - dimensionComponent.radius_(entityRadius - (minHorizontalPoint - p.x)) - case p if p.x > maxHorizontalPoint => - dimensionComponent.radius_(entityRadius - (p.x - maxHorizontalPoint)) - case _ => // no border collision, do nothing - } - positionComponent.point match { - case p if p.y < minVerticalPoint => - dimensionComponent.radius_(entityRadius - (minVerticalPoint - p.y)) - case p if p.y > maxVerticalPoint => - dimensionComponent.radius_(entityRadius - (p.y - maxVerticalPoint)) - case _ => // no border collision, do nothing - } + computeNewRadius(dimensionComponent, position.x, minHorizontalPoint, maxHorizontalPoint) + computeNewRadius(dimensionComponent, position.y, minVerticalPoint, maxVerticalPoint) case _ => throw new IllegalArgumentException } } + + private def getLowerBoundary(radius: Double, centerCoordinate: Double, borderLength: Double): Double = { + centerCoordinate - borderLength / 2 + radius + } + + private def getUpperBoundary(radius: Double, centerCoordinate: Double, borderLength: Double): Double = { + centerCoordinate + borderLength / 2 - radius + } + + private def computeNewSpeedAndPosition(speed: Double, position: Double, minReachablePosition: Double, maxReachablePosition: Double): (Double, Double) = { + position match { + case p if p < minReachablePosition => (-speed, minReachablePosition - (p - minReachablePosition)) + case p if p > maxReachablePosition => (-speed, maxReachablePosition - (p - maxReachablePosition)) + case _ => (speed, position) + } + } + + private def computeNewRadius(dimensionComponent: DimensionComponent, position: Double, minReachablePosition: Double, maxReachablePosition: Double): Unit = { + val entityRadius = dimensionComponent.radius + position match { + case p if p < minReachablePosition => dimensionComponent.radius_(entityRadius - (minReachablePosition - p)) + case p if p > maxReachablePosition => dimensionComponent.radius_(entityRadius - (p - maxReachablePosition)) + case _ => // no border collision, do nothing + } + } + } /** Implementation of a playing field with circular shape */ -case class CircularBorder(levelCenter: Point, levelRadius: Double) extends AbstractBorder[MovableProperty](levelCenter) { +case class CircularBorder(levelCenter: Point, collisionRule: CollisionRules.Value, levelRadius: Double) extends AbstractBorder(levelCenter, collisionRule) { - override def checkCollision(entity: MovableProperty, collisionRule: CollisionRules.Value): Unit = { + override def checkCollision(entity: MovableProperty): Unit = { val positionComponent = entity.getPositionComponent val currentPosition = positionComponent.point val dimensionComponent = entity.getDimensionComponent diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/MovementSystem.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/MovementSystem.scala index 94b06cce..b45c4abd 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/MovementSystem.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/MovementSystem.scala @@ -7,12 +7,12 @@ import it.unibo.osmos.redux.utils.Point case class MovementSystem(levelInfo: Level) extends AbstractSystem[MovableProperty] { + private val collisionRule = levelInfo.levelMap.collisionRule private val bounceRule = levelInfo.levelMap.mapShape match { - case shape: Rectangle => RectangularBorder(Point(shape.center._1, shape.center._2), shape.base, shape.height) - case shape: Circle => CircularBorder(Point(shape.center._1, shape.center._2), shape.radius) + case shape: Rectangle => RectangularBorder(Point(shape.center._1, shape.center._2), collisionRule, shape.base, shape.height) + case shape: Circle => CircularBorder(Point(shape.center._1, shape.center._2), collisionRule, shape.radius) case _ => throw new IllegalArgumentException } - private val collisionRule = levelInfo.levelMap.collisionRule override def getGroupProperty: Class[MovableProperty] = classOf[MovableProperty] @@ -20,7 +20,7 @@ case class MovementSystem(levelInfo: Level) extends AbstractSystem[MovableProper entities foreach (entity => { updateEntitySpeed(entity) updateEntityPosition(entity) - bounceRule.checkCollision(entity, collisionRule) + bounceRule.checkCollision(entity) }) } From 61431ef91e14c9bd09b47802de01c93731af0d18 Mon Sep 17 00:00:00 2001 From: Placu Date: Fri, 24 Aug 2018 18:32:20 +0200 Subject: [PATCH 63/91] remove useless field --- .../unibo/osmos/redux/ecs/systems/CollisionSystem.scala | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala index 77a0e7db..ab8099f6 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala @@ -6,8 +6,6 @@ import it.unibo.osmos.redux.utils.MathUtils case class CollisionSystem() extends AbstractSystem[CollidableProperty] { - //the percentage of mass that an entity can acquire from another during a collision in a tick - private val massExchangeRate = 0.02 //constants that controls how much deceleration is applied to an entity when colliding with another one private val decelerationAmount = 0.1 //constant that define the initial acceleration of a steady entity when a collision occurs @@ -73,18 +71,16 @@ case class CollisionSystem() extends AbstractSystem[CollidableProperty] { val tinyRadius = smallEntity.getDimensionComponent.radius (bigEntity.getTypeComponent.typeEntity, smallEntity.getTypeComponent.typeEntity) match { - case (EntityType.AntiMatter, _) | (_, EntityType.AntiMatter) => { + case (EntityType.AntiMatter, _) | (_, EntityType.AntiMatter) => bigEntity.getDimensionComponent.radius_(bigRadius - (overlap/2)) smallEntity.getDimensionComponent.radius_(tinyRadius - (overlap/2)) - } - case _ => { + case _ => smallEntity.getDimensionComponent.radius_(tinyRadius - overlap) bigEntity.getDimensionComponent.radius_(bigRadius + overlap) //move the big entity val bigEntityPosition = bigEntity.getPositionComponent val unitVector = MathUtils.unitVector(bigEntityPosition.point, smallEntity.getPositionComponent.point) bigEntityPosition.point_(bigEntityPosition.point add (unitVector multiply overlap)) - } } } From 194a1bb54c5e8343e4453525021a017cf657b582 Mon Sep 17 00:00:00 2001 From: Placu Date: Fri, 24 Aug 2018 20:03:52 +0200 Subject: [PATCH 64/91] after collision change center of small entity too --- .../unibo/osmos/redux/ecs/systems/CollisionSystem.scala | 8 ++++++-- .../scala/it/unibo/osmos/redux/TestCollisionSystem.scala | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala index ab8099f6..6196d1b4 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala @@ -79,8 +79,12 @@ case class CollisionSystem() extends AbstractSystem[CollidableProperty] { bigEntity.getDimensionComponent.radius_(bigRadius + overlap) //move the big entity val bigEntityPosition = bigEntity.getPositionComponent - val unitVector = MathUtils.unitVector(bigEntityPosition.point, smallEntity.getPositionComponent.point) - bigEntityPosition.point_(bigEntityPosition.point add (unitVector multiply overlap)) + val bigUnitVector = MathUtils.unitVector(bigEntityPosition.point, smallEntity.getPositionComponent.point) + bigEntityPosition.point_(bigEntityPosition.point add (bigUnitVector multiply (overlap/2))) + //move the small entity + val smallEntityPosition = smallEntity.getPositionComponent + val smallUnitVector = MathUtils.unitVector(smallEntityPosition.point, bigEntity.getPositionComponent.point) + smallEntityPosition.point_(smallEntityPosition.point add (smallUnitVector multiply (overlap/2))) } } diff --git a/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala b/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala index 8bae7024..10504be5 100644 --- a/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala +++ b/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala @@ -89,9 +89,9 @@ class TestCollisionSystem extends FunSuite { system.update() assert(entity1.getDimensionComponent.radius == 6) - assert(entity1.getPositionComponent.point == Point(59,80)) + assert(entity1.getPositionComponent.point == Point(59.5,80)) assert(entity2.getDimensionComponent.radius == 1) - assert(entity2.getPositionComponent.point == Point(66,80)) + assert(entity2.getPositionComponent.point == Point(66.5,80)) } test("Collision with AntiMatter entity should reduce both dimension's entity") { From 2d96ef24e8fd63b2e94b658c1b798113cb6a1e44 Mon Sep 17 00:00:00 2001 From: Placu Date: Fri, 24 Aug 2018 20:04:21 +0200 Subject: [PATCH 65/91] update level config --- src/main/resources/levels/1.json | 8 ++-- src/main/resources/levels/5.json | 76 +++++++++++++++++++++++++++++--- 2 files changed, 74 insertions(+), 10 deletions(-) diff --git a/src/main/resources/levels/1.json b/src/main/resources/levels/1.json index eb661513..659360ba 100644 --- a/src/main/resources/levels/1.json +++ b/src/main/resources/levels/1.json @@ -25,7 +25,7 @@ }, "cellType": "playerCell", "dimension": { - "radius": 30.0 + "radius": 20.0 }, "speed": { "speedX": 0.0, @@ -54,7 +54,7 @@ }, "cellType": "basicCell", "dimension": { - "radius": 37.0 + "radius": 30.0 }, "speed": { "speedX": 0.1, @@ -83,7 +83,7 @@ }, "cellType": "basicCell", "dimension": { - "radius": 28.0 + "radius": 15.0 }, "speed": { "speedX": 0.3, @@ -141,7 +141,7 @@ }, "cellType": "basicCell", "dimension": { - "radius": 31.0 + "radius": 40.0 }, "speed": { "speedX": 0.0, diff --git a/src/main/resources/levels/5.json b/src/main/resources/levels/5.json index 7629cfa7..119695b4 100644 --- a/src/main/resources/levels/5.json +++ b/src/main/resources/levels/5.json @@ -13,13 +13,13 @@ }, "position": { "point": { - "x": 400.0, - "y": 700.0 + "x": 700.0, + "y": 300.0 } }, "cellType": "sentientCell", "dimension": { - "radius": 10.0 + "radius": 20.0 }, "speed": { "speedX": 0, @@ -86,7 +86,7 @@ "radius": 19.0 }, "speed": { - "speedX": -2.0, + "speedX": -1.0, "speedY": 0.0 } }, @@ -109,7 +109,7 @@ }, "position": { "point": { - "x": 140.0, + "x": 120.0, "y": 200.0 } }, @@ -154,6 +154,70 @@ "speedY": 0.0 } }, + { + "acceleration": { + "accelerationX": 0.0, + "accelerationY": 0.0 + }, + "visible": { + "visible": true + }, + "collidable": { + "collidable": true + }, + "spawner": { + "canSpawn": true + }, + "typeEntity": { + "componentType": "Matter" + }, + "position": { + "point": { + "x": 500.0, + "y": 660.0 + } + }, + "cellType": "basicCell", + "dimension": { + "radius": 20.0 + }, + "speed": { + "speedX": 0.0, + "speedY": 0.0 + } + }, + { + "acceleration": { + "accelerationX": 0.0, + "accelerationY": 0.0 + }, + "visible": { + "visible": true + }, + "collidable": { + "collidable": true + }, + "spawner": { + "canSpawn": true + }, + "typeEntity": { + "componentType": "Matter" + }, + "position": { + "point": { + "x": 500.0, + "y": 740.0 + } + }, + "cellType": "basicCell", + "dimension": { + "radius": 20.0 + }, + "speed": { + "speedX": 0.0, + "speedY": 0.0 + } + }, { "acceleration": { "accelerationX": 0.0, @@ -182,7 +246,7 @@ "radius": 30.0 }, "speed": { - "speedX": 0.0, + "speedX": 0.5, "speedY": 0.0 } }], From 4888a0f9e502681b447d0cec20afd0f8c2c4f60d Mon Sep 17 00:00:00 2001 From: Giacomo Date: Fri, 24 Aug 2018 21:42:53 +0200 Subject: [PATCH 66/91] remove unused SentientTargetProperty --- .../unibo/osmos/redux/ecs/entities/PlayerCellEntity.scala | 2 +- .../osmos/redux/ecs/entities/SentientTargetProperty.scala | 6 ------ 2 files changed, 1 insertion(+), 7 deletions(-) delete mode 100644 src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientTargetProperty.scala diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/PlayerCellEntity.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/PlayerCellEntity.scala index d732bd56..90783fd0 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/entities/PlayerCellEntity.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/PlayerCellEntity.scala @@ -5,7 +5,7 @@ import java.util.UUID import it.unibo.osmos.redux.ecs.components._ /** Trait representing a CellEntity controllable by the player */ -trait PlayerCellEntity extends CellEntity with InputProperty with Spawner with SentientTargetProperty {} +trait PlayerCellEntity extends CellEntity with InputProperty with Spawner {} object PlayerCellEntity { def apply(acceleration: AccelerationComponent, diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientTargetProperty.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientTargetProperty.scala deleted file mode 100644 index a274af33..00000000 --- a/src/main/scala/it/unibo/osmos/redux/ecs/entities/SentientTargetProperty.scala +++ /dev/null @@ -1,6 +0,0 @@ -package it.unibo.osmos.redux.ecs.entities - -/** Trait representing the properties needed by an entity - * to be the target of the sentient cells - */ -trait SentientTargetProperty extends Position with Speed with Dimension {} From a29adaf6d6508dd3448c80d496dc3121eba88554 Mon Sep 17 00:00:00 2001 From: Placu Date: Fri, 24 Aug 2018 22:01:40 +0200 Subject: [PATCH 67/91] exchange only a percentage of overlap --- .../osmos/redux/ecs/systems/CollisionSystem.scala | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala index 6196d1b4..2951f6f1 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala @@ -6,6 +6,8 @@ import it.unibo.osmos.redux.utils.MathUtils case class CollisionSystem() extends AbstractSystem[CollidableProperty] { + //the percentage of mass that an entity can acquire from another during a collision in a tick + private val massExchangeRate = 0.1 //constants that controls how much deceleration is applied to an entity when colliding with another one private val decelerationAmount = 0.1 //constant that define the initial acceleration of a steady entity when a collision occurs @@ -75,16 +77,15 @@ case class CollisionSystem() extends AbstractSystem[CollidableProperty] { bigEntity.getDimensionComponent.radius_(bigRadius - (overlap/2)) smallEntity.getDimensionComponent.radius_(tinyRadius - (overlap/2)) case _ => - smallEntity.getDimensionComponent.radius_(tinyRadius - overlap) - bigEntity.getDimensionComponent.radius_(bigRadius + overlap) + smallEntity.getDimensionComponent.radius_(tinyRadius - overlap*massExchangeRate) + bigEntity.getDimensionComponent.radius_(bigRadius + overlap*massExchangeRate) //move the big entity val bigEntityPosition = bigEntity.getPositionComponent - val bigUnitVector = MathUtils.unitVector(bigEntityPosition.point, smallEntity.getPositionComponent.point) - bigEntityPosition.point_(bigEntityPosition.point add (bigUnitVector multiply (overlap/2))) + val unitVector = MathUtils.unitVector(bigEntityPosition.point, smallEntity.getPositionComponent.point) + bigEntityPosition.point_(bigEntityPosition.point add (unitVector multiply (overlap/2))) //move the small entity val smallEntityPosition = smallEntity.getPositionComponent - val smallUnitVector = MathUtils.unitVector(smallEntityPosition.point, bigEntity.getPositionComponent.point) - smallEntityPosition.point_(smallEntityPosition.point add (smallUnitVector multiply (overlap/2))) + smallEntityPosition.point_(smallEntityPosition.point add (unitVector multiply (-overlap/2))) } } From 9d50663316fb259897d24ccd412853ab0a6ba57c Mon Sep 17 00:00:00 2001 From: Placu Date: Fri, 24 Aug 2018 22:01:56 +0200 Subject: [PATCH 68/91] update level config --- src/main/resources/levels/5.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/resources/levels/5.json b/src/main/resources/levels/5.json index 119695b4..82fd5ce1 100644 --- a/src/main/resources/levels/5.json +++ b/src/main/resources/levels/5.json @@ -86,7 +86,7 @@ "radius": 19.0 }, "speed": { - "speedX": -1.0, + "speedX": -3.0, "speedY": 0.0 } }, @@ -246,7 +246,7 @@ "radius": 30.0 }, "speed": { - "speedX": 0.5, + "speedX": 1.5, "speedY": 0.0 } }], From 8ccb55f67398ba5a47c50ce499e4964476fb34dd Mon Sep 17 00:00:00 2001 From: Placu Date: Fri, 24 Aug 2018 22:02:44 +0200 Subject: [PATCH 69/91] update test with last modify --- src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala b/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala index 10504be5..0f0255aa 100644 --- a/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala +++ b/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala @@ -88,9 +88,9 @@ class TestCollisionSystem extends FunSuite { system.update() - assert(entity1.getDimensionComponent.radius == 6) + assert(entity1.getDimensionComponent.radius == 5.1) assert(entity1.getPositionComponent.point == Point(59.5,80)) - assert(entity2.getDimensionComponent.radius == 1) + assert(entity2.getDimensionComponent.radius == 1.9) assert(entity2.getPositionComponent.point == Point(66.5,80)) } From 1816ad92841ff0e29294793f7920d646cdc35191 Mon Sep 17 00:00:00 2001 From: Giacomo Date: Fri, 24 Aug 2018 22:43:15 +0200 Subject: [PATCH 70/91] add type to manage antimatter cells --- .../scala/it/unibo/osmos/redux/ecs/entities/DeathProperty.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/entities/DeathProperty.scala b/src/main/scala/it/unibo/osmos/redux/ecs/entities/DeathProperty.scala index 53778f69..d22d1131 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/entities/DeathProperty.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/entities/DeathProperty.scala @@ -1,4 +1,4 @@ package it.unibo.osmos.redux.ecs.entities /** Trait representing the properties needed by an entity to be no longer alive */ -trait DeathProperty extends Dimension {} +trait DeathProperty extends Dimension with Type {} From 3d51d0b90de91421952035cb227f8b43a1f6bfbe Mon Sep 17 00:00:00 2001 From: Giacomo Date: Fri, 24 Aug 2018 22:43:47 +0200 Subject: [PATCH 71/91] add antimatter cells for victory condition consideration --- .../systems/AbstractVictoryCondition.scala | 23 +++++++------------ .../redux/ecs/systems/EndGameSystem.scala | 19 ++++++++------- 2 files changed, 19 insertions(+), 23 deletions(-) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/AbstractVictoryCondition.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/AbstractVictoryCondition.scala index 43df79e1..dd5e585f 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/AbstractVictoryCondition.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/AbstractVictoryCondition.scala @@ -1,5 +1,6 @@ package it.unibo.osmos.redux.ecs.systems +import it.unibo.osmos.redux.ecs.components.EntityType import it.unibo.osmos.redux.ecs.entities.{DeathProperty, Property} import scala.collection.mutable.ListBuffer @@ -24,7 +25,8 @@ case class BecomeTheBiggestVictoryCondition() extends AbstractVictoryCondition[D override def check(playerCellEntity: DeathProperty, entityList: ListBuffer[DeathProperty]): Boolean = { val playerRadius = playerCellEntity.getDimensionComponent.radius - entityList filter (entity => !entity.eq(playerCellEntity)) forall (entity => entity.getDimensionComponent.radius < playerRadius) + entityList.filter(e => !e.getTypeComponent.typeEntity.equals(EntityType.AntiMatter) && !e.eq(playerCellEntity)) + .forall(e => e.getDimensionComponent.radius < playerRadius) } } @@ -37,25 +39,16 @@ case class BecomeHugeVictoryCondition() extends AbstractVictoryCondition[DeathPr override def check(playerCellEntity: DeathProperty, entityList: ListBuffer[DeathProperty]): Boolean = { val playerRadius = playerCellEntity.getDimensionComponent.radius var totalRadius: Double = 0 - entityList foreach (entity => totalRadius += entity.getDimensionComponent.radius) + entityList.filter(e => !e.getTypeComponent.typeEntity.equals(EntityType.AntiMatter)) + .foreach(entity => totalRadius += entity.getDimensionComponent.radius) playerRadius / totalRadius * 100 > radiusPercentageToBeHuge } } -/** class implementing absorb hostile cells victory condition */ -case class AbsorbHostileCellsVictoryCondition() extends AbstractVictoryCondition[DeathProperty] { +/** class implementing absorb cells that share a common type victory condition */ +case class AbsorbCellsWithTypeVictoryCondition(entityType: EntityType.Value) extends AbstractVictoryCondition[DeathProperty] { override def check(playerCellEntity: DeathProperty, entityList: ListBuffer[DeathProperty]): Boolean = { - // TODO: change with Hostile Cells trait - entityList exists (entity => entity.getDimensionComponent.radius < 10) - } -} - -/** class implementing absorb the attractor victory condition */ -case class AbsorbTheAttractorVictoryCondition() extends AbstractVictoryCondition[DeathProperty] { - - override def check(playerCellEntity: DeathProperty, entityList: ListBuffer[DeathProperty]): Boolean = { - // TODO: change with Attractor Cell trait - entityList exists (entity => entity.getDimensionComponent.radius < 10) + !entityList.exists(entity => entity.getTypeComponent.typeEntity.equals(entityType)) } } diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/EndGameSystem.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/EndGameSystem.scala index 8d2e8f15..83cca699 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/EndGameSystem.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/EndGameSystem.scala @@ -10,26 +10,29 @@ import it.unibo.osmos.redux.mvc.view.levels.GameStateHolder * @param levelContext object to notify the view of the end game result * @param victoryRules enumeration representing the level's victory rules */ -case class EndGameSystem(levelContext: GameStateHolder, victoryRules: VictoryRules.Value) extends AbstractSystem[DeathProperty] { +case class EndGameSystem(levelContext: GameStateHolder, victoryRules: VictoryRules.Value) extends AbstractSystemWithTwoTypeOfEntity[PlayerCellEntity, DeathProperty] { private val victoryCondition = victoryRules match { case VictoryRules.becomeTheBiggest => BecomeTheBiggestVictoryCondition() case _ => throw new NotImplementedError() } - override def getGroupProperty: Class[DeathProperty] = classOf[DeathProperty] + override protected def getGroupProperty: Class[PlayerCellEntity] = classOf[PlayerCellEntity] + + override protected def getGroupPropertySecondType: Class[DeathProperty] = classOf[DeathProperty] override def update(): Unit = { if (levelContext.gameCurrentState == GamePending) { - val optionalPlayer: Option[DeathProperty] = entities.find(entity => entity.isInstanceOf[PlayerCellEntity]) - - optionalPlayer match { - case Some(player) => - if (victoryCondition.check(player, entities)) { + if(entities.isEmpty){ + levelContext.notify(GameLost) + } else { + entities foreach(playerEntity => { + if (victoryCondition.check(playerEntity, entitiesSecondType)) { levelContext.notify(GameWon) } - case None => levelContext.notify(GameLost) + }) } } } + } From 2285eb98ca87ef52c9d7033eb066bf198d3dbb82 Mon Sep 17 00:00:00 2001 From: Giacomo Date: Fri, 24 Aug 2018 22:49:55 +0200 Subject: [PATCH 72/91] add more victory conditions --- .../it/unibo/osmos/redux/ecs/systems/EndGameSystem.scala | 4 ++++ src/main/scala/it/unibo/osmos/redux/mvc/model/Level.scala | 3 +++ 2 files changed, 7 insertions(+) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/EndGameSystem.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/EndGameSystem.scala index 83cca699..2dfeee81 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/EndGameSystem.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/EndGameSystem.scala @@ -1,5 +1,6 @@ package it.unibo.osmos.redux.ecs.systems +import it.unibo.osmos.redux.ecs.components.EntityType import it.unibo.osmos.redux.ecs.entities.{DeathProperty, PlayerCellEntity, Property} import it.unibo.osmos.redux.mvc.model.VictoryRules import it.unibo.osmos.redux.mvc.view.events.{GameLost, GamePending, GameWon} @@ -14,6 +15,9 @@ case class EndGameSystem(levelContext: GameStateHolder, victoryRules: VictoryRul private val victoryCondition = victoryRules match { case VictoryRules.becomeTheBiggest => BecomeTheBiggestVictoryCondition() + case VictoryRules.becomeHuge => BecomeHugeVictoryCondition() + case VictoryRules.absorbTheRepulsors => AbsorbCellsWithTypeVictoryCondition(EntityType.Repulse) + case VictoryRules.absorbTheHostileCells => AbsorbCellsWithTypeVictoryCondition(EntityType.Sentient) case _ => throw new NotImplementedError() } diff --git a/src/main/scala/it/unibo/osmos/redux/mvc/model/Level.scala b/src/main/scala/it/unibo/osmos/redux/mvc/model/Level.scala index 82529852..f3730d24 100644 --- a/src/main/scala/it/unibo/osmos/redux/mvc/model/Level.scala +++ b/src/main/scala/it/unibo/osmos/redux/mvc/model/Level.scala @@ -24,6 +24,9 @@ object CollisionRules extends Enumeration { */ object VictoryRules extends Enumeration { val becomeTheBiggest: VictoryRules.Value = Value("Become_the_biggest") + val becomeHuge: VictoryRules.Value = Value("Become_huge") + val absorbTheRepulsors: VictoryRules.Value = Value("Absorb_the_repulsors") + val absorbTheHostileCells: VictoryRules.Value = Value("Absorb_the_hostile_cells") } /** From f5530761d8762d8d648dab1d97210889f5cdf7d6 Mon Sep 17 00:00:00 2001 From: Giacomo Date: Sat, 25 Aug 2018 00:49:06 +0200 Subject: [PATCH 73/91] add test tests for the newly introduced victory conditions --- .../systems/AbstractVictoryCondition.scala | 2 +- .../redux/ecs/systems/EndGameSystem.scala | 6 +- .../unibo/osmos/redux/TestEndGameSystem.scala | 133 +++++++++++++++--- 3 files changed, 120 insertions(+), 21 deletions(-) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/AbstractVictoryCondition.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/AbstractVictoryCondition.scala index dd5e585f..40f9b454 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/AbstractVictoryCondition.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/AbstractVictoryCondition.scala @@ -17,7 +17,7 @@ abstract class AbstractVictoryCondition[A <: Property] { * @param entityList entities present in this game instant * @return the evaluation result */ - protected def check(playerCellEntity: A, entityList: ListBuffer[A]): Boolean + def check(playerCellEntity: A, entityList: ListBuffer[A]): Boolean } /** class implementing become the biggest victory condition */ diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/EndGameSystem.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/EndGameSystem.scala index 2dfeee81..24976c1c 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/EndGameSystem.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/EndGameSystem.scala @@ -1,7 +1,7 @@ package it.unibo.osmos.redux.ecs.systems import it.unibo.osmos.redux.ecs.components.EntityType -import it.unibo.osmos.redux.ecs.entities.{DeathProperty, PlayerCellEntity, Property} +import it.unibo.osmos.redux.ecs.entities.{DeathProperty, PlayerCellEntity} import it.unibo.osmos.redux.mvc.model.VictoryRules import it.unibo.osmos.redux.mvc.view.events.{GameLost, GamePending, GameWon} import it.unibo.osmos.redux.mvc.view.levels.GameStateHolder @@ -27,10 +27,10 @@ case class EndGameSystem(levelContext: GameStateHolder, victoryRules: VictoryRul override def update(): Unit = { if (levelContext.gameCurrentState == GamePending) { - if(entities.isEmpty){ + if (entities.isEmpty) { levelContext.notify(GameLost) } else { - entities foreach(playerEntity => { + entities foreach (playerEntity => { if (victoryCondition.check(playerEntity, entitiesSecondType)) { levelContext.notify(GameWon) } diff --git a/src/test/scala/it/unibo/osmos/redux/TestEndGameSystem.scala b/src/test/scala/it/unibo/osmos/redux/TestEndGameSystem.scala index 4a8b2421..737015d1 100644 --- a/src/test/scala/it/unibo/osmos/redux/TestEndGameSystem.scala +++ b/src/test/scala/it/unibo/osmos/redux/TestEndGameSystem.scala @@ -1,7 +1,7 @@ package it.unibo.osmos.redux import it.unibo.osmos.redux.ecs.components._ -import it.unibo.osmos.redux.ecs.entities.{CellEntity, EntityManager, PlayerCellEntity} +import it.unibo.osmos.redux.ecs.entities.{CellEntity, EntityManager, PlayerCellEntity, SentientCellEntity} import it.unibo.osmos.redux.ecs.systems.EndGameSystem import it.unibo.osmos.redux.mvc.model.{MapShape, VictoryRules} import it.unibo.osmos.redux.mvc.view.drawables.DrawableWrapper @@ -10,8 +10,17 @@ import it.unibo.osmos.redux.mvc.view.levels.{LevelContext, LevelContextListener} import it.unibo.osmos.redux.utils.Point import org.scalatest.{BeforeAndAfter, FunSuite} +import scala.collection.mutable.ListBuffer + class TestEndGameSystem extends FunSuite with BeforeAndAfter { + private val levelContextListener = new LevelContextListener { + override def onDrawEntities(playerEntity: Option[DrawableWrapper], entities: Seq[DrawableWrapper]): Unit = {} + + override def onLevelSetup(mapShape: MapShape): Unit = {} + + override def onLevelEnd(levelResult: Boolean): Unit = {} + } private var levelContext: LevelContext = _ private var endGameSystem: EndGameSystem = _ @@ -23,20 +32,12 @@ class TestEndGameSystem extends FunSuite with BeforeAndAfter { EntityManager.clear() } - private val levelContextListener = new LevelContextListener { - override def onDrawEntities(playerEntity: Option[DrawableWrapper], entities: Seq[DrawableWrapper]): Unit = {} - - override def onLevelSetup(mapShape: MapShape): Unit = {} - - override def onLevelEnd(levelResult: Boolean): Unit = {} - } - private def initEntityManager(victoryRules: VictoryRules.Value) { endGameSystem = EndGameSystem(levelContext, victoryRules) EntityManager.subscribe(endGameSystem, null) } - test("Test become the biggest victory") { + test("Become the biggest victory") { initEntityManager(VictoryRules.becomeTheBiggest) val sca = AccelerationComponent(0, 0) @@ -68,9 +69,8 @@ class TestEndGameSystem extends FunSuite with BeforeAndAfter { assert(levelContext.gameCurrentState == GameWon) } - test("Test become huge victory") { - // TODO - /*initEntityManager(VictoryRules.becomeTheBiggest) + test("Antimatter cells are ignored for become the biggest victory") { + initEntityManager(VictoryRules.becomeTheBiggest) val sca = AccelerationComponent(0, 0) val scc = CollidableComponent(true) @@ -78,30 +78,129 @@ class TestEndGameSystem extends FunSuite with BeforeAndAfter { val scp = PositionComponent(Point(60, 64)) val scs = SpeedComponent(0, 0) val scv = VisibleComponent(true) - val sct = TypeComponent(EntityType.Material) + val sct = TypeComponent(EntityType.Matter) val smallerCellEntity = CellEntity(sca, scc, scd, scp, scs, scv, sct) + val aca = AccelerationComponent(0, 0) + val acc = CollidableComponent(true) + val acd = DimensionComponent(10) + val acp = PositionComponent(Point(80, 84)) + val acs = SpeedComponent(0, 0) + val acv = VisibleComponent(true) + val act = TypeComponent(EntityType.AntiMatter) + val antimatterCellEntity = CellEntity(aca, acc, acd, acp, acs, acv, act) + val pca = AccelerationComponent(0, 0) val pcc = CollidableComponent(true) val pcd = DimensionComponent(6) val pcp = PositionComponent(Point(50, 64)) val pcs = SpeedComponent(4, 0) val pcv = VisibleComponent(true) - val pct = TypeComponent(EntityType.Material) + val pct = TypeComponent(EntityType.Matter) val spw = SpawnerComponent(false) val playerCellEntity = PlayerCellEntity(pca, pcc, pcd, pcp, pcs, pcv, pct, spw) EntityManager.add(smallerCellEntity) + EntityManager.add(antimatterCellEntity) EntityManager.add(playerCellEntity) assert(levelContext.gameCurrentState == GamePending) endGameSystem.update() - assert(levelContext.gameCurrentState == GameWon)*/ + assert(levelContext.gameCurrentState == GameWon) + } + + test("Become huge victory") { + initEntityManager(VictoryRules.becomeHuge) + + val entityList: ListBuffer[CellEntity] = ListBuffer() + + val ca = AccelerationComponent(0, 0) + val cc = CollidableComponent(true) + val cd = DimensionComponent(40) + val cp = PositionComponent(Point(160, 64)) + val cs = SpeedComponent(0, 0) + val cv = VisibleComponent(true) + val ct = TypeComponent(EntityType.Matter) + val cellEntity = CellEntity(ca, cc, cd, cp, cs, cv, ct) + + val pca = AccelerationComponent(0, 0) + val pcc = CollidableComponent(true) + val pcd = DimensionComponent(60) + val pcp = PositionComponent(Point(50, 64)) + val pcs = SpeedComponent(0, 0) + val pcv = VisibleComponent(true) + val pct = TypeComponent(EntityType.Matter) + val spw = SpawnerComponent(false) + val playerCellEntity = PlayerCellEntity(pca, pcc, pcd, pcp, pcs, pcv, pct, spw) + + entityList += cellEntity + entityList += playerCellEntity + + var totalRadius = 0.0 + entityList foreach (e => { + totalRadius += e.getDimensionComponent.radius + }) + + entityList foreach (e => EntityManager.add(e)) + + assert(levelContext.gameCurrentState == GamePending) + + endGameSystem.update() + assert(levelContext.gameCurrentState == GamePending) + cellEntity.getDimensionComponent.radius_(totalRadius * 30 / 100 - 1) + playerCellEntity.getDimensionComponent.radius_(totalRadius * 70 / 100 + 1) + + endGameSystem.update() + assert(levelContext.gameCurrentState == GameWon) + } + + test("Absorb hostile cells victory") { + initEntityManager(VictoryRules.absorbTheHostileCells) + + val pca = AccelerationComponent(0, 0) + val pcc = CollidableComponent(true) + val pcd = DimensionComponent(6) + val pcp = PositionComponent(Point(50, 64)) + val pcs = SpeedComponent(4, 0) + val pcv = VisibleComponent(true) + val pct = TypeComponent(EntityType.Matter) + val spw = SpawnerComponent(false) + val playerCellEntity = PlayerCellEntity(pca, pcc, pcd, pcp, pcs, pcv, pct, spw) + + val sca1 = AccelerationComponent(0, 0) + val scc1 = CollidableComponent(true) + val scd1 = DimensionComponent(7) + val scp1 = PositionComponent(Point(65, 64)) + val scs1 = SpeedComponent(0, 0) + val scv1 = VisibleComponent(true) + val sentientCellEntity1 = SentientCellEntity(sca1, scc1, scd1, scp1, scs1, scv1) + + val sca2 = AccelerationComponent(0, 0) + val scc2 = CollidableComponent(true) + val scd2 = DimensionComponent(4) + val scp2 = PositionComponent(Point(80, 90)) + val scs2 = SpeedComponent(0, 0) + val scv2 = VisibleComponent(true) + val sentientCellEntity2 = SentientCellEntity(sca2, scc2, scd2, scp2, scs2, scv2) + + EntityManager.add(playerCellEntity) + EntityManager.add(sentientCellEntity1) + EntityManager.add(sentientCellEntity2) + + assert(levelContext.gameCurrentState == GamePending) + + EntityManager.delete(sentientCellEntity1) + endGameSystem.update() + assert(levelContext.gameCurrentState == GamePending) + + EntityManager.delete(sentientCellEntity2) + endGameSystem.update() + assert(levelContext.gameCurrentState == GameWon) } - test("Test player death loss") { + test("Player death loss") { initEntityManager(VictoryRules.becomeTheBiggest) val bca = AccelerationComponent(0, 0) From e9dc5943477720906c4c208a5ec680951fdff1bc Mon Sep 17 00:00:00 2001 From: Placu Date: Sat, 25 Aug 2018 15:15:01 +0200 Subject: [PATCH 74/91] move collision with border from MovementSystem to CollisionSystem --- .../osmos/redux/ecs/engine/GameEngine.scala | 2 +- .../osmos/redux/ecs/systems/AbstractBorder.scala | 13 +++++-------- .../redux/ecs/systems/CollisionSystem.scala | 16 +++++++++++++--- .../osmos/redux/ecs/systems/MovementSystem.scala | 10 +--------- 4 files changed, 20 insertions(+), 21 deletions(-) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/engine/GameEngine.scala b/src/main/scala/it/unibo/osmos/redux/ecs/engine/GameEngine.scala index 54e4a9ef..6e9056a9 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/engine/GameEngine.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/engine/GameEngine.scala @@ -91,7 +91,7 @@ object GameEngine { //create systems, add to list, the order in this collection is the final system order in the game loop val systems = ListBuffer[System]() if (!level.isSimulation) systems += InputSystem() - systems ++= List(SpawnSystem(), GravitySystem(), MovementSystem(level), CollisionSystem(), CellsEliminationSystem(), SentientSystem(), DrawSystem(levelContext)) + systems ++= List(SpawnSystem(), GravitySystem(), MovementSystem(), CollisionSystem(level), CellsEliminationSystem(), SentientSystem(), DrawSystem(levelContext)) if(!level.isSimulation) systems += EndGameSystem(levelContext, level.victoryRule) //add all entities in the entity manager (systems are subscribed to EntityManager event when created) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/AbstractBorder.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/AbstractBorder.scala index 831e7a47..bb8d99b2 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/AbstractBorder.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/AbstractBorder.scala @@ -1,14 +1,13 @@ package it.unibo.osmos.redux.ecs.systems import it.unibo.osmos.redux.ecs.components.DimensionComponent -import it.unibo.osmos.redux.ecs.entities.MovableProperty +import it.unibo.osmos.redux.ecs.entities.CollidableProperty import it.unibo.osmos.redux.mvc.model.CollisionRules import it.unibo.osmos.redux.utils.{MathUtils, Point, Vector} /** Abstract class implementing the border collision strategy * * @param levelCenter center of the level - * @tparam */ abstract class AbstractBorder(levelCenter: Point, collisionRule: CollisionRules.Value) { @@ -20,15 +19,14 @@ abstract class AbstractBorder(levelCenter: Point, collisionRule: CollisionRules. * If so, computes it's new position and speed * * @param entity - * @param collisionRule */ - def checkCollision(entity: MovableProperty): Unit + def checkCollision(entity: CollidableProperty): Unit } /** Implementation of a playing field with rectangular shape */ case class RectangularBorder(levelCenter: Point, collisionRule: CollisionRules.Value, base: Double, height: Double) extends AbstractBorder(levelCenter, collisionRule) { - override def checkCollision(entity: MovableProperty): Unit = { + override def checkCollision(entity: CollidableProperty): Unit = { val dimensionComponent = entity.getDimensionComponent val entityRadius = dimensionComponent.radius val speedComponent = entity.getSpeedComponent @@ -83,7 +81,7 @@ case class RectangularBorder(levelCenter: Point, collisionRule: CollisionRules.V /** Implementation of a playing field with circular shape */ case class CircularBorder(levelCenter: Point, collisionRule: CollisionRules.Value, levelRadius: Double) extends AbstractBorder(levelCenter, collisionRule) { - override def checkCollision(entity: MovableProperty): Unit = { + override def checkCollision(entity: CollidableProperty): Unit = { val positionComponent = entity.getPositionComponent val currentPosition = positionComponent.point val dimensionComponent = entity.getDimensionComponent @@ -114,7 +112,7 @@ case class CircularBorder(levelCenter: Point, collisionRule: CollisionRules.Valu * @param entity * @return */ - private def computeNewPosition(levelRadius: Double, entity: MovableProperty): Point = { + private def computeNewPosition(levelRadius: Double, entity: CollidableProperty): Point = { val entityPosition = entity.getPositionComponent.point val entitySpeed = entity.getSpeedComponent.vector val A = levelCenter @@ -155,7 +153,6 @@ case class CircularBorder(levelCenter: Point, collisionRule: CollisionRules.Valu * * @param currentPosition entity current position * @param levelCenter level center - * @param speedComponent entity speed component * @return new entity speed */ private def computeNewSpeed(currentPosition: Point, levelCenter: Point, speedVector: Vector): Vector = { diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala index 2951f6f1..d37274fe 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala @@ -2,20 +2,30 @@ package it.unibo.osmos.redux.ecs.systems import it.unibo.osmos.redux.ecs.components.EntityType import it.unibo.osmos.redux.ecs.entities.CollidableProperty -import it.unibo.osmos.redux.utils.MathUtils +import it.unibo.osmos.redux.mvc.model.Level +import it.unibo.osmos.redux.mvc.model.MapShape.{Circle, Rectangle} +import it.unibo.osmos.redux.utils.{MathUtils, Point} -case class CollisionSystem() extends AbstractSystem[CollidableProperty] { +case class CollisionSystem(levelInfo: Level) extends AbstractSystem[CollidableProperty] { //the percentage of mass that an entity can acquire from another during a collision in a tick - private val massExchangeRate = 0.1 + private val massExchangeRate = 0.2 //constants that controls how much deceleration is applied to an entity when colliding with another one private val decelerationAmount = 0.1 //constant that define the initial acceleration of a steady entity when a collision occurs private val initialAcceleration = 0.001 + private val collisionRule = levelInfo.levelMap.collisionRule + private val bounceRule = levelInfo.levelMap.mapShape match { + case shape: Rectangle => RectangularBorder(Point(shape.center._1, shape.center._2), collisionRule, shape.base, shape.height) + case shape: Circle => CircularBorder(Point(shape.center._1, shape.center._2), collisionRule, shape.radius) + case _ => throw new IllegalArgumentException + } + override def getGroupProperty: Class[CollidableProperty] = classOf[CollidableProperty] override def update(): Unit = { + entities foreach(e => bounceRule.checkCollision(e)) for { (e1, xIndex) <- entities.zipWithIndex (e2, yIndex) <- entities.zipWithIndex diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/MovementSystem.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/MovementSystem.scala index b45c4abd..94225ad3 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/MovementSystem.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/MovementSystem.scala @@ -5,14 +5,7 @@ import it.unibo.osmos.redux.mvc.model.MapShape.{Circle, Rectangle} import it.unibo.osmos.redux.mvc.model._ import it.unibo.osmos.redux.utils.Point -case class MovementSystem(levelInfo: Level) extends AbstractSystem[MovableProperty] { - - private val collisionRule = levelInfo.levelMap.collisionRule - private val bounceRule = levelInfo.levelMap.mapShape match { - case shape: Rectangle => RectangularBorder(Point(shape.center._1, shape.center._2), collisionRule, shape.base, shape.height) - case shape: Circle => CircularBorder(Point(shape.center._1, shape.center._2), collisionRule, shape.radius) - case _ => throw new IllegalArgumentException - } +case class MovementSystem() extends AbstractSystem[MovableProperty] { override def getGroupProperty: Class[MovableProperty] = classOf[MovableProperty] @@ -20,7 +13,6 @@ case class MovementSystem(levelInfo: Level) extends AbstractSystem[MovableProper entities foreach (entity => { updateEntitySpeed(entity) updateEntityPosition(entity) - bounceRule.checkCollision(entity) }) } From 558a5588e6509ae470606b33d7bd4cbf2242e2d1 Mon Sep 17 00:00:00 2001 From: Placu Date: Sat, 25 Aug 2018 15:28:11 +0200 Subject: [PATCH 75/91] add check border collision after collision between two entity --- .../it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala index d37274fe..197f2697 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala @@ -96,6 +96,8 @@ case class CollisionSystem(levelInfo: Level) extends AbstractSystem[CollidablePr //move the small entity val smallEntityPosition = smallEntity.getPositionComponent smallEntityPosition.point_(smallEntityPosition.point add (unitVector multiply (-overlap/2))) + bounceRule.checkCollision(bigEntity) + bounceRule.checkCollision(smallEntity) } } From 4be83b4b5bac8e8f7b449e60afdc254d0de1efed Mon Sep 17 00:00:00 2001 From: Placu Date: Sat, 25 Aug 2018 15:36:29 +0200 Subject: [PATCH 76/91] fix creation system after moved collision with border --- .../osmos/redux/TestCollisionSystem.scala | 18 +++++++++++++----- .../unibo/osmos/redux/TestMovementSystem.scala | 2 +- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala b/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala index 0f0255aa..75a7b768 100644 --- a/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala +++ b/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala @@ -3,6 +3,8 @@ package it.unibo.osmos.redux import it.unibo.osmos.redux.ecs.components._ import it.unibo.osmos.redux.ecs.entities.{CellEntity, EntityManager} import it.unibo.osmos.redux.ecs.systems.CollisionSystem +import it.unibo.osmos.redux.mvc.model.MapShape.Rectangle +import it.unibo.osmos.redux.mvc.model.{CollisionRules, Level, LevelMap, VictoryRules} import it.unibo.osmos.redux.utils.Point import org.scalatest.FunSuite @@ -15,8 +17,14 @@ class TestCollisionSystem extends FunSuite { val antiMatterEntity = CellEntity(AccelerationComponent(0,0), CollidableComponent(true), DimensionComponent(2), PositionComponent(Point(65, 81)), SpeedComponent(0, 0), VisibleComponent(true), TypeComponent(EntityType.AntiMatter)) + val levelInfo = Level(1, + LevelMap( Rectangle((100, 150), 100, 150), CollisionRules.bouncing), + null, + VictoryRules.becomeTheBiggest, + false) + test("CollisionSystem should not collide the entity with herself") { - val system = CollisionSystem() + val system = CollisionSystem(levelInfo) val originalDim = entity1.getDimensionComponent val originalAccel = entity1.getAccelerationComponent @@ -29,7 +37,7 @@ class TestCollisionSystem extends FunSuite { } test("CollisionSystem should not consider entities that do not have CollisionProperty") { - val system = CollisionSystem() + val system = CollisionSystem(levelInfo) val position = Point(60, 80) entity1.getPositionComponent.point_(position) @@ -52,7 +60,7 @@ class TestCollisionSystem extends FunSuite { } test("CollisionSystem should not collide two entities if the distance between the centers is greater than the sum of their radii") { - val system = CollisionSystem() + val system = CollisionSystem(levelInfo) val originalDim1 = entity1.getDimensionComponent val originalAccel1 = entity1.getAccelerationComponent @@ -69,7 +77,7 @@ class TestCollisionSystem extends FunSuite { } test("CollisionSystem should collide two entities if the distance between the centers is less than the sum of their radii") { - val system = CollisionSystem() + val system = CollisionSystem(levelInfo) entity1.getDimensionComponent.radius_(5) entity1.getPositionComponent.point_(Point(60, 80)) @@ -95,7 +103,7 @@ class TestCollisionSystem extends FunSuite { } test("Collision with AntiMatter entity should reduce both dimension's entity") { - val system = CollisionSystem() + val system = CollisionSystem(levelInfo) entity1.getDimensionComponent.radius_(5) entity1.getPositionComponent.point_(Point(60, 80)) diff --git a/src/test/scala/it/unibo/osmos/redux/TestMovementSystem.scala b/src/test/scala/it/unibo/osmos/redux/TestMovementSystem.scala index 4b244c1f..13604cf6 100644 --- a/src/test/scala/it/unibo/osmos/redux/TestMovementSystem.scala +++ b/src/test/scala/it/unibo/osmos/redux/TestMovementSystem.scala @@ -22,7 +22,7 @@ class TestMovementSystem extends FunSuite with BeforeAndAfter { null, VictoryRules.becomeTheBiggest, false) - movementSystem = MovementSystem(levelInfo) + movementSystem = MovementSystem() EntityManager.subscribe(movementSystem, null) } From 8800822db667e37ff02a252b977e5373eb9e8db7 Mon Sep 17 00:00:00 2001 From: Placu Date: Sat, 25 Aug 2018 17:07:36 +0200 Subject: [PATCH 77/91] modify exchangeMass with at least a antiMatter --- .../redux/ecs/systems/CollisionSystem.scala | 32 +++++++++++-------- .../osmos/redux/TestCollisionSystem.scala | 4 +-- 2 files changed, 21 insertions(+), 15 deletions(-) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala index 197f2697..d90f309b 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala @@ -81,24 +81,30 @@ case class CollisionSystem(levelInfo: Level) extends AbstractSystem[CollidablePr private def exchangeMass(bigEntity: CollidableProperty, smallEntity: CollidableProperty, overlap: Double): Unit = { val bigRadius = bigEntity.getDimensionComponent.radius val tinyRadius = smallEntity.getDimensionComponent.radius + //reduce radius of the small entity + smallEntity.getDimensionComponent.radius_(tinyRadius - overlap*massExchangeRate) - (bigEntity.getTypeComponent.typeEntity, smallEntity.getTypeComponent.typeEntity) match { + //change radius of the big entity and compute the quantity to move the two entity + val quantityToMove = (bigEntity.getTypeComponent.typeEntity, smallEntity.getTypeComponent.typeEntity) match { case (EntityType.AntiMatter, _) | (_, EntityType.AntiMatter) => - bigEntity.getDimensionComponent.radius_(bigRadius - (overlap/2)) - smallEntity.getDimensionComponent.radius_(tinyRadius - (overlap/2)) + bigEntity.getDimensionComponent.radius_(bigRadius - overlap*massExchangeRate) + (overlap * (1 - massExchangeRate*2)) / 2 case _ => - smallEntity.getDimensionComponent.radius_(tinyRadius - overlap*massExchangeRate) bigEntity.getDimensionComponent.radius_(bigRadius + overlap*massExchangeRate) - //move the big entity - val bigEntityPosition = bigEntity.getPositionComponent - val unitVector = MathUtils.unitVector(bigEntityPosition.point, smallEntity.getPositionComponent.point) - bigEntityPosition.point_(bigEntityPosition.point add (unitVector multiply (overlap/2))) - //move the small entity - val smallEntityPosition = smallEntity.getPositionComponent - smallEntityPosition.point_(smallEntityPosition.point add (unitVector multiply (-overlap/2))) - bounceRule.checkCollision(bigEntity) - bounceRule.checkCollision(smallEntity) + overlap/2 } + + moveEntitiesAfterCollision(bigEntity, smallEntity, quantityToMove) + } + + private def moveEntitiesAfterCollision(entity1: CollidableProperty, entity2: CollidableProperty, quantityToMove: Double): Unit = { + val position1 = entity1.getPositionComponent + val position2 = entity2.getPositionComponent + val unitVector = MathUtils.unitVector(position1.point, position2.point) + position1.point_(position1.point add (unitVector multiply quantityToMove)) + position2.point_(position2.point add (unitVector multiply (-quantityToMove))) + bounceRule.checkCollision(entity1) + bounceRule.checkCollision(entity2) } diff --git a/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala b/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala index 75a7b768..3eac8dd4 100644 --- a/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala +++ b/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala @@ -96,9 +96,9 @@ class TestCollisionSystem extends FunSuite { system.update() - assert(entity1.getDimensionComponent.radius == 5.1) + assert(entity1.getDimensionComponent.radius == 5.2) assert(entity1.getPositionComponent.point == Point(59.5,80)) - assert(entity2.getDimensionComponent.radius == 1.9) + assert(entity2.getDimensionComponent.radius == 1.8) assert(entity2.getPositionComponent.point == Point(66.5,80)) } From 418ed52873bce0b492cf1a121c112ee283dc237e Mon Sep 17 00:00:00 2001 From: Giacomo Date: Sun, 26 Aug 2018 10:35:25 +0200 Subject: [PATCH 78/91] add circular shape level bouncing test --- .../redux/ecs/systems/MovementSystem.scala | 2 +- .../osmos/redux/TestMovementSystem.scala | 45 ++++++++----------- 2 files changed, 19 insertions(+), 28 deletions(-) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/MovementSystem.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/MovementSystem.scala index b45c4abd..953ac17b 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/MovementSystem.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/MovementSystem.scala @@ -1,6 +1,6 @@ package it.unibo.osmos.redux.ecs.systems -import it.unibo.osmos.redux.ecs.entities.{MovableProperty, Property} +import it.unibo.osmos.redux.ecs.entities.MovableProperty import it.unibo.osmos.redux.mvc.model.MapShape.{Circle, Rectangle} import it.unibo.osmos.redux.mvc.model._ import it.unibo.osmos.redux.utils.Point diff --git a/src/test/scala/it/unibo/osmos/redux/TestMovementSystem.scala b/src/test/scala/it/unibo/osmos/redux/TestMovementSystem.scala index 4b244c1f..95f62cce 100644 --- a/src/test/scala/it/unibo/osmos/redux/TestMovementSystem.scala +++ b/src/test/scala/it/unibo/osmos/redux/TestMovementSystem.scala @@ -3,7 +3,7 @@ package it.unibo.osmos.redux import it.unibo.osmos.redux.ecs.components._ import it.unibo.osmos.redux.ecs.entities.{CellEntity, EntityManager, PlayerCellEntity} import it.unibo.osmos.redux.ecs.systems.MovementSystem -import it.unibo.osmos.redux.mvc.model.MapShape.Rectangle +import it.unibo.osmos.redux.mvc.model.MapShape.{Circle, Rectangle} import it.unibo.osmos.redux.mvc.model._ import it.unibo.osmos.redux.utils.{MathUtils, Point} import org.scalatest.{BeforeAndAfter, FunSuite} @@ -26,7 +26,7 @@ class TestMovementSystem extends FunSuite with BeforeAndAfter { EntityManager.subscribe(movementSystem, null) } - test("Test speed and position update") { + test("Speed and position update") { val mapShape = Rectangle((100, 150), 100, 150) initEntityManager(mapShape, CollisionRules.bouncing) @@ -63,14 +63,10 @@ class TestMovementSystem extends FunSuite with BeforeAndAfter { assert(playerCellEntity.getAccelerationComponent == AccelerationComponent(0.0, 0.0)) } - test("Test rectangular shape field bouncing") { + test("Rectangular shape field bouncing") { val mapShape = Rectangle((160, 100), 100, 160) initEntityManager(mapShape, CollisionRules.bouncing) - /*println(mapShape.base) - println(mapShape.height) - println(mapShape.center._1) - println(mapShape.center._2)*/ val lcca = AccelerationComponent(0, 0) val lccc = CollidableComponent(true) val lccd = DimensionComponent(2) @@ -127,32 +123,27 @@ class TestMovementSystem extends FunSuite with BeforeAndAfter { assert(bottomCollisionCellEntity.getPositionComponent.point == Point(113.0, 139.0)) } - test("Test circular shape field bouncing") { - // TODO - /* - val ca = AccelerationComponent(1, 1) + test("Circular shape field bouncing") { + val levelCenter = Point(300.0, 300.0) + val levelRadius = 200.0 + val mapShape = Circle((levelCenter.x, levelCenter.y), levelRadius) + initEntityManager(mapShape, CollisionRules.bouncing) + + val ca = AccelerationComponent(0, 0) val cc = CollidableComponent(true) - val cd = DimensionComponent(5) - val cp = PositionComponent(Point(0, 0)) - val cs = SpeedComponent(4, 0) + val cd = DimensionComponent(20) + val cp = PositionComponent(Point(118, 300)) + val cs = SpeedComponent(-10.0, -20.0) val cv = VisibleComponent(true) - val ct = TypeComponent(EntityType.Material) + val ct = TypeComponent(EntityType.Matter) val cellEntity = CellEntity(ca, cc, cd, cp, cs, cv, ct) - val pca = AccelerationComponent(-4, -1) - val pcc = CollidableComponent(true) - val pcd = DimensionComponent(5) - val pcp = PositionComponent(Point(-4, 6)) - val pcs = SpeedComponent(4, 0) - val pcv = VisibleComponent(true) - val pct = TypeComponent(EntityType.Material) - val spw = SpawnerComponent(false) - val playerCellEntity = PlayerCellEntity(pca, pcc, pcd, pcp, pcs, pcv, pct, spw) - EntityManager.add(cellEntity) - EntityManager.add(playerCellEntity) - movementSystem.update()*/ + movementSystem.update() + + assert(cellEntity.getPositionComponent.point == Point(120.04654311426577, 304.09308622853155)) + assert(cellEntity.getSpeedComponent.vector == utils.Vector(9.080318896799085, -20.43398660889337)) } private def computePositionAfterBounce(currentPosition: Point, precPosition: Point, levelRadius: Double, levelCenter: Point): Point = { From a4d2f13196cf0e6c6c839919b8259c331c406d14 Mon Sep 17 00:00:00 2001 From: Giacomo Date: Sun, 26 Aug 2018 13:28:07 +0200 Subject: [PATCH 79/91] add test for instant death rule condition --- .../osmos/redux/TestMovementSystem.scala | 88 +++++++++++++++++++ 1 file changed, 88 insertions(+) diff --git a/src/test/scala/it/unibo/osmos/redux/TestMovementSystem.scala b/src/test/scala/it/unibo/osmos/redux/TestMovementSystem.scala index 95f62cce..3c8890fa 100644 --- a/src/test/scala/it/unibo/osmos/redux/TestMovementSystem.scala +++ b/src/test/scala/it/unibo/osmos/redux/TestMovementSystem.scala @@ -123,6 +123,70 @@ class TestMovementSystem extends FunSuite with BeforeAndAfter { assert(bottomCollisionCellEntity.getPositionComponent.point == Point(113.0, 139.0)) } + test("Rectangular shape field instant death rule") { + val mapShape = Rectangle((160, 100), 100, 160) + initEntityManager(mapShape, CollisionRules.instantDeath) + + val lcca = AccelerationComponent(0, 0) + val lccc = CollidableComponent(true) + val lccd = DimensionComponent(2) + val lccp = PositionComponent(Point(83, 56)) + val lccs = SpeedComponent(-4, 2) + val lccv = VisibleComponent(true) + val lcct = TypeComponent(EntityType.Matter) + val leftCollisionCellEntity = CellEntity(lcca, lccc, lccd, lccp, lccs, lccv, lcct) + + val rcca = AccelerationComponent(0, 0) + val rccc = CollidableComponent(true) + val rccd = DimensionComponent(7) + val rccp = PositionComponent(Point(231, 90)) + val rccs = SpeedComponent(6, 0) + val rccv = VisibleComponent(true) + val rcct = TypeComponent(EntityType.Matter) + val rightCollisionCellEntity = CellEntity(rcca, rccc, rccd, rccp, rccs, rccv, rcct) + + val tcca = AccelerationComponent(0, 0) + val tccc = CollidableComponent(true) + val tccd = DimensionComponent(8) + val tccp = PositionComponent(Point(160, 60)) + val tccs = SpeedComponent(6, -4) + val tccv = VisibleComponent(true) + val tcct = TypeComponent(EntityType.Matter) + val topCollisionCellEntity = CellEntity(tcca, tccc, tccd, tccp, tccs, tccv, tcct) + + val bcca = AccelerationComponent(0, 0) + val bccc = CollidableComponent(true) + val bccd = DimensionComponent(5) + val bccp = PositionComponent(Point(115, 144)) + val bccs = SpeedComponent(-2, 7) + val bccv = VisibleComponent(true) + val bcct = TypeComponent(EntityType.Matter) + val bottomCollisionCellEntity = CellEntity(bcca, bccc, bccd, bccp, bccs, bccv, bcct) + + EntityManager.add(leftCollisionCellEntity) + EntityManager.add(rightCollisionCellEntity) + EntityManager.add(topCollisionCellEntity) + EntityManager.add(bottomCollisionCellEntity) + + movementSystem.update() + + assert(leftCollisionCellEntity.getSpeedComponent == lccs) + assert(leftCollisionCellEntity.getPositionComponent.point == Point(79.0, 58.0)) + assert(leftCollisionCellEntity.getDimensionComponent.radius == -1) + + assert(rightCollisionCellEntity.getSpeedComponent == rccs) + assert(rightCollisionCellEntity.getPositionComponent.point == Point(237.0, 90.0)) + assert(rightCollisionCellEntity.getDimensionComponent.radius == 3.0) + + assert(topCollisionCellEntity.getSpeedComponent == tccs) + assert(topCollisionCellEntity.getPositionComponent.point == Point(166.0, 56.0)) + assert(topCollisionCellEntity.getDimensionComponent.radius == 6.0) + + assert(bottomCollisionCellEntity.getSpeedComponent == bccs) + assert(bottomCollisionCellEntity.getPositionComponent.point == Point(113.0, 151.0)) + assert(bottomCollisionCellEntity.getDimensionComponent.radius == -1) + } + test("Circular shape field bouncing") { val levelCenter = Point(300.0, 300.0) val levelRadius = 200.0 @@ -146,6 +210,30 @@ class TestMovementSystem extends FunSuite with BeforeAndAfter { assert(cellEntity.getSpeedComponent.vector == utils.Vector(9.080318896799085, -20.43398660889337)) } + test("Circular shape field instant death") { + val levelCenter = Point(300.0, 300.0) + val levelRadius = 200.0 + val mapShape = Circle((levelCenter.x, levelCenter.y), levelRadius) + initEntityManager(mapShape, CollisionRules.instantDeath) + + val ca = AccelerationComponent(0, 0) + val cc = CollidableComponent(true) + val cd = DimensionComponent(20) + val cp = PositionComponent(Point(118, 300)) + val cs = SpeedComponent(-10.0, -20.0) + val cv = VisibleComponent(true) + val ct = TypeComponent(EntityType.Matter) + val cellEntity = CellEntity(ca, cc, cd, cp, cs, cv, ct) + + EntityManager.add(cellEntity) + + movementSystem.update() + + assert(cellEntity.getPositionComponent.point == Point(108.0, 280.0)) + assert(cellEntity.getSpeedComponent.vector == utils.Vector(-10.0, -20.0)) + assert(cellEntity.getDimensionComponent.radius == 6.961143807781525) + } + private def computePositionAfterBounce(currentPosition: Point, precPosition: Point, levelRadius: Double, levelCenter: Point): Point = { val straightLine = GeometricalStraightLine(currentPosition, precPosition) val circumference = GeometricalCircumference(levelCenter, levelRadius) From 6289a7389e17df448b988bd8c382c79ef0b72262 Mon Sep 17 00:00:00 2001 From: Giacomo Date: Sun, 26 Aug 2018 14:32:24 +0200 Subject: [PATCH 80/91] remove unused java sourceset, add scaladoc generation support --- build.gradle | 7 +------ gradle.properties | 2 ++ 2 files changed, 3 insertions(+), 6 deletions(-) create mode 100644 gradle.properties diff --git a/build.gradle b/build.gradle index 64717aa7..b7005800 100644 --- a/build.gradle +++ b/build.gradle @@ -7,12 +7,10 @@ version '1.0' mainClassName = 'it.unibo.osmos.redux.main.AppLauncher' sourceCompatibility = 1.8 +scaladoc.destinationDir = file("$docsDir/$scaladocFolder") sourceSets { main { - java { - srcDirs = ["src/main/java"] - } resources { srcDirs = ["src/main/resources"] } @@ -22,9 +20,6 @@ sourceSets { } test { - java { - srcDirs = ["src/test/java"] - } resources { srcDirs = ["src/test/resources"] } diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 00000000..e169b231 --- /dev/null +++ b/gradle.properties @@ -0,0 +1,2 @@ +docsDir = doc +scaladocFolder = scaladoc From 4126bec4cfec480a4e90c0f480ee2867e1946207 Mon Sep 17 00:00:00 2001 From: Placu Date: Mon, 27 Aug 2018 09:27:20 +0200 Subject: [PATCH 81/91] add check if entities is collidable --- .../scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala index d90f309b..b48d78d7 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala @@ -30,6 +30,7 @@ case class CollisionSystem(levelInfo: Level) extends AbstractSystem[CollidablePr (e1, xIndex) <- entities.zipWithIndex (e2, yIndex) <- entities.zipWithIndex if xIndex < yIndex //skip useless double checks + if e1.getCollidableComponent.isCollidable() && e2.getCollidableComponent.isCollidable() overlap = computeOverlap(e1, e2) if overlap > 0 //check if they overlap (collide) } yield applyCollisionEffects(e1, e2, overlap) From 843fabb27c5d1cc17de0951b8801b333eecf7f3b Mon Sep 17 00:00:00 2001 From: Placu Date: Mon, 27 Aug 2018 09:30:07 +0200 Subject: [PATCH 82/91] fix test --- src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala b/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala index 3eac8dd4..910601a5 100644 --- a/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala +++ b/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala @@ -18,7 +18,7 @@ class TestCollisionSystem extends FunSuite { PositionComponent(Point(65, 81)), SpeedComponent(0, 0), VisibleComponent(true), TypeComponent(EntityType.AntiMatter)) val levelInfo = Level(1, - LevelMap( Rectangle((100, 150), 100, 150), CollisionRules.bouncing), + LevelMap( Rectangle((100, 100), 100, 150), CollisionRules.bouncing), null, VictoryRules.becomeTheBiggest, false) From 37d926da7d6697c0f3ce7a2bb6a6f403a619f307 Mon Sep 17 00:00:00 2001 From: Giacomo Date: Mon, 27 Aug 2018 11:11:30 +0200 Subject: [PATCH 83/91] move tests from TestMovementSystem to TestCollisionSystem according to systems implementation change --- .../osmos/redux/TestCollisionSystem.scala | 212 +++++++++++++- .../osmos/redux/TestMovementSystem.scala | 276 +++--------------- 2 files changed, 247 insertions(+), 241 deletions(-) diff --git a/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala b/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala index 910601a5..7adc8b4c 100644 --- a/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala +++ b/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala @@ -3,25 +3,42 @@ package it.unibo.osmos.redux import it.unibo.osmos.redux.ecs.components._ import it.unibo.osmos.redux.ecs.entities.{CellEntity, EntityManager} import it.unibo.osmos.redux.ecs.systems.CollisionSystem -import it.unibo.osmos.redux.mvc.model.MapShape.Rectangle -import it.unibo.osmos.redux.mvc.model.{CollisionRules, Level, LevelMap, VictoryRules} +import it.unibo.osmos.redux.mvc.model.MapShape.{Circle, Rectangle} +import it.unibo.osmos.redux.mvc.model._ import it.unibo.osmos.redux.utils.Point -import org.scalatest.FunSuite +import org.scalatest.{BeforeAndAfter, FunSuite} -class TestCollisionSystem extends FunSuite { +class TestCollisionSystem extends FunSuite with BeforeAndAfter { - val entity1 = CellEntity(AccelerationComponent(0,0), CollidableComponent(true), DimensionComponent(5), + val entity1 = CellEntity(AccelerationComponent(0, 0), CollidableComponent(true), DimensionComponent(5), PositionComponent(Point(20, 30)), SpeedComponent(0, 0), VisibleComponent(true), TypeComponent(EntityType.Matter)) - val entity2 = CellEntity(AccelerationComponent(0,0), CollidableComponent(true), DimensionComponent(2), + val entity2 = CellEntity(AccelerationComponent(0, 0), CollidableComponent(true), DimensionComponent(2), PositionComponent(Point(60, 80)), SpeedComponent(0, 0), VisibleComponent(true), TypeComponent(EntityType.Matter)) - val antiMatterEntity = CellEntity(AccelerationComponent(0,0), CollidableComponent(true), DimensionComponent(2), + val antiMatterEntity = CellEntity(AccelerationComponent(0, 0), CollidableComponent(true), DimensionComponent(2), PositionComponent(Point(65, 81)), SpeedComponent(0, 0), VisibleComponent(true), TypeComponent(EntityType.AntiMatter)) - val levelInfo = Level(1, + var levelInfo: Level = _ + /*Level(1, LevelMap( Rectangle((100, 100), 100, 150), CollisionRules.bouncing), null, VictoryRules.becomeTheBiggest, - false) + false)*/ + + before { + setupLevelInfo(Rectangle((100, 100), 100, 150), CollisionRules.bouncing) + } + + after { + EntityManager.clear() + } + + private def setupLevelInfo(mapShape: MapShape, collisionRules: CollisionRules.Value) { + levelInfo = Level(1, + LevelMap(mapShape, collisionRules), + null, + VictoryRules.becomeTheBiggest, + false) + } test("CollisionSystem should not collide the entity with herself") { val system = CollisionSystem(levelInfo) @@ -97,9 +114,9 @@ class TestCollisionSystem extends FunSuite { system.update() assert(entity1.getDimensionComponent.radius == 5.2) - assert(entity1.getPositionComponent.point == Point(59.5,80)) + assert(entity1.getPositionComponent.point == Point(59.5, 80)) assert(entity2.getDimensionComponent.radius == 1.8) - assert(entity2.getPositionComponent.point == Point(66.5,80)) + assert(entity2.getPositionComponent.point == Point(66.5, 80)) } test("Collision with AntiMatter entity should reduce both dimension's entity") { @@ -122,4 +139,177 @@ class TestCollisionSystem extends FunSuite { assert(entity1.getDimensionComponent.radius < originalDim1.radius && entity1.getAccelerationComponent != originalAccel1 && antiMatterEntity.getDimensionComponent.radius < originalDim2.radius && antiMatterEntity.getAccelerationComponent != originalAccel2) } + + test("Collision with rectangular shape border, using bouncing collision rule, bounces entities back") { + setupLevelInfo(Rectangle((160, 100), 100, 160), CollisionRules.bouncing) + val system = CollisionSystem(levelInfo) + + val lcca = AccelerationComponent(0, 0) + val lccc = CollidableComponent(true) + val lccd = DimensionComponent(2) + val lccp = PositionComponent(Point(79, 58)) + val lccs = SpeedComponent(-4, 2) + val lccv = VisibleComponent(true) + val lcct = TypeComponent(EntityType.Matter) + val leftCollisionCellEntity = CellEntity(lcca, lccc, lccd, lccp, lccs, lccv, lcct) + + val rcca = AccelerationComponent(0, 0) + val rccc = CollidableComponent(true) + val rccd = DimensionComponent(7) + val rccp = PositionComponent(Point(237, 90)) + val rccs = SpeedComponent(6, 0) + val rccv = VisibleComponent(true) + val rcct = TypeComponent(EntityType.Matter) + val rightCollisionCellEntity = CellEntity(rcca, rccc, rccd, rccp, rccs, rccv, rcct) + + val tcca = AccelerationComponent(0, 0) + val tccc = CollidableComponent(true) + val tccd = DimensionComponent(8) + val tccp = PositionComponent(Point(166, 56)) + val tccs = SpeedComponent(6, -4) + val tccv = VisibleComponent(true) + val tcct = TypeComponent(EntityType.Matter) + val topCollisionCellEntity = CellEntity(tcca, tccc, tccd, tccp, tccs, tccv, tcct) + + val bcca = AccelerationComponent(0, 0) + val bccc = CollidableComponent(true) + val bccd = DimensionComponent(5) + val bccp = PositionComponent(Point(113, 151)) + val bccs = SpeedComponent(-2, 7) + val bccv = VisibleComponent(true) + val bcct = TypeComponent(EntityType.Matter) + val bottomCollisionCellEntity = CellEntity(bcca, bccc, bccd, bccp, bccs, bccv, bcct) + + EntityManager.add(leftCollisionCellEntity) + EntityManager.add(rightCollisionCellEntity) + EntityManager.add(topCollisionCellEntity) + EntityManager.add(bottomCollisionCellEntity) + + system.update() + + assert(leftCollisionCellEntity.getSpeedComponent == SpeedComponent(4.0, 2.0)) + assert(leftCollisionCellEntity.getPositionComponent.point == Point(85.0, 58.0)) + + assert(rightCollisionCellEntity.getSpeedComponent == SpeedComponent(-6.0, 0.0)) + assert(rightCollisionCellEntity.getPositionComponent.point == Point(229.0, 90.0)) + + assert(topCollisionCellEntity.getSpeedComponent == SpeedComponent(6.0, 4.0)) + assert(topCollisionCellEntity.getPositionComponent.point == Point(166.0, 60.0)) + + assert(bottomCollisionCellEntity.getSpeedComponent == SpeedComponent(-2.0, -7.0)) + assert(bottomCollisionCellEntity.getPositionComponent.point == Point(113.0, 139.0)) + } + + test("Collision with rectangular shape border, using instant death collision rule, reduces entities' radius") { + setupLevelInfo(Rectangle((160, 100), 100, 160), CollisionRules.instantDeath) + val system = CollisionSystem(levelInfo) + + val lcca = AccelerationComponent(0, 0) + val lccc = CollidableComponent(true) + val lccd = DimensionComponent(2) + val lccp = PositionComponent(Point(79, 58)) + val lccs = SpeedComponent(-4, 2) + val lccv = VisibleComponent(true) + val lcct = TypeComponent(EntityType.Matter) + val leftCollisionCellEntity = CellEntity(lcca, lccc, lccd, lccp, lccs, lccv, lcct) + + val rcca = AccelerationComponent(0, 0) + val rccc = CollidableComponent(true) + val rccd = DimensionComponent(7) + val rccp = PositionComponent(Point(237, 90)) + val rccs = SpeedComponent(6, 0) + val rccv = VisibleComponent(true) + val rcct = TypeComponent(EntityType.Matter) + val rightCollisionCellEntity = CellEntity(rcca, rccc, rccd, rccp, rccs, rccv, rcct) + + val tcca = AccelerationComponent(0, 0) + val tccc = CollidableComponent(true) + val tccd = DimensionComponent(8) + val tccp = PositionComponent(Point(166, 56)) + val tccs = SpeedComponent(6, -4) + val tccv = VisibleComponent(true) + val tcct = TypeComponent(EntityType.Matter) + val topCollisionCellEntity = CellEntity(tcca, tccc, tccd, tccp, tccs, tccv, tcct) + + val bcca = AccelerationComponent(0, 0) + val bccc = CollidableComponent(true) + val bccd = DimensionComponent(5) + val bccp = PositionComponent(Point(113, 151)) + val bccs = SpeedComponent(-2, 7) + val bccv = VisibleComponent(true) + val bcct = TypeComponent(EntityType.Matter) + val bottomCollisionCellEntity = CellEntity(bcca, bccc, bccd, bccp, bccs, bccv, bcct) + + EntityManager.add(leftCollisionCellEntity) + EntityManager.add(rightCollisionCellEntity) + EntityManager.add(topCollisionCellEntity) + EntityManager.add(bottomCollisionCellEntity) + + system.update() + + assert(leftCollisionCellEntity.getSpeedComponent == lccs) + assert(leftCollisionCellEntity.getPositionComponent.point == Point(79.0, 58.0)) + assert(leftCollisionCellEntity.getDimensionComponent.radius == -1) + + assert(rightCollisionCellEntity.getSpeedComponent == rccs) + assert(rightCollisionCellEntity.getPositionComponent.point == Point(237.0, 90.0)) + assert(rightCollisionCellEntity.getDimensionComponent.radius == 3.0) + + assert(topCollisionCellEntity.getSpeedComponent == tccs) + assert(topCollisionCellEntity.getPositionComponent.point == Point(166.0, 56.0)) + assert(topCollisionCellEntity.getDimensionComponent.radius == 6.0) + + assert(bottomCollisionCellEntity.getSpeedComponent == bccs) + assert(bottomCollisionCellEntity.getPositionComponent.point == Point(113.0, 151.0)) + assert(bottomCollisionCellEntity.getDimensionComponent.radius == -1) + } + + test("Collision with circular shape border, using bouncing collision rule, bounces entities back") { + val levelCenter = Point(300.0, 300.0) + val levelRadius = 200.0 + val mapShape = Circle((levelCenter.x, levelCenter.y), levelRadius) + setupLevelInfo(mapShape, CollisionRules.bouncing) + val system = CollisionSystem(levelInfo) + + val ca = AccelerationComponent(0, 0) + val cc = CollidableComponent(true) + val cd = DimensionComponent(20) + val cp = PositionComponent(Point(108, 280)) + val cs = SpeedComponent(-10.0, -20.0) + val cv = VisibleComponent(true) + val ct = TypeComponent(EntityType.Matter) + val cellEntity = CellEntity(ca, cc, cd, cp, cs, cv, ct) + + EntityManager.add(cellEntity) + + system.update() + + assert(cellEntity.getPositionComponent.point == Point(120.04654311426577, 304.09308622853155)) + assert(cellEntity.getSpeedComponent.vector == utils.Vector(9.080318896799085, -20.43398660889337)) + } + + test("Collision with circular shape border, using instant death collision rule, reduces entities' radius") { + val levelCenter = Point(300.0, 300.0) + val levelRadius = 200.0 + val mapShape = Circle((levelCenter.x, levelCenter.y), levelRadius) + setupLevelInfo(mapShape, CollisionRules.instantDeath) + val system = CollisionSystem(levelInfo) + + val ca = AccelerationComponent(0, 0) + val cc = CollidableComponent(true) + val cd = DimensionComponent(20) + val cp = PositionComponent(Point(108, 280)) + val cs = SpeedComponent(-10.0, -20.0) + val cv = VisibleComponent(true) + val ct = TypeComponent(EntityType.Matter) + val cellEntity = CellEntity(ca, cc, cd, cp, cs, cv, ct) + + EntityManager.add(cellEntity) + + system.update() + + assert(cellEntity.getPositionComponent.point == Point(108.0, 280.0)) + assert(cellEntity.getSpeedComponent.vector == utils.Vector(-10.0, -20.0)) + assert(cellEntity.getDimensionComponent.radius == 6.961143807781525) + } } diff --git a/src/test/scala/it/unibo/osmos/redux/TestMovementSystem.scala b/src/test/scala/it/unibo/osmos/redux/TestMovementSystem.scala index fe2beea4..aaa14f0a 100644 --- a/src/test/scala/it/unibo/osmos/redux/TestMovementSystem.scala +++ b/src/test/scala/it/unibo/osmos/redux/TestMovementSystem.scala @@ -3,32 +3,17 @@ package it.unibo.osmos.redux import it.unibo.osmos.redux.ecs.components._ import it.unibo.osmos.redux.ecs.entities.{CellEntity, EntityManager, PlayerCellEntity} import it.unibo.osmos.redux.ecs.systems.MovementSystem -import it.unibo.osmos.redux.mvc.model.MapShape.{Circle, Rectangle} -import it.unibo.osmos.redux.mvc.model._ -import it.unibo.osmos.redux.utils.{MathUtils, Point} +import it.unibo.osmos.redux.utils.Point import org.scalatest.{BeforeAndAfter, FunSuite} class TestMovementSystem extends FunSuite with BeforeAndAfter { - var movementSystem: MovementSystem = _ - after { EntityManager.clear() } - private def initEntityManager(mapShape: MapShape, collisionRules: CollisionRules.Value) { - val levelInfo = Level(1, - LevelMap(mapShape, collisionRules), - null, - VictoryRules.becomeTheBiggest, - false) - movementSystem = MovementSystem() - EntityManager.subscribe(movementSystem, null) - } - - test("Speed and position update") { - val mapShape = Rectangle((100, 150), 100, 150) - initEntityManager(mapShape, CollisionRules.bouncing) + test("MovableProperty entities' acceleration, speed and position are updated correctly") { + val movementSystem = MovementSystem() val ca = AccelerationComponent(1, 1) val cc = CollidableComponent(true) @@ -62,222 +47,52 @@ class TestMovementSystem extends FunSuite with BeforeAndAfter { assert(playerCellEntity.getPositionComponent.point == Point(130.0, 149.0)) assert(playerCellEntity.getAccelerationComponent == AccelerationComponent(0.0, 0.0)) } +} - test("Rectangular shape field bouncing") { - val mapShape = Rectangle((160, 100), 100, 160) - initEntityManager(mapShape, CollisionRules.bouncing) - - val lcca = AccelerationComponent(0, 0) - val lccc = CollidableComponent(true) - val lccd = DimensionComponent(2) - val lccp = PositionComponent(Point(83, 56)) - val lccs = SpeedComponent(-4, 2) - val lccv = VisibleComponent(true) - val lcct = TypeComponent(EntityType.Matter) - val leftCollisionCellEntity = CellEntity(lcca, lccc, lccd, lccp, lccs, lccv, lcct) - - val rcca = AccelerationComponent(0, 0) - val rccc = CollidableComponent(true) - val rccd = DimensionComponent(7) - val rccp = PositionComponent(Point(231, 90)) - val rccs = SpeedComponent(6, 0) - val rccv = VisibleComponent(true) - val rcct = TypeComponent(EntityType.Matter) - val rightCollisionCellEntity = CellEntity(rcca, rccc, rccd, rccp, rccs, rccv, rcct) - - val tcca = AccelerationComponent(0, 0) - val tccc = CollidableComponent(true) - val tccd = DimensionComponent(8) - val tccp = PositionComponent(Point(160, 60)) - val tccs = SpeedComponent(6, -4) - val tccv = VisibleComponent(true) - val tcct = TypeComponent(EntityType.Matter) - val topCollisionCellEntity = CellEntity(tcca, tccc, tccd, tccp, tccs, tccv, tcct) - - val bcca = AccelerationComponent(0, 0) - val bccc = CollidableComponent(true) - val bccd = DimensionComponent(5) - val bccp = PositionComponent(Point(115, 144)) - val bccs = SpeedComponent(-2, 7) - val bccv = VisibleComponent(true) - val bcct = TypeComponent(EntityType.Matter) - val bottomCollisionCellEntity = CellEntity(bcca, bccc, bccd, bccp, bccs, bccv, bcct) - - EntityManager.add(leftCollisionCellEntity) - EntityManager.add(rightCollisionCellEntity) - EntityManager.add(topCollisionCellEntity) - EntityManager.add(bottomCollisionCellEntity) - - movementSystem.update() - - assert(leftCollisionCellEntity.getSpeedComponent == SpeedComponent(4.0, 2.0)) - assert(leftCollisionCellEntity.getPositionComponent.point == Point(85.0, 58.0)) - - assert(rightCollisionCellEntity.getSpeedComponent == SpeedComponent(-6.0, 0.0)) - assert(rightCollisionCellEntity.getPositionComponent.point == Point(229.0, 90.0)) - - assert(topCollisionCellEntity.getSpeedComponent == SpeedComponent(6.0, 4.0)) - assert(topCollisionCellEntity.getPositionComponent.point == Point(166.0, 60.0)) - - assert(bottomCollisionCellEntity.getSpeedComponent == SpeedComponent(-2.0, -7.0)) - assert(bottomCollisionCellEntity.getPositionComponent.point == Point(113.0, 139.0)) - } - - test("Rectangular shape field instant death rule") { - val mapShape = Rectangle((160, 100), 100, 160) - initEntityManager(mapShape, CollisionRules.instantDeath) - - val lcca = AccelerationComponent(0, 0) - val lccc = CollidableComponent(true) - val lccd = DimensionComponent(2) - val lccp = PositionComponent(Point(83, 56)) - val lccs = SpeedComponent(-4, 2) - val lccv = VisibleComponent(true) - val lcct = TypeComponent(EntityType.Matter) - val leftCollisionCellEntity = CellEntity(lcca, lccc, lccd, lccp, lccs, lccv, lcct) - - val rcca = AccelerationComponent(0, 0) - val rccc = CollidableComponent(true) - val rccd = DimensionComponent(7) - val rccp = PositionComponent(Point(231, 90)) - val rccs = SpeedComponent(6, 0) - val rccv = VisibleComponent(true) - val rcct = TypeComponent(EntityType.Matter) - val rightCollisionCellEntity = CellEntity(rcca, rccc, rccd, rccp, rccs, rccv, rcct) - - val tcca = AccelerationComponent(0, 0) - val tccc = CollidableComponent(true) - val tccd = DimensionComponent(8) - val tccp = PositionComponent(Point(160, 60)) - val tccs = SpeedComponent(6, -4) - val tccv = VisibleComponent(true) - val tcct = TypeComponent(EntityType.Matter) - val topCollisionCellEntity = CellEntity(tcca, tccc, tccd, tccp, tccs, tccv, tcct) - - val bcca = AccelerationComponent(0, 0) - val bccc = CollidableComponent(true) - val bccd = DimensionComponent(5) - val bccp = PositionComponent(Point(115, 144)) - val bccs = SpeedComponent(-2, 7) - val bccv = VisibleComponent(true) - val bcct = TypeComponent(EntityType.Matter) - val bottomCollisionCellEntity = CellEntity(bcca, bccc, bccd, bccp, bccs, bccv, bcct) - - EntityManager.add(leftCollisionCellEntity) - EntityManager.add(rightCollisionCellEntity) - EntityManager.add(topCollisionCellEntity) - EntityManager.add(bottomCollisionCellEntity) - - movementSystem.update() - - assert(leftCollisionCellEntity.getSpeedComponent == lccs) - assert(leftCollisionCellEntity.getPositionComponent.point == Point(79.0, 58.0)) - assert(leftCollisionCellEntity.getDimensionComponent.radius == -1) - - assert(rightCollisionCellEntity.getSpeedComponent == rccs) - assert(rightCollisionCellEntity.getPositionComponent.point == Point(237.0, 90.0)) - assert(rightCollisionCellEntity.getDimensionComponent.radius == 3.0) - - assert(topCollisionCellEntity.getSpeedComponent == tccs) - assert(topCollisionCellEntity.getPositionComponent.point == Point(166.0, 56.0)) - assert(topCollisionCellEntity.getDimensionComponent.radius == 6.0) - - assert(bottomCollisionCellEntity.getSpeedComponent == bccs) - assert(bottomCollisionCellEntity.getPositionComponent.point == Point(113.0, 151.0)) - assert(bottomCollisionCellEntity.getDimensionComponent.radius == -1) - } - - test("Circular shape field bouncing") { - val levelCenter = Point(300.0, 300.0) - val levelRadius = 200.0 - val mapShape = Circle((levelCenter.x, levelCenter.y), levelRadius) - initEntityManager(mapShape, CollisionRules.bouncing) - - val ca = AccelerationComponent(0, 0) - val cc = CollidableComponent(true) - val cd = DimensionComponent(20) - val cp = PositionComponent(Point(118, 300)) - val cs = SpeedComponent(-10.0, -20.0) - val cv = VisibleComponent(true) - val ct = TypeComponent(EntityType.Matter) - val cellEntity = CellEntity(ca, cc, cd, cp, cs, cv, ct) - - EntityManager.add(cellEntity) - - movementSystem.update() - - assert(cellEntity.getPositionComponent.point == Point(120.04654311426577, 304.09308622853155)) - assert(cellEntity.getSpeedComponent.vector == utils.Vector(9.080318896799085, -20.43398660889337)) - } - - test("Circular shape field instant death") { - val levelCenter = Point(300.0, 300.0) - val levelRadius = 200.0 - val mapShape = Circle((levelCenter.x, levelCenter.y), levelRadius) - initEntityManager(mapShape, CollisionRules.instantDeath) - - val ca = AccelerationComponent(0, 0) - val cc = CollidableComponent(true) - val cd = DimensionComponent(20) - val cp = PositionComponent(Point(118, 300)) - val cs = SpeedComponent(-10.0, -20.0) - val cv = VisibleComponent(true) - val ct = TypeComponent(EntityType.Matter) - val cellEntity = CellEntity(ca, cc, cd, cp, cs, cv, ct) - - EntityManager.add(cellEntity) - - movementSystem.update() - - assert(cellEntity.getPositionComponent.point == Point(108.0, 280.0)) - assert(cellEntity.getSpeedComponent.vector == utils.Vector(-10.0, -20.0)) - assert(cellEntity.getDimensionComponent.radius == 6.961143807781525) - } - - private def computePositionAfterBounce(currentPosition: Point, precPosition: Point, levelRadius: Double, levelCenter: Point): Point = { - val straightLine = GeometricalStraightLine(currentPosition, precPosition) - val circumference = GeometricalCircumference(levelCenter, levelRadius) - - // computing intersection between straight line and circumference - val eq_a = 1 + Math.pow(straightLine.m, 2) - val eq_b = 2 * straightLine.m * straightLine.q + circumference.a + circumference.b * straightLine.m - val eq_c = Math.pow(straightLine.q, 2) + circumference.b * straightLine.q + circumference.c - val delta = Math.pow(eq_b, 2) - 4 * eq_a * eq_c - - // x1,x2 = (-b ± sqrt(Δ) / 2 * a) - val x_1 = (-eq_b + Math.sqrt(delta)) / 2 * eq_a - val y_1 = straightLine.m * x_1 + straightLine.q - val p_1 = Point(x_1, y_1) - - var tangentToCircumference: GeometricalStraightLine = null - - MathUtils.isPointBetweenPoints(p_1, precPosition, currentPosition) match { - case true => - val straightLineFromCenterToP_1 = GeometricalStraightLine(p_1, levelCenter) - val tang_m = -1 / straightLineFromCenterToP_1.m - val tang_q = straightLineFromCenterToP_1.q - tangentToCircumference = GeometricalStraightLine(tang_m, tang_q) - case false => - // must compute second result - val x_2 = (-eq_b - Math.sqrt(delta)) / 2 * eq_a - val y_2 = straightLine.m * x_2 + straightLine.q - val p_2 = Point(x_2, y_2) - - val straightLineFromCenterToP_2 = GeometricalStraightLine(p_2, levelCenter) - val tang_m = -1 / straightLineFromCenterToP_2.m - val tang_q = straightLineFromCenterToP_2.q - tangentToCircumference = GeometricalStraightLine(tang_m, tang_q) - } +/* +private def computePositionAfterBounce(currentPosition: Point, precPosition: Point, levelRadius: Double, levelCenter: Point): Point = { +val straightLine = GeometricalStraightLine(currentPosition, precPosition) +val circumference = GeometricalCircumference(levelCenter, levelRadius) + +// computing intersection between straight line and circumference +val eq_a = 1 + Math.pow(straightLine.m, 2) +val eq_b = 2 * straightLine.m * straightLine.q + circumference.a + circumference.b * straightLine.m +val eq_c = Math.pow(straightLine.q, 2) + circumference.b * straightLine.q + circumference.c +val delta = Math.pow(eq_b, 2) - 4 * eq_a * eq_c + +// x1,x2 = (-b ± sqrt(Δ) / 2 * a) +val x_1 = (-eq_b + Math.sqrt(delta)) / 2 * eq_a +val y_1 = straightLine.m * x_1 + straightLine.q +val p_1 = Point(x_1, y_1) + +var tangentToCircumference: GeometricalStraightLine = null + +MathUtils.isPointBetweenPoints(p_1, precPosition, currentPosition) match { +case true => +val straightLineFromCenterToP_1 = GeometricalStraightLine(p_1, levelCenter) +val tang_m = -1 / straightLineFromCenterToP_1.m +val tang_q = straightLineFromCenterToP_1.q +tangentToCircumference = GeometricalStraightLine(tang_m, tang_q) +case false => +// must compute second result +val x_2 = (-eq_b - Math.sqrt(delta)) / 2 * eq_a +val y_2 = straightLine.m * x_2 + straightLine.q +val p_2 = Point(x_2, y_2) + +val straightLineFromCenterToP_2 = GeometricalStraightLine(p_2, levelCenter) +val tang_m = -1 / straightLineFromCenterToP_2.m +val tang_q = straightLineFromCenterToP_2.q +tangentToCircumference = GeometricalStraightLine(tang_m, tang_q) +} - val perpendicular_m = -1 / tangentToCircumference.m - val perpendicular_q = 1 / tangentToCircumference.m * currentPosition.x + currentPosition.y - val perpendicularOfTangent = GeometricalStraightLine(perpendicular_m, perpendicular_q) +val perpendicular_m = -1 / tangentToCircumference.m +val perpendicular_q = 1 / tangentToCircumference.m * currentPosition.x + currentPosition.y +val perpendicularOfTangent = GeometricalStraightLine(perpendicular_m, perpendicular_q) - val midPointX = (perpendicularOfTangent.q - tangentToCircumference.q) / (perpendicularOfTangent.m - tangentToCircumference.m) - val midPointY = tangentToCircumference.m * midPointX + tangentToCircumference.q +val midPointX = (perpendicularOfTangent.q - tangentToCircumference.q) / (perpendicularOfTangent.m - tangentToCircumference.m) +val midPointY = tangentToCircumference.m * midPointX + tangentToCircumference.q - Point(2 * midPointX - currentPosition.x, 2 * midPointY - currentPosition.y) - } +Point(2 * midPointX - currentPosition.x, 2 * midPointY - currentPosition.y) } trait GeometricalStraightLine { @@ -324,3 +139,4 @@ object GeometricalCircumference { } } +*/ From f4887930c952a5039a64309b99731614e5982fa7 Mon Sep 17 00:00:00 2001 From: Giacomo Date: Mon, 27 Aug 2018 11:53:40 +0200 Subject: [PATCH 84/91] remove useless code and improve test description --- .../unibo/osmos/redux/TestEndGameSystem.scala | 26 +++++++------------ 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/src/test/scala/it/unibo/osmos/redux/TestEndGameSystem.scala b/src/test/scala/it/unibo/osmos/redux/TestEndGameSystem.scala index 737015d1..c615869e 100644 --- a/src/test/scala/it/unibo/osmos/redux/TestEndGameSystem.scala +++ b/src/test/scala/it/unibo/osmos/redux/TestEndGameSystem.scala @@ -22,7 +22,6 @@ class TestEndGameSystem extends FunSuite with BeforeAndAfter { override def onLevelEnd(levelResult: Boolean): Unit = {} } private var levelContext: LevelContext = _ - private var endGameSystem: EndGameSystem = _ before { levelContext = LevelContext(levelContextListener, true) @@ -32,13 +31,8 @@ class TestEndGameSystem extends FunSuite with BeforeAndAfter { EntityManager.clear() } - private def initEntityManager(victoryRules: VictoryRules.Value) { - endGameSystem = EndGameSystem(levelContext, victoryRules) - EntityManager.subscribe(endGameSystem, null) - } - - test("Become the biggest victory") { - initEntityManager(VictoryRules.becomeTheBiggest) + test("Become the biggest victory rule: the player wins having his entity radius greater than the other entities radius") { + val endGameSystem = EndGameSystem(levelContext, VictoryRules.becomeTheBiggest) val sca = AccelerationComponent(0, 0) val scc = CollidableComponent(true) @@ -69,8 +63,8 @@ class TestEndGameSystem extends FunSuite with BeforeAndAfter { assert(levelContext.gameCurrentState == GameWon) } - test("Antimatter cells are ignored for become the biggest victory") { - initEntityManager(VictoryRules.becomeTheBiggest) + test("Become the biggest victory rule: antimatter entities radius is ignored for the player victory") { + val endGameSystem = EndGameSystem(levelContext, VictoryRules.becomeTheBiggest) val sca = AccelerationComponent(0, 0) val scc = CollidableComponent(true) @@ -111,8 +105,8 @@ class TestEndGameSystem extends FunSuite with BeforeAndAfter { assert(levelContext.gameCurrentState == GameWon) } - test("Become huge victory") { - initEntityManager(VictoryRules.becomeHuge) + test("Become huge victory: the player wins after having his entity radius greater than a certain percentage of the total entities radius") { + val endGameSystem = EndGameSystem(levelContext, VictoryRules.becomeHuge) val entityList: ListBuffer[CellEntity] = ListBuffer() @@ -156,8 +150,8 @@ class TestEndGameSystem extends FunSuite with BeforeAndAfter { assert(levelContext.gameCurrentState == GameWon) } - test("Absorb hostile cells victory") { - initEntityManager(VictoryRules.absorbTheHostileCells) + test("Absorb hostile cells victory rule: the player wins after no more sentient entities are alive") { + val endGameSystem = EndGameSystem(levelContext, VictoryRules.absorbTheHostileCells) val pca = AccelerationComponent(0, 0) val pcc = CollidableComponent(true) @@ -200,8 +194,8 @@ class TestEndGameSystem extends FunSuite with BeforeAndAfter { assert(levelContext.gameCurrentState == GameWon) } - test("Player death loss") { - initEntityManager(VictoryRules.becomeTheBiggest) + test("The game is lost after the player's entity is not alive") { + val endGameSystem = EndGameSystem(levelContext, VictoryRules.becomeTheBiggest) val bca = AccelerationComponent(0, 0) val bcc = CollidableComponent(true) From f7118741e819ad01d5f1c8cf5eeba3130fab8e54 Mon Sep 17 00:00:00 2001 From: Placu Date: Mon, 27 Aug 2018 14:06:21 +0200 Subject: [PATCH 85/91] fix test --- .../osmos/redux/TestCollisionSystem.scala | 29 ++++++------------- 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala b/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala index 7adc8b4c..6a8d648e 100644 --- a/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala +++ b/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala @@ -11,18 +11,13 @@ import org.scalatest.{BeforeAndAfter, FunSuite} class TestCollisionSystem extends FunSuite with BeforeAndAfter { val entity1 = CellEntity(AccelerationComponent(0, 0), CollidableComponent(true), DimensionComponent(5), - PositionComponent(Point(20, 30)), SpeedComponent(0, 0), VisibleComponent(true), TypeComponent(EntityType.Matter)) + PositionComponent(Point(70, 50)), SpeedComponent(0, 0), VisibleComponent(true), TypeComponent(EntityType.Matter)) val entity2 = CellEntity(AccelerationComponent(0, 0), CollidableComponent(true), DimensionComponent(2), PositionComponent(Point(60, 80)), SpeedComponent(0, 0), VisibleComponent(true), TypeComponent(EntityType.Matter)) val antiMatterEntity = CellEntity(AccelerationComponent(0, 0), CollidableComponent(true), DimensionComponent(2), PositionComponent(Point(65, 81)), SpeedComponent(0, 0), VisibleComponent(true), TypeComponent(EntityType.AntiMatter)) var levelInfo: Level = _ - /*Level(1, - LevelMap( Rectangle((100, 100), 100, 150), CollisionRules.bouncing), - null, - VictoryRules.becomeTheBiggest, - false)*/ before { setupLevelInfo(Rectangle((100, 100), 100, 150), CollisionRules.bouncing) @@ -56,24 +51,23 @@ class TestCollisionSystem extends FunSuite with BeforeAndAfter { test("CollisionSystem should not consider entities that do not have CollisionProperty") { val system = CollisionSystem(levelInfo) - val position = Point(60, 80) - entity1.getPositionComponent.point_(position) + entity1.getPositionComponent.point_(Point(56, 79)) entity2.getCollidableComponent.setCollidable(true) - entity2.getPositionComponent.point_(position) + entity2.getPositionComponent.point_(Point(60, 80)) entity2.getCollidableComponent.setCollidable(false) - val originalDim1 = entity1.getDimensionComponent - val originalAccel1 = entity1.getAccelerationComponent - val originalDim2 = entity2.getDimensionComponent - val originalAccel2 = entity2.getAccelerationComponent + val originalDim1 = entity1.getDimensionComponent.radius + val originalAccel1 = entity1.getAccelerationComponent.vector + val originalDim2 = entity2.getDimensionComponent.radius + val originalAccel2 = entity2.getAccelerationComponent.vector EntityManager.add(entity1) EntityManager.add(entity2) system.update() - assert(entity1.getDimensionComponent == originalDim1 && entity1.getAccelerationComponent == originalAccel1 && - entity2.getDimensionComponent == originalDim2 && entity2.getAccelerationComponent == originalAccel2) + assert(entity1.getDimensionComponent.radius == originalDim1 && entity1.getAccelerationComponent.vector == originalAccel1 && + entity2.getDimensionComponent.radius == originalDim2 && entity2.getAccelerationComponent.vector == originalAccel2) } test("CollisionSystem should not collide two entities if the distance between the centers is greater than the sum of their radii") { @@ -103,11 +97,6 @@ class TestCollisionSystem extends FunSuite with BeforeAndAfter { entity2.getPositionComponent.point_(Point(66, 80)) entity2.getCollidableComponent.setCollidable(true) - val originalDim1 = DimensionComponent(entity1.getDimensionComponent.radius) - val originalAccel1 = AccelerationComponent(entity1.getAccelerationComponent.vector.x, entity1.getAccelerationComponent.vector.y) - val originalDim2 = DimensionComponent(entity2.getDimensionComponent.radius) - val originalAccel2 = AccelerationComponent(entity2.getAccelerationComponent.vector.x, entity2.getAccelerationComponent.vector.y) - EntityManager.add(entity1) EntityManager.add(entity2) From cdd16f54bc6fe1fac4982245f456e248f3d30764 Mon Sep 17 00:00:00 2001 From: Placu Date: Mon, 27 Aug 2018 14:45:26 +0200 Subject: [PATCH 86/91] add test: After collision between two entities, both entities remain within the map --- .../osmos/redux/TestCollisionSystem.scala | 32 +++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala b/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala index 6a8d648e..e7df4e50 100644 --- a/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala +++ b/src/test/scala/it/unibo/osmos/redux/TestCollisionSystem.scala @@ -31,8 +31,7 @@ class TestCollisionSystem extends FunSuite with BeforeAndAfter { levelInfo = Level(1, LevelMap(mapShape, collisionRules), null, - VictoryRules.becomeTheBiggest, - false) + VictoryRules.becomeTheBiggest) } test("CollisionSystem should not collide the entity with herself") { @@ -301,4 +300,33 @@ class TestCollisionSystem extends FunSuite with BeforeAndAfter { assert(cellEntity.getSpeedComponent.vector == utils.Vector(-10.0, -20.0)) assert(cellEntity.getDimensionComponent.radius == 6.961143807781525) } + + test("After collision between two entities, both entities remain within the map") { + val system = CollisionSystem(levelInfo) + + entity1.getDimensionComponent.radius_(10) + entity1.getPositionComponent.point_(Point(61, 36)) + entity1.getCollidableComponent.setCollidable(true) + entity2.getDimensionComponent.radius_(6) + entity2.getPositionComponent.point_(Point(60, 49)) + entity2.getCollidableComponent.setCollidable(true) + + EntityManager.add(entity1) + EntityManager.add(entity2) + + system.update() + val map = levelInfo.levelMap.mapShape.asInstanceOf[Rectangle] + val boundaryLeft = map.center._1 - map.base/2 + val boundaryRight = map.center._1 + map.base/2 + val boundaryTop = map.center._2 + map.height/2 + val boundaryBottom = map.center._2 - map.height/2 + + assert(entity1.getPositionComponent.point.x >= boundaryLeft + entity1.getDimensionComponent.radius) + assert(entity1.getPositionComponent.point.x <= boundaryRight - entity1.getDimensionComponent.radius) + assert(entity1.getPositionComponent.point.y >= boundaryBottom + entity1.getDimensionComponent.radius) + assert(entity1.getPositionComponent.point.y <= boundaryTop - entity1.getDimensionComponent.radius) + assert(entity2.getPositionComponent.point.x >= boundaryLeft + entity2.getDimensionComponent.radius) + assert(entity2.getPositionComponent.point.x <= boundaryRight - entity2.getDimensionComponent.radius) + assert(entity2.getPositionComponent.point.y >= boundaryBottom + entity2.getDimensionComponent.radius) + assert(entity2.getPositionComponent.point.y <= boundaryTop - entity2.getDimensionComponent.radius) } } From 79685df6e931f569f5e98eef1b616280d95b6762 Mon Sep 17 00:00:00 2001 From: Placu Date: Mon, 27 Aug 2018 15:03:35 +0200 Subject: [PATCH 87/91] add comments --- .../unibo/osmos/redux/ecs/systems/CollisionSystem.scala | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala b/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala index b48d78d7..5a062d3d 100644 --- a/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala +++ b/src/main/scala/it/unibo/osmos/redux/ecs/systems/CollisionSystem.scala @@ -25,7 +25,9 @@ case class CollisionSystem(levelInfo: Level) extends AbstractSystem[CollidablePr override def getGroupProperty: Class[CollidableProperty] = classOf[CollidableProperty] override def update(): Unit = { + //check collision with boundary entities foreach(e => bounceRule.checkCollision(e)) + //check collision other entities for { (e1, xIndex) <- entities.zipWithIndex (e2, yIndex) <- entities.zipWithIndex @@ -98,6 +100,12 @@ case class CollisionSystem(levelInfo: Level) extends AbstractSystem[CollidablePr moveEntitiesAfterCollision(bigEntity, smallEntity, quantityToMove) } + /** + * move each entity in the opposite direction to the other of quantity to move, and check collision with boundary + * @param entity1 first entity + * @param entity2 second entity + * @param quantityToMove shift of each entity + */ private def moveEntitiesAfterCollision(entity1: CollidableProperty, entity2: CollidableProperty, quantityToMove: Double): Unit = { val position1 = entity1.getPositionComponent val position2 = entity2.getPositionComponent From 26459c154b62d917e77cf9d1b3525c599cdced73 Mon Sep 17 00:00:00 2001 From: Giacomo Date: Mon, 27 Aug 2018 16:44:37 +0200 Subject: [PATCH 88/91] add task for generating fatJar --- build.gradle | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index b7005800..5ce46aa9 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,11 @@ apply plugin: 'scala' apply plugin: 'idea' apply plugin: 'application' -version '1.0' +version '1.1' + +configurations { + fatJar +} mainClassName = 'it.unibo.osmos.redux.main.AppLauncher' sourceCompatibility = 1.8 @@ -41,6 +45,8 @@ dependencies { compile group: 'io.spray', name: 'spray-json_2.12', version: '1.3.4' compile group: 'it.unibo.alice.tuprolog', name: 'tuprolog', version: '3.2.1' + fatJar 'org.scala-lang:scala-library:2.11.7' + testCompile group: 'junit', name: 'junit', version: '4.12' testCompile group: 'org.scalatest', name: 'scalatest_2.12', version: '3.0.5' testCompile group: 'org.scalamock', name: 'scalamock-scalatest-support_2.12', version: '3.6.0' @@ -56,3 +62,27 @@ task scalaTests(dependsOn: ['testClasses'], type: JavaExec) { args = ['-R', 'build/classes/scala/test', '-o'] classpath = sourceSets.test.runtimeClasspath } + +// jar will be saved to build/libs +task fatJar(type: Jar, dependsOn: subprojects.compileJava) { + println("creating fatJar") + manifest { + attributes 'Implementation-Title': 'Osmos-Redux', + 'Implementation-Version': rootProject.version, + 'Main-Class': 'it.unibo.osmos.redux.main.AppLauncher' + } + baseName = "${rootProject.name}" + from(configurations.runtime.collect { it.isDirectory() ? it : zipTree(it) }) { + // remove all signature files + exclude "META-INF/*.SF" + exclude "META-INF/*.DSA" + exclude "META-INF/*.RSA" + exclude 'build' + exclude '.gradle' + exclude 'build.gradle' + exclude 'gradle' + exclude 'gradlew' + exclude 'gradlew.bat' + } + with jar +} From 8af74dbb7df90e1fbc7de826962c5596719b6d61 Mon Sep 17 00:00:00 2001 From: Giacomo Date: Mon, 27 Aug 2018 17:34:06 +0200 Subject: [PATCH 89/91] upadate version --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 5ce46aa9..acfc4970 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,7 @@ apply plugin: 'scala' apply plugin: 'idea' apply plugin: 'application' -version '1.1' +version '1.1.0' configurations { fatJar From 7e1b15fa165ce5f24ad5f702d7b32fb53467d982 Mon Sep 17 00:00:00 2001 From: Giacomo Date: Mon, 27 Aug 2018 18:37:31 +0200 Subject: [PATCH 90/91] add scaladoc --- docs/scaladoc/index.html | 158 + docs/scaladoc/index.js | 1 + docs/scaladoc/it/index.html | 174 + docs/scaladoc/it/unibo/index.html | 190 + docs/scaladoc/it/unibo/osmos/index.html | 206 + .../components/AccelerationComponent$.html | 728 +++ .../ecs/components/AccelerationComponent.html | 749 +++ .../ecs/components/CollidableComponent$.html | 712 +++ .../ecs/components/CollidableComponent.html | 732 +++ .../osmos/redux/ecs/components/Component.html | 695 +++ .../ecs/components/DimensionComponent$.html | 712 +++ .../ecs/components/DimensionComponent.html | 732 +++ .../redux/ecs/components/EntityType$.html | 1019 ++++ .../MassComponent$$MassComponentImpl.html | 684 +++ .../redux/ecs/components/MassComponent$.html | 731 +++ .../redux/ecs/components/MassComponent.html | 721 +++ .../ecs/components/PositionComponent$.html | 728 +++ .../ecs/components/PositionComponent.html | 732 +++ .../redux/ecs/components/SpawnAction.html | 718 +++ .../ecs/components/SpawnerComponent$.html | 712 +++ .../ecs/components/SpawnerComponent.html | 814 +++ .../components/SpecificWeightComponent.html | 686 +++ .../redux/ecs/components/SpeedComponent$.html | 728 +++ .../redux/ecs/components/SpeedComponent.html | 734 +++ .../redux/ecs/components/TypeComponent.html | 686 +++ .../redux/ecs/components/VectorComponent.html | 734 +++ .../ecs/components/VisibleComponent$.html | 712 +++ .../ecs/components/VisibleComponent.html | 732 +++ .../osmos/redux/ecs/components/index.html | 734 +++ .../ecs/engine/ExceededTickTimeException.html | 842 +++ .../osmos/redux/ecs/engine/GameEngine$.html | 673 +++ .../osmos/redux/ecs/engine/GameEngine.html | 808 +++ .../osmos/redux/ecs/engine/GameLoop.html | 1313 +++++ .../osmos/redux/ecs/engine/GameStatus$.html | 957 +++ .../unibo/osmos/redux/ecs/engine/index.html | 414 ++ .../redux/ecs/entities/AbstractEntity.html | 801 +++ .../redux/ecs/entities/Acceleration.html | 782 +++ .../osmos/redux/ecs/entities/CellBuilder.html | 938 +++ .../osmos/redux/ecs/entities/CellEntity$.html | 788 +++ .../osmos/redux/ecs/entities/CellEntity.html | 936 +++ .../osmos/redux/ecs/entities/Collidable.html | 782 +++ .../ecs/entities/CollidableProperty.html | 884 +++ .../redux/ecs/entities/DeathProperty.html | 804 +++ .../osmos/redux/ecs/entities/Dimension.html | 782 +++ .../redux/ecs/entities/DrawableProperty.html | 864 +++ .../ecs/entities/EMEvents$$EntityCreated.html | 660 +++ .../ecs/entities/EMEvents$$EntityDeleted.html | 660 +++ .../EMEvents$$EntityManagerEvent.html | 690 +++ .../osmos/redux/ecs/entities/EMEvents$.html | 841 +++ .../redux/ecs/entities/EntityManager$.html | 915 +++ .../redux/ecs/entities/EntityManager.html | 869 +++ .../ecs/entities/GravityCellEntity$.html | 788 +++ .../redux/ecs/entities/GravityCellEntity.html | 975 +++ .../redux/ecs/entities/GravityProperty.html | 824 +++ .../redux/ecs/entities/InputProperty.html | 864 +++ .../unibo/osmos/redux/ecs/entities/Mass.html | 782 +++ .../redux/ecs/entities/MovableProperty.html | 844 +++ .../osmos/redux/ecs/entities/Observable.html | 780 +++ .../osmos/redux/ecs/entities/Observer.html | 778 +++ .../redux/ecs/entities/PlayerCellEntity$.html | 804 +++ .../redux/ecs/entities/PlayerCellEntity.html | 955 +++ .../osmos/redux/ecs/entities/Position.html | 782 +++ .../osmos/redux/ecs/entities/Property.html | 759 +++ .../ecs/entities/SentientCellEntity$.html | 772 +++ .../ecs/entities/SentientCellEntity.html | 935 +++ .../ecs/entities/SentientEnemyProperty.html | 846 +++ .../redux/ecs/entities/SentientProperty.html | 844 +++ .../osmos/redux/ecs/entities/Spawner.html | 782 +++ .../redux/ecs/entities/SpecificWeight.html | 782 +++ .../unibo/osmos/redux/ecs/entities/Speed.html | 782 +++ .../unibo/osmos/redux/ecs/entities/Type.html | 782 +++ .../osmos/redux/ecs/entities/Visible.html | 782 +++ .../unibo/osmos/redux/ecs/entities/index.html | 980 ++++ .../it/unibo/osmos/redux/ecs/index.html | 334 ++ .../AbsorbCellsWithTypeVictoryCondition.html | 734 +++ .../redux/ecs/systems/AbstractBorder.html | 784 +++ .../redux/ecs/systems/AbstractSystem.html | 820 +++ .../AbstractSystemWithThreeTypeOfEntity.html | 884 +++ .../AbstractSystemWithTwoTypeOfEntity.html | 855 +++ .../ecs/systems/AbstractVictoryCondition.html | 768 +++ .../systems/BecomeHugeVictoryCondition.html | 718 +++ .../BecomeTheBiggestVictoryCondition.html | 718 +++ .../ecs/systems/CellsEliminationSystem.html | 786 +++ .../redux/ecs/systems/CircularBorder.html | 782 +++ .../redux/ecs/systems/CollisionSystem.html | 786 +++ .../osmos/redux/ecs/systems/DrawSystem.html | 820 +++ .../redux/ecs/systems/EndGameSystem.html | 837 +++ .../redux/ecs/systems/GravitySystem.html | 804 +++ .../osmos/redux/ecs/systems/InputSystem.html | 838 +++ .../redux/ecs/systems/MovementSystem.html | 770 +++ .../redux/ecs/systems/RectangularBorder.html | 798 +++ .../ecs/systems/SentientPrologSystem.html | 804 +++ .../redux/ecs/systems/SentientSystem.html | 836 +++ .../osmos/redux/ecs/systems/SpawnSystem.html | 770 +++ .../unibo/osmos/redux/ecs/systems/System.html | 748 +++ .../unibo/osmos/redux/ecs/systems/index.html | 719 +++ docs/scaladoc/it/unibo/osmos/redux/index.html | 270 + .../unibo/osmos/redux/main/AppLauncher$.html | 775 +++ .../it/unibo/osmos/redux/main/index.html | 319 + .../redux/mvc/controller/Controller.html | 787 +++ .../redux/mvc/controller/ControllerImpl.html | 772 +++ .../redux/mvc/controller/FileManager$.html | 972 +++ .../osmos/redux/mvc/controller/index.html | 363 ++ .../it/unibo/osmos/redux/mvc/index.html | 318 + .../osmos/redux/mvc/model/CellType$.html | 743 +++ .../redux/mvc/model/CollisionRules$.html | 950 +++ ...JsonProtocols$$AccelerationFormatter$.html | 768 +++ .../JsonProtocols$$CellEntityFormatter$.html | 768 +++ .../JsonProtocols$$CollidableFormatter$.html | 768 +++ ...sonProtocols$$ComponentTypeFormatter$.html | 768 +++ .../JsonProtocols$$DimensionFormatter$.html | 768 +++ .../JsonProtocols$$EntityTypeFormatter$.html | 768 +++ ...rotocols$$GravityCellEntityFormatter$.html | 768 +++ .../JsonProtocols$$LevelMapFormatter$.html | 768 +++ .../JsonProtocols$$MapShapeFormatter$.html | 768 +++ ...Protocols$$PlayerCellEntityFormatter$.html | 768 +++ .../model/JsonProtocols$$PointFormatter$.html | 768 +++ .../JsonProtocols$$PositionFormatter$.html | 768 +++ ...otocols$$SentientCellEntityFormatter$.html | 768 +++ .../JsonProtocols$$SpawnerFormatter$.html | 768 +++ .../model/JsonProtocols$$SpeedFormatter$.html | 768 +++ .../JsonProtocols$$VictoryRuleFormatter$.html | 768 +++ .../JsonProtocols$$VisibleFormatter$.html | 768 +++ .../osmos/redux/mvc/model/JsonProtocols$.html | 1015 ++++ .../it/unibo/osmos/redux/mvc/model/Level.html | 782 +++ .../unibo/osmos/redux/mvc/model/LevelMap.html | 686 +++ .../redux/mvc/model/MapShape$$Circle.html | 688 +++ .../redux/mvc/model/MapShape$$Rectangle.html | 704 +++ .../osmos/redux/mvc/model/MapShape$.html | 747 +++ .../unibo/osmos/redux/mvc/model/MapShape.html | 721 +++ .../it/unibo/osmos/redux/mvc/model/Model.html | 679 +++ .../redux/mvc/model/SinglePlayerLevels$.html | 694 +++ .../mvc/model/UserProgress$$UserStat.html | 650 ++ .../osmos/redux/mvc/model/UserProgress$.html | 729 +++ .../osmos/redux/mvc/model/VictoryRules$.html | 982 ++++ .../it/unibo/osmos/redux/mvc/model/index.html | 524 ++ .../osmos/redux/mvc/view/View$$ViewImpl.html | 789 +++ .../it/unibo/osmos/redux/mvc/view/View$.html | 795 +++ .../it/unibo/osmos/redux/mvc/view/View.html | 785 +++ .../mvc/view/ViewConstants$$Entities$.html | 744 +++ .../mvc/view/ViewConstants$$Window$.html | 713 +++ .../osmos/redux/mvc/view/ViewConstants$.html | 792 +++ .../redux/mvc/view/components/LevelNode.html | 5223 +++++++++++++++++ .../view/components/LevelNodeListener.html | 715 +++ .../view/components/LevelScreen$$Builder.html | 704 +++ .../LevelScreen$$LevelScreenImpl.html | 5069 ++++++++++++++++ .../mvc/view/components/LevelScreen$.html | 726 +++ .../mvc/view/components/LevelStateBox.html | 5112 ++++++++++++++++ .../components/LevelStateBoxListener.html | 750 +++ .../mvc/view/components/MainMenuBar.html | 5112 ++++++++++++++++ .../view/components/MainMenuBarListener.html | 716 +++ .../view/components/MainMenuCenterBox.html | 5128 ++++++++++++++++ .../components/MainMenuCenterBoxListener.html | 733 +++ .../redux/mvc/view/components/index.html | 570 ++ .../mvc/view/drawables/CellDrawable.html | 764 +++ .../view/drawables/CellWithSpeedDrawable.html | 761 +++ .../mvc/view/drawables/CircleDrawable.html | 744 +++ .../redux/mvc/view/drawables/Drawable.html | 692 +++ .../mvc/view/drawables/DrawableWrapper.html | 727 +++ .../mvc/view/drawables/EntitiesDrawer.html | 711 +++ .../mvc/view/drawables/ImageDrawable.html | 713 +++ .../view/drawables/StaticImageDrawable.html | 806 +++ .../osmos/redux/mvc/view/drawables/index.html | 517 ++ .../redux/mvc/view/events/EventWrapper.html | 692 +++ .../view/events/EventWrapperObservable.html | 727 +++ .../mvc/view/events/EventWrapperObserver.html | 711 +++ .../redux/mvc/view/events/GameLost$.html | 663 +++ .../redux/mvc/view/events/GamePending$.html | 663 +++ .../view/events/GameStateEventWrapper.html | 694 +++ .../osmos/redux/mvc/view/events/GameWon$.html | 663 +++ .../mvc/view/events/MouseEventWrapper.html | 681 +++ .../osmos/redux/mvc/view/events/index.html | 550 ++ .../it/unibo/osmos/redux/mvc/view/index.html | 472 ++ .../mvc/view/levels/GameStateHolder.html | 709 +++ .../redux/mvc/view/levels/LevelContext$.html | 684 +++ .../redux/mvc/view/levels/LevelContext.html | 792 +++ .../mvc/view/levels/LevelContextListener.html | 723 +++ .../osmos/redux/mvc/view/levels/index.html | 461 ++ .../redux/mvc/view/loaders/ImageLoader$.html | 715 +++ .../osmos/redux/mvc/view/loaders/Loader.html | 700 +++ .../osmos/redux/mvc/view/loaders/index.html | 423 ++ .../redux/mvc/view/scenes/BaseScene.html | 2604 ++++++++ .../redux/mvc/view/scenes/LevelScene.html | 2755 +++++++++ .../mvc/view/scenes/LevelSceneListener.html | 759 +++ .../mvc/view/scenes/LevelSelectionScene.html | 2745 +++++++++ .../scenes/LevelSelectionSceneListener.html | 781 +++ .../redux/mvc/view/scenes/MainScene.html | 2675 +++++++++ .../mvc/view/scenes/MainSceneListener.html | 708 +++ .../osmos/redux/mvc/view/scenes/index.html | 500 ++ ...maryStage$$OsmosReduxPrimaryStageImpl.html | 2149 +++++++ .../view/stages/OsmosReduxPrimaryStage$.html | 700 +++ .../view/stages/OsmosReduxPrimaryStage.html | 1946 ++++++ .../mvc/view/stages/PrimaryStageListener.html | 763 +++ .../osmos/redux/mvc/view/stages/index.html | 441 ++ .../osmos/redux/utils/InputEventQueue$.html | 711 +++ .../unibo/osmos/redux/utils/MathUtils$.html | 772 +++ .../it/unibo/osmos/redux/utils/Point$.html | 664 +++ .../it/unibo/osmos/redux/utils/Point.html | 736 +++ .../unibo/osmos/redux/utils/PrologRules$.html | 662 +++ .../it/unibo/osmos/redux/utils/Scala2P$.html | 870 +++ .../it/unibo/osmos/redux/utils/Vector$.html | 680 +++ .../it/unibo/osmos/redux/utils/Vector.html | 911 +++ .../it/unibo/osmos/redux/utils/index.html | 455 ++ docs/scaladoc/lib/MaterialIcons-Regular.eot | Bin 0 -> 137002 bytes docs/scaladoc/lib/MaterialIcons-Regular.ttf | Bin 0 -> 122640 bytes docs/scaladoc/lib/MaterialIcons-Regular.woff | Bin 0 -> 56792 bytes docs/scaladoc/lib/abstract_type.svg | 54 + docs/scaladoc/lib/class.svg | 54 + docs/scaladoc/lib/class_comp.svg | 57 + docs/scaladoc/lib/class_diagram.png | Bin 0 -> 3910 bytes docs/scaladoc/lib/diagrams.css | 203 + docs/scaladoc/lib/diagrams.js | 240 + docs/scaladoc/lib/index.css | 924 +++ docs/scaladoc/lib/index.js | 610 ++ docs/scaladoc/lib/jquery.js | 2 + docs/scaladoc/lib/jquery.mousewheel.min.js | 8 + docs/scaladoc/lib/jquery.panzoom.min.js | 9 + docs/scaladoc/lib/lato-v11-latin-100.eot | Bin 0 -> 30159 bytes docs/scaladoc/lib/lato-v11-latin-100.ttf | Bin 0 -> 76144 bytes docs/scaladoc/lib/lato-v11-latin-100.woff | Bin 0 -> 33288 bytes docs/scaladoc/lib/lato-v11-latin-regular.eot | Bin 0 -> 34943 bytes docs/scaladoc/lib/lato-v11-latin-regular.ttf | Bin 0 -> 81980 bytes docs/scaladoc/lib/lato-v11-latin-regular.woff | Bin 0 -> 35700 bytes docs/scaladoc/lib/modernizr.custom.js | 4 + docs/scaladoc/lib/object.svg | 54 + docs/scaladoc/lib/object_comp.svg | 57 + docs/scaladoc/lib/object_comp_trait.svg | 57 + docs/scaladoc/lib/object_diagram.png | Bin 0 -> 3903 bytes .../scaladoc/lib/open-sans-v13-latin-400i.eot | Bin 0 -> 23375 bytes .../scaladoc/lib/open-sans-v13-latin-400i.ttf | Bin 0 -> 212760 bytes .../lib/open-sans-v13-latin-400i.woff | Bin 0 -> 27252 bytes docs/scaladoc/lib/open-sans-v13-latin-700.eot | Bin 0 -> 47430 bytes docs/scaladoc/lib/open-sans-v13-latin-700.ttf | Bin 0 -> 224452 bytes .../scaladoc/lib/open-sans-v13-latin-700.woff | Bin 0 -> 25940 bytes .../scaladoc/lib/open-sans-v13-latin-700i.eot | Bin 0 -> 50570 bytes .../scaladoc/lib/open-sans-v13-latin-700i.ttf | Bin 0 -> 213168 bytes .../lib/open-sans-v13-latin-700i.woff | Bin 0 -> 27380 bytes .../lib/open-sans-v13-latin-regular.eot | Bin 0 -> 18233 bytes .../lib/open-sans-v13-latin-regular.ttf | Bin 0 -> 34156 bytes .../lib/open-sans-v13-latin-regular.woff | Bin 0 -> 20248 bytes docs/scaladoc/lib/ownderbg2.gif | Bin 0 -> 1145 bytes docs/scaladoc/lib/ownerbg.gif | Bin 0 -> 1118 bytes docs/scaladoc/lib/ownerbg2.gif | Bin 0 -> 1145 bytes docs/scaladoc/lib/package.svg | 54 + docs/scaladoc/lib/ref-index.css | 56 + docs/scaladoc/lib/scheduler.js | 108 + .../lib/source-code-pro-v6-latin-700.eot | Bin 0 -> 13750 bytes .../lib/source-code-pro-v6-latin-700.ttf | Bin 0 -> 27696 bytes .../lib/source-code-pro-v6-latin-700.woff | Bin 0 -> 15336 bytes .../lib/source-code-pro-v6-latin-regular.eot | Bin 0 -> 14004 bytes .../lib/source-code-pro-v6-latin-regular.ttf | Bin 0 -> 27916 bytes .../lib/source-code-pro-v6-latin-regular.woff | Bin 0 -> 15636 bytes docs/scaladoc/lib/template.css | 1179 ++++ docs/scaladoc/lib/template.js | 549 ++ docs/scaladoc/lib/tools.tooltip.js | 14 + docs/scaladoc/lib/trait.svg | 54 + docs/scaladoc/lib/trait_comp.svg | 57 + docs/scaladoc/lib/trait_diagram.png | Bin 0 -> 3882 bytes docs/scaladoc/lib/type_diagram.png | Bin 0 -> 1841 bytes gradle.properties | 2 +- 260 files changed, 184984 insertions(+), 1 deletion(-) create mode 100644 docs/scaladoc/index.html create mode 100644 docs/scaladoc/index.js create mode 100644 docs/scaladoc/it/index.html create mode 100644 docs/scaladoc/it/unibo/index.html create mode 100644 docs/scaladoc/it/unibo/osmos/index.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/components/AccelerationComponent$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/components/AccelerationComponent.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/components/CollidableComponent$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/components/CollidableComponent.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/components/Component.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/components/DimensionComponent$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/components/DimensionComponent.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/components/EntityType$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/components/MassComponent$$MassComponentImpl.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/components/MassComponent$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/components/MassComponent.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/components/PositionComponent$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/components/PositionComponent.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/components/SpawnAction.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/components/SpawnerComponent$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/components/SpawnerComponent.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/components/SpecificWeightComponent.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/components/SpeedComponent$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/components/SpeedComponent.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/components/TypeComponent.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/components/VectorComponent.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/components/VisibleComponent$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/components/VisibleComponent.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/components/index.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/engine/ExceededTickTimeException.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/engine/GameEngine$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/engine/GameEngine.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/engine/GameLoop.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/engine/GameStatus$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/engine/index.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/AbstractEntity.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Acceleration.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/CellBuilder.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/CellEntity$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/CellEntity.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Collidable.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/CollidableProperty.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/DeathProperty.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Dimension.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/DrawableProperty.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/EMEvents$$EntityCreated.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/EMEvents$$EntityDeleted.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/EMEvents$$EntityManagerEvent.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/EMEvents$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/EntityManager$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/EntityManager.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/GravityCellEntity$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/GravityCellEntity.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/GravityProperty.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/InputProperty.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Mass.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/MovableProperty.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Observable.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Observer.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/PlayerCellEntity$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/PlayerCellEntity.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Position.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Property.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/SentientCellEntity$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/SentientCellEntity.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/SentientEnemyProperty.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/SentientProperty.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Spawner.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/SpecificWeight.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Speed.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Type.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Visible.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/entities/index.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/index.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/systems/AbsorbCellsWithTypeVictoryCondition.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/systems/AbstractBorder.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/systems/AbstractSystem.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/systems/AbstractSystemWithThreeTypeOfEntity.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/systems/AbstractSystemWithTwoTypeOfEntity.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/systems/AbstractVictoryCondition.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/systems/BecomeHugeVictoryCondition.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/systems/BecomeTheBiggestVictoryCondition.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/systems/CellsEliminationSystem.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/systems/CircularBorder.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/systems/CollisionSystem.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/systems/DrawSystem.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/systems/EndGameSystem.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/systems/GravitySystem.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/systems/InputSystem.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/systems/MovementSystem.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/systems/RectangularBorder.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/systems/SentientPrologSystem.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/systems/SentientSystem.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/systems/SpawnSystem.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/systems/System.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/ecs/systems/index.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/index.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/main/AppLauncher$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/main/index.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/controller/Controller.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/controller/ControllerImpl.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/controller/FileManager$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/controller/index.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/index.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/model/CellType$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/model/CollisionRules$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$AccelerationFormatter$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$CellEntityFormatter$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$CollidableFormatter$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$ComponentTypeFormatter$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$DimensionFormatter$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$EntityTypeFormatter$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$GravityCellEntityFormatter$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$LevelMapFormatter$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$MapShapeFormatter$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$PlayerCellEntityFormatter$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$PointFormatter$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$PositionFormatter$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$SentientCellEntityFormatter$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$SpawnerFormatter$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$SpeedFormatter$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$VictoryRuleFormatter$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$VisibleFormatter$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/model/Level.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/model/LevelMap.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/model/MapShape$$Circle.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/model/MapShape$$Rectangle.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/model/MapShape$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/model/MapShape.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/model/Model.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/model/SinglePlayerLevels$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/model/UserProgress$$UserStat.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/model/UserProgress$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/model/VictoryRules$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/model/index.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/View$$ViewImpl.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/View$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/View.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/ViewConstants$$Entities$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/ViewConstants$$Window$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/ViewConstants$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/LevelNode.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/LevelNodeListener.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/LevelScreen$$Builder.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/LevelScreen$$LevelScreenImpl.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/LevelScreen$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/LevelStateBox.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/LevelStateBoxListener.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/MainMenuBar.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/MainMenuBarListener.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/MainMenuCenterBox.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/MainMenuCenterBoxListener.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/index.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/CellDrawable.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/CellWithSpeedDrawable.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/CircleDrawable.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/Drawable.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/DrawableWrapper.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/EntitiesDrawer.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/ImageDrawable.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/StaticImageDrawable.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/index.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/EventWrapper.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/EventWrapperObservable.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/EventWrapperObserver.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/GameLost$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/GamePending$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/GameStateEventWrapper.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/GameWon$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/MouseEventWrapper.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/index.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/index.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/levels/GameStateHolder.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/levels/LevelContext$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/levels/LevelContext.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/levels/LevelContextListener.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/levels/index.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/loaders/ImageLoader$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/loaders/Loader.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/loaders/index.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/scenes/BaseScene.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/scenes/LevelScene.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/scenes/LevelSceneListener.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/scenes/LevelSelectionScene.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/scenes/LevelSelectionSceneListener.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/scenes/MainScene.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/scenes/MainSceneListener.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/scenes/index.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/stages/OsmosReduxPrimaryStage$$OsmosReduxPrimaryStageImpl.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/stages/OsmosReduxPrimaryStage$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/stages/OsmosReduxPrimaryStage.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/stages/PrimaryStageListener.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/mvc/view/stages/index.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/utils/InputEventQueue$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/utils/MathUtils$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/utils/Point$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/utils/Point.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/utils/PrologRules$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/utils/Scala2P$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/utils/Vector$.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/utils/Vector.html create mode 100644 docs/scaladoc/it/unibo/osmos/redux/utils/index.html create mode 100644 docs/scaladoc/lib/MaterialIcons-Regular.eot create mode 100644 docs/scaladoc/lib/MaterialIcons-Regular.ttf create mode 100644 docs/scaladoc/lib/MaterialIcons-Regular.woff create mode 100644 docs/scaladoc/lib/abstract_type.svg create mode 100644 docs/scaladoc/lib/class.svg create mode 100644 docs/scaladoc/lib/class_comp.svg create mode 100644 docs/scaladoc/lib/class_diagram.png create mode 100644 docs/scaladoc/lib/diagrams.css create mode 100644 docs/scaladoc/lib/diagrams.js create mode 100644 docs/scaladoc/lib/index.css create mode 100644 docs/scaladoc/lib/index.js create mode 100644 docs/scaladoc/lib/jquery.js create mode 100644 docs/scaladoc/lib/jquery.mousewheel.min.js create mode 100644 docs/scaladoc/lib/jquery.panzoom.min.js create mode 100644 docs/scaladoc/lib/lato-v11-latin-100.eot create mode 100644 docs/scaladoc/lib/lato-v11-latin-100.ttf create mode 100644 docs/scaladoc/lib/lato-v11-latin-100.woff create mode 100644 docs/scaladoc/lib/lato-v11-latin-regular.eot create mode 100644 docs/scaladoc/lib/lato-v11-latin-regular.ttf create mode 100644 docs/scaladoc/lib/lato-v11-latin-regular.woff create mode 100644 docs/scaladoc/lib/modernizr.custom.js create mode 100644 docs/scaladoc/lib/object.svg create mode 100644 docs/scaladoc/lib/object_comp.svg create mode 100644 docs/scaladoc/lib/object_comp_trait.svg create mode 100644 docs/scaladoc/lib/object_diagram.png create mode 100644 docs/scaladoc/lib/open-sans-v13-latin-400i.eot create mode 100644 docs/scaladoc/lib/open-sans-v13-latin-400i.ttf create mode 100644 docs/scaladoc/lib/open-sans-v13-latin-400i.woff create mode 100644 docs/scaladoc/lib/open-sans-v13-latin-700.eot create mode 100644 docs/scaladoc/lib/open-sans-v13-latin-700.ttf create mode 100644 docs/scaladoc/lib/open-sans-v13-latin-700.woff create mode 100644 docs/scaladoc/lib/open-sans-v13-latin-700i.eot create mode 100644 docs/scaladoc/lib/open-sans-v13-latin-700i.ttf create mode 100644 docs/scaladoc/lib/open-sans-v13-latin-700i.woff create mode 100644 docs/scaladoc/lib/open-sans-v13-latin-regular.eot create mode 100644 docs/scaladoc/lib/open-sans-v13-latin-regular.ttf create mode 100644 docs/scaladoc/lib/open-sans-v13-latin-regular.woff create mode 100644 docs/scaladoc/lib/ownderbg2.gif create mode 100644 docs/scaladoc/lib/ownerbg.gif create mode 100644 docs/scaladoc/lib/ownerbg2.gif create mode 100644 docs/scaladoc/lib/package.svg create mode 100644 docs/scaladoc/lib/ref-index.css create mode 100644 docs/scaladoc/lib/scheduler.js create mode 100644 docs/scaladoc/lib/source-code-pro-v6-latin-700.eot create mode 100644 docs/scaladoc/lib/source-code-pro-v6-latin-700.ttf create mode 100644 docs/scaladoc/lib/source-code-pro-v6-latin-700.woff create mode 100644 docs/scaladoc/lib/source-code-pro-v6-latin-regular.eot create mode 100644 docs/scaladoc/lib/source-code-pro-v6-latin-regular.ttf create mode 100644 docs/scaladoc/lib/source-code-pro-v6-latin-regular.woff create mode 100644 docs/scaladoc/lib/template.css create mode 100644 docs/scaladoc/lib/template.js create mode 100644 docs/scaladoc/lib/tools.tooltip.js create mode 100644 docs/scaladoc/lib/trait.svg create mode 100644 docs/scaladoc/lib/trait_comp.svg create mode 100644 docs/scaladoc/lib/trait_diagram.png create mode 100644 docs/scaladoc/lib/type_diagram.png diff --git a/docs/scaladoc/index.html b/docs/scaladoc/index.html new file mode 100644 index 00000000..2588e119 --- /dev/null +++ b/docs/scaladoc/index.html @@ -0,0 +1,158 @@ + + + + + + osmos-redux 1.1.0 API + + + + + + + + + + + + + + + + + + + + +

+
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+
    +
  • + + + + + + + + + package + + + root + + + +
  • + + + + + + + + + package + + + it + + + +
  • +
+
+
+
+ +
+
p
+ +

root package + + + +

+ +
+ +

+ + + package + + + root + +

+ + +
+ + + + +
+
+ + + + + + + + + + + +
+ +
+ + +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/index.js b/docs/scaladoc/index.js new file mode 100644 index 00000000..64686aeb --- /dev/null +++ b/docs/scaladoc/index.js @@ -0,0 +1 @@ +Index.PACKAGES = {"it.unibo.osmos.redux.mvc.view.components" : [{"name" : "it.unibo.osmos.redux.mvc.view.components.LevelNode", "shortDescription" : "This node represents a single selectable level from the menu", "members_class" : [{"label" : "FilterMagnet", "tail" : "", "member" : "scalafx.event.EventHandlerDelegate.FilterMagnet", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#FilterMagnet[J<:,S<:]extendsAnyRef", "kind" : "sealed trait"}, {"label" : "HandlerMagnet", "tail" : "", "member" : "scalafx.event.EventHandlerDelegate.HandlerMagnet", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#HandlerMagnet[J<:,S<:]extendsAnyRef", "kind" : "sealed trait"}, {"label" : "playButton", "tail" : ": Button", "member" : "it.unibo.osmos.redux.mvc.view.components.LevelNode.playButton", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#playButton:scalafx.scene.control.Button", "kind" : "val"}, {"label" : "simulationButton", "tail" : ": Button", "member" : "it.unibo.osmos.redux.mvc.view.components.LevelNode.simulationButton", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#simulationButton:scalafx.scene.control.Button", "kind" : "val"}, {"label" : "imageView", "tail" : ": ImageView", "member" : "it.unibo.osmos.redux.mvc.view.components.LevelNode.imageView", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#imageView:scalafx.scene.image.ImageView", "kind" : "val"}, {"label" : "fadeOutTransition", "tail" : ": Transition", "member" : "it.unibo.osmos.redux.mvc.view.components.LevelNode.fadeOutTransition", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#fadeOutTransition:scalafx.animation.Transition", "kind" : "val"}, {"label" : "fadeInTransition", "tail" : ": Transition", "member" : "it.unibo.osmos.redux.mvc.view.components.LevelNode.fadeInTransition", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#fadeInTransition:scalafx.animation.Transition", "kind" : "val"}, {"label" : "textField", "tail" : ": Text", "member" : "it.unibo.osmos.redux.mvc.view.components.LevelNode.textField", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#textField:scalafx.scene.text.Text", "kind" : "val"}, {"member" : "it.unibo.osmos.redux.mvc.view.components.LevelNode#", "error" : "unsupported entity"}, {"label" : "available", "tail" : ": Boolean", "member" : "it.unibo.osmos.redux.mvc.view.components.LevelNode.available", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#available:Boolean", "kind" : "val"}, {"label" : "level", "tail" : ": Int", "member" : "it.unibo.osmos.redux.mvc.view.components.LevelNode.level", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#level:Int", "kind" : "val"}, {"label" : "listener", "tail" : ": LevelNodeListener", "member" : "it.unibo.osmos.redux.mvc.view.components.LevelNode.listener", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#listener:it.unibo.osmos.redux.mvc.view.components.LevelNodeListener", "kind" : "val"}, {"label" : "requestLayout", "tail" : "(): Unit", "member" : "scalafx.scene.layout.VBox.requestLayout", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#requestLayout():Unit", "kind" : "def"}, {"label" : "getContentBias", "tail" : "(): Orientation", "member" : "scalafx.scene.layout.VBox.getContentBias", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#getContentBias:javafx.geometry.Orientation", "kind" : "def"}, {"label" : "fillWidth_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.layout.VBox.fillWidth_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#fillWidth_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "fillWidth", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.layout.VBox.fillWidth", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#fillWidth:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "spacing_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.layout.VBox.spacing_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#spacing_=(v:Double):Unit", "kind" : "def"}, {"label" : "spacing", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.layout.VBox.spacing", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#spacing:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "delegate", "tail" : ": VBox", "member" : "scalafx.scene.layout.VBox.delegate", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#delegate:javafx.scene.layout.VBox", "kind" : "val"}, {"label" : "alignment_=", "tail" : "(v: Pos): Unit", "member" : "scalafx.delegate.AlignmentDelegate.alignment_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#alignment_=(v:scalafx.geometry.Pos):Unit", "kind" : "def"}, {"label" : "alignment", "tail" : "(): ObjectProperty[Pos]", "member" : "scalafx.delegate.AlignmentDelegate.alignment", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#alignment:scalafx.beans.property.ObjectProperty[javafx.geometry.Pos]", "kind" : "def"}, {"label" : "children_=", "tail" : "(n: Node): Unit", "member" : "scalafx.scene.layout.Pane.children_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#children_=(n:scalafx.scene.Node):Unit", "kind" : "def"}, {"label" : "children_=", "tail" : "(c: Iterable[Node]): Unit", "member" : "scalafx.scene.layout.Pane.children_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#children_=(c:Iterable[scalafx.scene.Node]):Unit", "kind" : "def"}, {"label" : "children", "tail" : "(): ObservableList[Node]", "member" : "scalafx.scene.layout.Pane.children", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#children:javafx.collections.ObservableList[javafx.scene.Node]", "kind" : "def"}, {"label" : "insets", "tail" : "(): Insets", "member" : "scalafx.scene.layout.Region.insets", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#insets:javafx.geometry.Insets", "kind" : "def"}, {"label" : "scaleShape_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.layout.Region.scaleShape_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#scaleShape_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "scaleShape", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.layout.Region.scaleShape", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#scaleShape:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "resize", "tail" : "(width: Double, height: Double): Unit", "member" : "scalafx.scene.layout.Region.resize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#resize(width:Double,height:Double):Unit", "kind" : "def"}, {"label" : "resize", "tail" : "(): Boolean", "member" : "scalafx.scene.layout.Region.resize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#resize:Boolean", "kind" : "def"}, {"label" : "snapToPixel_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.layout.Region.snapToPixel_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#snapToPixel_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "snapToPixel", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.layout.Region.snapToPixel", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#snapToPixel:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "shape_=", "tail" : "(v: Shape): Unit", "member" : "scalafx.scene.layout.Region.shape_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#shape_=(v:scalafx.scene.shape.Shape):Unit", "kind" : "def"}, {"label" : "shape", "tail" : "(): ObjectProperty[Shape]", "member" : "scalafx.scene.layout.Region.shape", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#shape:scalafx.beans.property.ObjectProperty[javafx.scene.shape.Shape]", "kind" : "def"}, {"label" : "prefWidth_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.layout.Region.prefWidth_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#prefWidth_=(v:Double):Unit", "kind" : "def"}, {"label" : "prefWidth", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.layout.Region.prefWidth", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#prefWidth:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "prefHeight_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.layout.Region.prefHeight_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#prefHeight_=(v:Double):Unit", "kind" : "def"}, {"label" : "prefHeight", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.layout.Region.prefHeight", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#prefHeight:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "padding_=", "tail" : "(v: Insets): Unit", "member" : "scalafx.scene.layout.Region.padding_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#padding_=(v:scalafx.geometry.Insets):Unit", "kind" : "def"}, {"label" : "padding", "tail" : "(): ObjectProperty[Insets]", "member" : "scalafx.scene.layout.Region.padding", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#padding:scalafx.beans.property.ObjectProperty[javafx.geometry.Insets]", "kind" : "def"}, {"label" : "opaqueInsets_=", "tail" : "(v: Insets): Unit", "member" : "scalafx.scene.layout.Region.opaqueInsets_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#opaqueInsets_=(v:scalafx.geometry.Insets):Unit", "kind" : "def"}, {"label" : "opaqueInsets", "tail" : "(): ObjectProperty[Insets]", "member" : "scalafx.scene.layout.Region.opaqueInsets", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#opaqueInsets:scalafx.beans.property.ObjectProperty[javafx.geometry.Insets]", "kind" : "def"}, {"label" : "minWidth_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.layout.Region.minWidth_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#minWidth_=(v:Double):Unit", "kind" : "def"}, {"label" : "minWidth", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.layout.Region.minWidth", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#minWidth:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "minHeight_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.layout.Region.minHeight_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#minHeight_=(v:Double):Unit", "kind" : "def"}, {"label" : "minHeight", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.layout.Region.minHeight", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#minHeight:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "maxWidth_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.layout.Region.maxWidth_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#maxWidth_=(v:Double):Unit", "kind" : "def"}, {"label" : "maxWidth", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.layout.Region.maxWidth", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#maxWidth:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "maxHeight_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.layout.Region.maxHeight_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#maxHeight_=(v:Double):Unit", "kind" : "def"}, {"label" : "maxHeight", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.layout.Region.maxHeight", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#maxHeight:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "width", "tail" : "(): ReadOnlyDoubleProperty", "member" : "scalafx.scene.layout.Region.width", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#width:scalafx.beans.property.ReadOnlyDoubleProperty", "kind" : "def"}, {"label" : "height", "tail" : "(): ReadOnlyDoubleProperty", "member" : "scalafx.scene.layout.Region.height", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#height:scalafx.beans.property.ReadOnlyDoubleProperty", "kind" : "def"}, {"label" : "centerShape_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.layout.Region.centerShape_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#centerShape_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "centerShape", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.layout.Region.centerShape", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#centerShape:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "cacheShape_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.layout.Region.cacheShape_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#cacheShape_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "cacheShape", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.layout.Region.cacheShape", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#cacheShape:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "border_=", "tail" : "(v: Border): Unit", "member" : "scalafx.scene.layout.Region.border_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#border_=(v:scalafx.scene.layout.Border):Unit", "kind" : "def"}, {"label" : "border", "tail" : "(): ObjectProperty[Border]", "member" : "scalafx.scene.layout.Region.border", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#border:scalafx.beans.property.ObjectProperty[javafx.scene.layout.Border]", "kind" : "def"}, {"label" : "background_=", "tail" : "(v: Background): Unit", "member" : "scalafx.scene.layout.Region.background_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#background_=(v:scalafx.scene.layout.Background):Unit", "kind" : "def"}, {"label" : "background", "tail" : "(): ObjectProperty[Background]", "member" : "scalafx.scene.layout.Region.background", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#background:scalafx.beans.property.ObjectProperty[javafx.scene.layout.Background]", "kind" : "def"}, {"label" : "stylesheets_=", "tail" : "(c: Iterable[String]): Unit", "member" : "scalafx.scene.Parent.stylesheets_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#stylesheets_=(c:Iterable[String]):Unit", "kind" : "def"}, {"label" : "stylesheets", "tail" : "(): ObservableList[String]", "member" : "scalafx.scene.Parent.stylesheets", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#stylesheets:javafx.collections.ObservableList[String]", "kind" : "def"}, {"label" : "needsLayout", "tail" : "(): ReadOnlyBooleanProperty", "member" : "scalafx.scene.Parent.needsLayout", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#needsLayout:scalafx.beans.property.ReadOnlyBooleanProperty", "kind" : "def"}, {"label" : "eventHandlerDelegate", "tail" : "(): EventHandled", "member" : "scalafx.scene.Node.eventHandlerDelegate", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#eventHandlerDelegate:Node.this.EventHandled", "kind" : "def"}, {"label" : "onTouchStationary_=", "tail" : "(v: EventHandler[_ >: TouchEvent]): Unit", "member" : "scalafx.scene.Node.onTouchStationary_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onTouchStationary_=(v:javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]):Unit", "kind" : "def"}, {"label" : "onTouchStationary", "tail" : "(): ObjectProperty[EventHandler[_ >: TouchEvent]]", "member" : "scalafx.scene.Node.onTouchStationary", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onTouchStationary:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]]", "kind" : "def"}, {"label" : "onTouchReleased_=", "tail" : "(v: EventHandler[_ >: TouchEvent]): Unit", "member" : "scalafx.scene.Node.onTouchReleased_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onTouchReleased_=(v:javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]):Unit", "kind" : "def"}, {"label" : "onTouchReleased", "tail" : "(): ObjectProperty[EventHandler[_ >: TouchEvent]]", "member" : "scalafx.scene.Node.onTouchReleased", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onTouchReleased:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]]", "kind" : "def"}, {"label" : "onTouchPressed_=", "tail" : "(v: EventHandler[_ >: TouchEvent]): Unit", "member" : "scalafx.scene.Node.onTouchPressed_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onTouchPressed_=(v:javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]):Unit", "kind" : "def"}, {"label" : "onTouchPressed", "tail" : "(): ObjectProperty[EventHandler[_ >: TouchEvent]]", "member" : "scalafx.scene.Node.onTouchPressed", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onTouchPressed:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]]", "kind" : "def"}, {"label" : "onTouchMoved_=", "tail" : "(v: EventHandler[_ >: TouchEvent]): Unit", "member" : "scalafx.scene.Node.onTouchMoved_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onTouchMoved_=(v:javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]):Unit", "kind" : "def"}, {"label" : "onTouchMoved", "tail" : "(): ObjectProperty[EventHandler[_ >: TouchEvent]]", "member" : "scalafx.scene.Node.onTouchMoved", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onTouchMoved:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]]", "kind" : "def"}, {"label" : "onZoomStarted_=", "tail" : "(v: EventHandler[_ >: ZoomEvent]): Unit", "member" : "scalafx.scene.Node.onZoomStarted_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onZoomStarted_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]):Unit", "kind" : "def"}, {"label" : "onZoomStarted", "tail" : "(): ObjectProperty[EventHandler[_ >: ZoomEvent]]", "member" : "scalafx.scene.Node.onZoomStarted", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onZoomStarted:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]]", "kind" : "def"}, {"label" : "onZoomFinished_=", "tail" : "(v: EventHandler[_ >: ZoomEvent]): Unit", "member" : "scalafx.scene.Node.onZoomFinished_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onZoomFinished_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]):Unit", "kind" : "def"}, {"label" : "onZoomFinished", "tail" : "(): ObjectProperty[EventHandler[_ >: ZoomEvent]]", "member" : "scalafx.scene.Node.onZoomFinished", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onZoomFinished:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]]", "kind" : "def"}, {"label" : "onZoom_=", "tail" : "(v: EventHandler[_ >: ZoomEvent]): Unit", "member" : "scalafx.scene.Node.onZoom_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onZoom_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]):Unit", "kind" : "def"}, {"label" : "onZoom", "tail" : "(): ObjectProperty[EventHandler[_ >: ZoomEvent]]", "member" : "scalafx.scene.Node.onZoom", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onZoom:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]]", "kind" : "def"}, {"label" : "onSwipeRight_=", "tail" : "(v: EventHandler[_ >: SwipeEvent]): Unit", "member" : "scalafx.scene.Node.onSwipeRight_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onSwipeRight_=(v:javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]):Unit", "kind" : "def"}, {"label" : "onSwipeRight", "tail" : "(): ObjectProperty[EventHandler[_ >: SwipeEvent]]", "member" : "scalafx.scene.Node.onSwipeRight", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onSwipeRight:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]]", "kind" : "def"}, {"label" : "onSwipeUp_=", "tail" : "(v: EventHandler[_ >: SwipeEvent]): Unit", "member" : "scalafx.scene.Node.onSwipeUp_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onSwipeUp_=(v:javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]):Unit", "kind" : "def"}, {"label" : "onSwipeUp", "tail" : "(): ObjectProperty[EventHandler[_ >: SwipeEvent]]", "member" : "scalafx.scene.Node.onSwipeUp", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onSwipeUp:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]]", "kind" : "def"}, {"label" : "onSwipeLeft_=", "tail" : "(v: EventHandler[_ >: SwipeEvent]): Unit", "member" : "scalafx.scene.Node.onSwipeLeft_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onSwipeLeft_=(v:javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]):Unit", "kind" : "def"}, {"label" : "onSwipeLeft", "tail" : "(): ObjectProperty[EventHandler[_ >: SwipeEvent]]", "member" : "scalafx.scene.Node.onSwipeLeft", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onSwipeLeft:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]]", "kind" : "def"}, {"label" : "onSwipeDown_=", "tail" : "(v: EventHandler[_ >: SwipeEvent]): Unit", "member" : "scalafx.scene.Node.onSwipeDown_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onSwipeDown_=(v:javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]):Unit", "kind" : "def"}, {"label" : "onSwipeDown", "tail" : "(): ObjectProperty[EventHandler[_ >: SwipeEvent]]", "member" : "scalafx.scene.Node.onSwipeDown", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onSwipeDown:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]]", "kind" : "def"}, {"label" : "onScrollStarted_=", "tail" : "(v: EventHandler[_ >: ScrollEvent]): Unit", "member" : "scalafx.scene.Node.onScrollStarted_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onScrollStarted_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]):Unit", "kind" : "def"}, {"label" : "onScrollStarted", "tail" : "(): ObjectProperty[EventHandler[_ >: ScrollEvent]]", "member" : "scalafx.scene.Node.onScrollStarted", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onScrollStarted:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]]", "kind" : "def"}, {"label" : "onScrollFinished_=", "tail" : "(v: EventHandler[_ >: ScrollEvent]): Unit", "member" : "scalafx.scene.Node.onScrollFinished_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onScrollFinished_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]):Unit", "kind" : "def"}, {"label" : "onScrollFinished", "tail" : "(): ObjectProperty[EventHandler[_ >: ScrollEvent]]", "member" : "scalafx.scene.Node.onScrollFinished", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onScrollFinished:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]]", "kind" : "def"}, {"label" : "onRotationStarted_=", "tail" : "(v: EventHandler[_ >: RotateEvent]): Unit", "member" : "scalafx.scene.Node.onRotationStarted_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onRotationStarted_=(v:javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]):Unit", "kind" : "def"}, {"label" : "onRotationStarted", "tail" : "(): ObjectProperty[EventHandler[_ >: RotateEvent]]", "member" : "scalafx.scene.Node.onRotationStarted", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onRotationStarted:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]]", "kind" : "def"}, {"label" : "onRotationFinished_=", "tail" : "(v: EventHandler[_ >: RotateEvent]): Unit", "member" : "scalafx.scene.Node.onRotationFinished_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onRotationFinished_=(v:javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]):Unit", "kind" : "def"}, {"label" : "onRotationFinished", "tail" : "(): ObjectProperty[EventHandler[_ >: RotateEvent]]", "member" : "scalafx.scene.Node.onRotationFinished", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onRotationFinished:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]]", "kind" : "def"}, {"label" : "onRotate_=", "tail" : "(v: EventHandler[_ >: RotateEvent]): Unit", "member" : "scalafx.scene.Node.onRotate_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onRotate_=(v:javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]):Unit", "kind" : "def"}, {"label" : "onRotate", "tail" : "(): ObjectProperty[EventHandler[_ >: RotateEvent]]", "member" : "scalafx.scene.Node.onRotate", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onRotate:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]]", "kind" : "def"}, {"label" : "localToSceneTransform", "tail" : "(): Transform", "member" : "scalafx.scene.Node.localToSceneTransform", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#localToSceneTransform:scalafx.scene.transform.Transform", "kind" : "def"}, {"label" : "localToParentTransform", "tail" : "(): Transform", "member" : "scalafx.scene.Node.localToParentTransform", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#localToParentTransform:scalafx.scene.transform.Transform", "kind" : "def"}, {"label" : "toFront", "tail" : "(): Unit", "member" : "scalafx.scene.Node.toFront", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#toFront():Unit", "kind" : "def"}, {"label" : "toBack", "tail" : "(): Unit", "member" : "scalafx.scene.Node.toBack", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#toBack():Unit", "kind" : "def"}, {"label" : "startFullDrag", "tail" : "(): Unit", "member" : "scalafx.scene.Node.startFullDrag", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#startFullDrag():Unit", "kind" : "def"}, {"label" : "startDragAndDrop", "tail" : "(transferModes: TransferMode*): Dragboard", "member" : "scalafx.scene.Node.startDragAndDrop", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#startDragAndDrop(transferModes:javafx.scene.input.TransferMode*):javafx.scene.input.Dragboard", "kind" : "def"}, {"label" : "snapshot", "tail" : "(callback: (SnapshotResult) ⇒ Unit, params: SnapshotParameters, image: WritableImage): Unit", "member" : "scalafx.scene.Node.snapshot", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#snapshot(callback:scalafx.scene.SnapshotResult=>Unit,params:scalafx.scene.SnapshotParameters,image:scalafx.scene.image.WritableImage):Unit", "kind" : "def"}, {"label" : "snapshot", "tail" : "(params: SnapshotParameters, image: WritableImage): WritableImage", "member" : "scalafx.scene.Node.snapshot", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#snapshot(params:scalafx.scene.SnapshotParameters,image:scalafx.scene.image.WritableImage):scalafx.scene.image.WritableImage", "kind" : "def"}, {"label" : "sceneToLocal", "tail" : "(scenePoint: Point2D): Point2D", "member" : "scalafx.scene.Node.sceneToLocal", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#sceneToLocal(scenePoint:scalafx.geometry.Point2D):javafx.geometry.Point2D", "kind" : "def"}, {"label" : "sceneToLocal", "tail" : "(sceneX: Double, sceneY: Double): Point2D", "member" : "scalafx.scene.Node.sceneToLocal", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#sceneToLocal(sceneX:Double,sceneY:Double):javafx.geometry.Point2D", "kind" : "def"}, {"label" : "sceneToLocal", "tail" : "(sceneBounds: Bounds): Bounds", "member" : "scalafx.scene.Node.sceneToLocal", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#sceneToLocal(sceneBounds:scalafx.geometry.Bounds):javafx.geometry.Bounds", "kind" : "def"}, {"label" : "resizeRelocate", "tail" : "(x: Double, y: Double, width: Double, height: Double): Unit", "member" : "scalafx.scene.Node.resizeRelocate", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#resizeRelocate(x:Double,y:Double,width:Double,height:Double):Unit", "kind" : "def"}, {"label" : "requestFocus", "tail" : "(): Unit", "member" : "scalafx.scene.Node.requestFocus", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#requestFocus():Unit", "kind" : "def"}, {"label" : "relocate", "tail" : "(x: Double, y: Double): Unit", "member" : "scalafx.scene.Node.relocate", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#relocate(x:Double,y:Double):Unit", "kind" : "def"}, {"label" : "parentToLocal", "tail" : "(parentPoint: Point2D): Point2D", "member" : "scalafx.scene.Node.parentToLocal", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#parentToLocal(parentPoint:scalafx.geometry.Point2D):javafx.geometry.Point2D", "kind" : "def"}, {"label" : "parentToLocal", "tail" : "(parentX: Double, parentY: Double): Point2D", "member" : "scalafx.scene.Node.parentToLocal", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#parentToLocal(parentX:Double,parentY:Double):javafx.geometry.Point2D", "kind" : "def"}, {"label" : "parentToLocal", "tail" : "(parentBounds: Bounds): Bounds", "member" : "scalafx.scene.Node.parentToLocal", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#parentToLocal(parentBounds:scalafx.geometry.Bounds):javafx.geometry.Bounds", "kind" : "def"}, {"label" : "minWidth", "tail" : "(height: Double): Double", "member" : "scalafx.scene.Node.minWidth", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#minWidth(height:Double):Double", "kind" : "def"}, {"label" : "minHeight", "tail" : "(width: Double): Double", "member" : "scalafx.scene.Node.minHeight", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#minHeight(width:Double):Double", "kind" : "def"}, {"label" : "maxWidth", "tail" : "(height: Double): Double", "member" : "scalafx.scene.Node.maxWidth", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#maxWidth(height:Double):Double", "kind" : "def"}, {"label" : "maxHeight", "tail" : "(width: Double): Double", "member" : "scalafx.scene.Node.maxHeight", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#maxHeight(width:Double):Double", "kind" : "def"}, {"label" : "lookupAll", "tail" : "(selector: String): Set[Node]", "member" : "scalafx.scene.Node.lookupAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#lookupAll(selector:String):java.util.Set[javafx.scene.Node]", "kind" : "def"}, {"label" : "lookup", "tail" : "(selector: String): Node", "member" : "scalafx.scene.Node.lookup", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#lookup(selector:String):scalafx.scene.Node", "kind" : "def"}, {"label" : "localToScene", "tail" : "(localPoint: Point2D): Point2D", "member" : "scalafx.scene.Node.localToScene", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#localToScene(localPoint:scalafx.geometry.Point2D):javafx.geometry.Point2D", "kind" : "def"}, {"label" : "localToScene", "tail" : "(localX: Double, localY: Double): Point2D", "member" : "scalafx.scene.Node.localToScene", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#localToScene(localX:Double,localY:Double):javafx.geometry.Point2D", "kind" : "def"}, {"label" : "localToScene", "tail" : "(localBounds: Bounds): Bounds", "member" : "scalafx.scene.Node.localToScene", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#localToScene(localBounds:scalafx.geometry.Bounds):javafx.geometry.Bounds", "kind" : "def"}, {"label" : "localToParent", "tail" : "(localPoint: Point2D): Point2D", "member" : "scalafx.scene.Node.localToParent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#localToParent(localPoint:scalafx.geometry.Point2D):javafx.geometry.Point2D", "kind" : "def"}, {"label" : "localToParent", "tail" : "(localX: Double, localY: Double): Point2D", "member" : "scalafx.scene.Node.localToParent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#localToParent(localX:Double,localY:Double):javafx.geometry.Point2D", "kind" : "def"}, {"label" : "localToParent", "tail" : "(localBounds: Bounds): Bounds", "member" : "scalafx.scene.Node.localToParent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#localToParent(localBounds:scalafx.geometry.Bounds):javafx.geometry.Bounds", "kind" : "def"}, {"label" : "intersects", "tail" : "(localX: Double, localY: Double, localWidth: Double, localHeight: Double): Boolean", "member" : "scalafx.scene.Node.intersects", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#intersects(localX:Double,localY:Double,localWidth:Double,localHeight:Double):Boolean", "kind" : "def"}, {"label" : "intersects", "tail" : "(localBounds: Bounds): Boolean", "member" : "scalafx.scene.Node.intersects", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#intersects(localBounds:scalafx.geometry.Bounds):Boolean", "kind" : "def"}, {"label" : "baselineOffset", "tail" : "(): Double", "member" : "scalafx.scene.Node.baselineOffset", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#baselineOffset:Double", "kind" : "def"}, {"label" : "fireEvent", "tail" : "(event: Event): Unit", "member" : "scalafx.scene.Node.fireEvent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#fireEvent(event:scalafx.event.Event):Unit", "kind" : "def"}, {"label" : "contains", "tail" : "(localPoint: Point2D): Boolean", "member" : "scalafx.scene.Node.contains", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#contains(localPoint:scalafx.geometry.Point2D):Boolean", "kind" : "def"}, {"label" : "contains", "tail" : "(localX: Double, localY: Double): Boolean", "member" : "scalafx.scene.Node.contains", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#contains(localX:Double,localY:Double):Boolean", "kind" : "def"}, {"label" : "autosize", "tail" : "(): Unit", "member" : "scalafx.scene.Node.autosize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#autosize():Unit", "kind" : "def"}, {"label" : "vgrow_=", "tail" : "(p: Priority): Unit", "member" : "scalafx.scene.Node.vgrow_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#vgrow_=(p:scalafx.scene.layout.Priority):Unit", "kind" : "def"}, {"label" : "vgrow", "tail" : "(): Priority", "member" : "scalafx.scene.Node.vgrow", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#vgrow:scalafx.scene.layout.Priority", "kind" : "def"}, {"label" : "hgrow_=", "tail" : "(p: Priority): Unit", "member" : "scalafx.scene.Node.hgrow_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#hgrow_=(p:scalafx.scene.layout.Priority):Unit", "kind" : "def"}, {"label" : "hgrow", "tail" : "(): Priority", "member" : "scalafx.scene.Node.hgrow", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#hgrow:scalafx.scene.layout.Priority", "kind" : "def"}, {"label" : "margin_=", "tail" : "(i: Insets): Unit", "member" : "scalafx.scene.Node.margin_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#margin_=(i:scalafx.geometry.Insets):Unit", "kind" : "def"}, {"label" : "margin", "tail" : "(): Insets", "member" : "scalafx.scene.Node.margin", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#margin:scalafx.geometry.Insets", "kind" : "def"}, {"label" : "alignmentInParent_=", "tail" : "(p: Pos): Unit", "member" : "scalafx.scene.Node.alignmentInParent_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#alignmentInParent_=(p:scalafx.geometry.Pos):Unit", "kind" : "def"}, {"label" : "alignmentInParent", "tail" : "(): Pos", "member" : "scalafx.scene.Node.alignmentInParent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#alignmentInParent:scalafx.geometry.Pos", "kind" : "def"}, {"label" : "visible_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.Node.visible_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#visible_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "visible", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.Node.visible", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#visible:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "userData_=", "tail" : "(v: AnyRef): Unit", "member" : "scalafx.scene.Node.userData_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#userData_=(v:AnyRef):Unit", "kind" : "def"}, {"label" : "userData", "tail" : "(): AnyRef", "member" : "scalafx.scene.Node.userData", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#userData:Object", "kind" : "def"}, {"label" : "translateZ_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.translateZ_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#translateZ_=(v:Double):Unit", "kind" : "def"}, {"label" : "translateZ", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.translateZ", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#translateZ:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "translateY_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.translateY_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#translateY_=(v:Double):Unit", "kind" : "def"}, {"label" : "translateY", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.translateY", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#translateY:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "translateX_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.translateX_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#translateX_=(v:Double):Unit", "kind" : "def"}, {"label" : "translateX", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.translateX", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#translateX:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "transforms_=", "tail" : "(c: Iterable[Transform]): Unit", "member" : "scalafx.scene.Node.transforms_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#transforms_=(c:Iterable[scalafx.scene.transform.Transform]):Unit", "kind" : "def"}, {"label" : "transforms", "tail" : "(): ObservableList[Transform]", "member" : "scalafx.scene.Node.transforms", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#transforms:javafx.collections.ObservableList[javafx.scene.transform.Transform]", "kind" : "def"}, {"label" : "styleClass_=", "tail" : "(c: Iterable[String]): Unit", "member" : "scalafx.scene.Node.styleClass_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#styleClass_=(c:Iterable[String]):Unit", "kind" : "def"}, {"label" : "style_=", "tail" : "(v: String): Unit", "member" : "scalafx.scene.Node.style_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#style_=(v:String):Unit", "kind" : "def"}, {"label" : "style", "tail" : "(): StringProperty", "member" : "scalafx.scene.Node.style", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#style:scalafx.beans.property.StringProperty", "kind" : "def"}, {"label" : "scene", "tail" : "(): ReadOnlyObjectProperty[Scene]", "member" : "scalafx.scene.Node.scene", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#scene:scalafx.beans.property.ReadOnlyObjectProperty[javafx.scene.Scene]", "kind" : "def"}, {"label" : "scaleZ_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.scaleZ_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#scaleZ_=(v:Double):Unit", "kind" : "def"}, {"label" : "scaleZ", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.scaleZ", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#scaleZ:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "scaleY_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.scaleY_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#scaleY_=(v:Double):Unit", "kind" : "def"}, {"label" : "scaleY", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.scaleY", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#scaleY:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "scaleX_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.scaleX_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#scaleX_=(v:Double):Unit", "kind" : "def"}, {"label" : "scaleX", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.scaleX", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#scaleX:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "rotationAxis_=", "tail" : "(v: Point3D): Unit", "member" : "scalafx.scene.Node.rotationAxis_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#rotationAxis_=(v:scalafx.geometry.Point3D):Unit", "kind" : "def"}, {"label" : "rotationAxis", "tail" : "(): ObjectProperty[Point3D]", "member" : "scalafx.scene.Node.rotationAxis", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#rotationAxis:scalafx.beans.property.ObjectProperty[javafx.geometry.Point3D]", "kind" : "def"}, {"label" : "rotate_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.rotate_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#rotate_=(v:Double):Unit", "kind" : "def"}, {"label" : "rotate", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.rotate", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#rotate:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "pressed", "tail" : "(): ReadOnlyBooleanProperty", "member" : "scalafx.scene.Node.pressed", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#pressed:scalafx.beans.property.ReadOnlyBooleanProperty", "kind" : "def"}, {"label" : "pickOnBounds_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.Node.pickOnBounds_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#pickOnBounds_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "pickOnBounds", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.Node.pickOnBounds", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#pickOnBounds:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "parent", "tail" : "(): ReadOnlyObjectProperty[Parent]", "member" : "scalafx.scene.Node.parent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#parent:scalafx.beans.property.ReadOnlyObjectProperty[javafx.scene.Parent]", "kind" : "def"}, {"label" : "opacity_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.opacity_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#opacity_=(v:Double):Unit", "kind" : "def"}, {"label" : "opacity", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.opacity", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#opacity:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "onScroll_=", "tail" : "(v: EventHandler[_ >: ScrollEvent]): Unit", "member" : "scalafx.scene.Node.onScroll_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onScroll_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]):Unit", "kind" : "def"}, {"label" : "onScroll", "tail" : "(): ObjectProperty[EventHandler[_ >: ScrollEvent]]", "member" : "scalafx.scene.Node.onScroll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onScroll:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]]", "kind" : "def"}, {"label" : "onMouseReleased_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Node.onMouseReleased_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onMouseReleased_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseReleased", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Node.onMouseReleased", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onMouseReleased:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMousePressed_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Node.onMousePressed_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onMousePressed_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMousePressed", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Node.onMousePressed", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onMousePressed:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseMoved_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Node.onMouseMoved_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onMouseMoved_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseMoved", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Node.onMouseMoved", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onMouseMoved:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseExited_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Node.onMouseExited_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onMouseExited_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseExited", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Node.onMouseExited", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onMouseExited:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseEntered_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Node.onMouseEntered_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onMouseEntered_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseEntered", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Node.onMouseEntered", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onMouseEntered:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseDragReleased_=", "tail" : "(v: EventHandler[_ >: MouseDragEvent]): Unit", "member" : "scalafx.scene.Node.onMouseDragReleased_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onMouseDragReleased_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragReleased", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseDragEvent]]", "member" : "scalafx.scene.Node.onMouseDragReleased", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onMouseDragReleased:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]]", "kind" : "def"}, {"label" : "onMouseDragOver_=", "tail" : "(v: EventHandler[_ >: MouseDragEvent]): Unit", "member" : "scalafx.scene.Node.onMouseDragOver_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onMouseDragOver_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragOver", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseDragEvent]]", "member" : "scalafx.scene.Node.onMouseDragOver", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onMouseDragOver:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]]", "kind" : "def"}, {"label" : "onMouseDragExited_=", "tail" : "(v: EventHandler[_ >: MouseDragEvent]): Unit", "member" : "scalafx.scene.Node.onMouseDragExited_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onMouseDragExited_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragExited", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseDragEvent]]", "member" : "scalafx.scene.Node.onMouseDragExited", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onMouseDragExited:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]]", "kind" : "def"}, {"label" : "onMouseDragEntered_=", "tail" : "(v: EventHandler[_ >: MouseDragEvent]): Unit", "member" : "scalafx.scene.Node.onMouseDragEntered_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onMouseDragEntered_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragEntered", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseDragEvent]]", "member" : "scalafx.scene.Node.onMouseDragEntered", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onMouseDragEntered:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]]", "kind" : "def"}, {"label" : "onMouseDragged_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Node.onMouseDragged_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onMouseDragged_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragged", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Node.onMouseDragged", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onMouseDragged:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseClicked_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Node.onMouseClicked_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onMouseClicked_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseClicked", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Node.onMouseClicked", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onMouseClicked:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onKeyTyped_=", "tail" : "(v: EventHandler[_ >: KeyEvent]): Unit", "member" : "scalafx.scene.Node.onKeyTyped_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onKeyTyped_=(v:javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]):Unit", "kind" : "def"}, {"label" : "onKeyTyped", "tail" : "(): ObjectProperty[EventHandler[_ >: KeyEvent]]", "member" : "scalafx.scene.Node.onKeyTyped", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onKeyTyped:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]]", "kind" : "def"}, {"label" : "onKeyReleased_=", "tail" : "(v: EventHandler[_ >: KeyEvent]): Unit", "member" : "scalafx.scene.Node.onKeyReleased_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onKeyReleased_=(v:javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]):Unit", "kind" : "def"}, {"label" : "onKeyReleased", "tail" : "(): ObjectProperty[EventHandler[_ >: KeyEvent]]", "member" : "scalafx.scene.Node.onKeyReleased", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onKeyReleased:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]]", "kind" : "def"}, {"label" : "onKeyPressed_=", "tail" : "(v: EventHandler[_ >: KeyEvent]): Unit", "member" : "scalafx.scene.Node.onKeyPressed_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onKeyPressed_=(v:javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]):Unit", "kind" : "def"}, {"label" : "onKeyPressed", "tail" : "(): ObjectProperty[EventHandler[_ >: KeyEvent]]", "member" : "scalafx.scene.Node.onKeyPressed", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onKeyPressed:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]]", "kind" : "def"}, {"label" : "onInputMethodTextChanged_=", "tail" : "(v: EventHandler[_ >: InputMethodEvent]): Unit", "member" : "scalafx.scene.Node.onInputMethodTextChanged_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onInputMethodTextChanged_=(v:javafx.event.EventHandler[_>:javafx.scene.input.InputMethodEvent]):Unit", "kind" : "def"}, {"label" : "onInputMethodTextChanged", "tail" : "(): ObjectProperty[EventHandler[_ >: InputMethodEvent]]", "member" : "scalafx.scene.Node.onInputMethodTextChanged", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onInputMethodTextChanged:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.InputMethodEvent]]", "kind" : "def"}, {"label" : "onDragOver_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Node.onDragOver_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onDragOver_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragOver", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Node.onDragOver", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onDragOver:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragExited_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Node.onDragExited_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onDragExited_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragExited", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Node.onDragExited", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onDragExited:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragEntered_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Node.onDragEntered_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onDragEntered_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragEntered", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Node.onDragEntered", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onDragEntered:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragDropped_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Node.onDragDropped_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onDragDropped_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragDropped", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Node.onDragDropped", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onDragDropped:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragDone_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Node.onDragDone_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onDragDone_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragDone", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Node.onDragDone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onDragDone:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragDetected_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Node.onDragDetected_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onDragDetected_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onDragDetected", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Node.onDragDetected", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onDragDetected:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onContextMenuRequested_=", "tail" : "(v: EventHandler[_ >: ContextMenuEvent]): Unit", "member" : "scalafx.scene.Node.onContextMenuRequested_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onContextMenuRequested_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ContextMenuEvent]):Unit", "kind" : "def"}, {"label" : "onContextMenuRequested", "tail" : "(): ObjectProperty[EventHandler[_ >: ContextMenuEvent]]", "member" : "scalafx.scene.Node.onContextMenuRequested", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#onContextMenuRequested:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ContextMenuEvent]]", "kind" : "def"}, {"label" : "effectiveNodeOrientation", "tail" : "(): ReadOnlyObjectProperty[NodeOrientation]", "member" : "scalafx.scene.Node.effectiveNodeOrientation", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#effectiveNodeOrientation:scalafx.beans.property.ReadOnlyObjectProperty[javafx.geometry.NodeOrientation]", "kind" : "def"}, {"label" : "nodeOrientation_=", "tail" : "(v: NodeOrientation): Unit", "member" : "scalafx.scene.Node.nodeOrientation_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#nodeOrientation_=(v:scalafx.geometry.NodeOrientation):Unit", "kind" : "def"}, {"label" : "nodeOrientation", "tail" : "(): ObjectProperty[NodeOrientation]", "member" : "scalafx.scene.Node.nodeOrientation", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#nodeOrientation:scalafx.beans.property.ObjectProperty[javafx.geometry.NodeOrientation]", "kind" : "def"}, {"label" : "mouseTransparent_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.Node.mouseTransparent_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#mouseTransparent_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "mouseTransparent", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.Node.mouseTransparent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#mouseTransparent:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "managed_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.Node.managed_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#managed_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "managed", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.Node.managed", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#managed:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "layoutY_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.layoutY_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#layoutY_=(v:Double):Unit", "kind" : "def"}, {"label" : "layoutY", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.layoutY", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#layoutY:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "layoutX_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.layoutX_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#layoutX_=(v:Double):Unit", "kind" : "def"}, {"label" : "layoutX", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.layoutX", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#layoutX:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "layoutBounds", "tail" : "(): ReadOnlyObjectProperty[Bounds]", "member" : "scalafx.scene.Node.layoutBounds", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#layoutBounds:scalafx.beans.property.ReadOnlyObjectProperty[javafx.geometry.Bounds]", "kind" : "def"}, {"label" : "inputMethodRequests_=", "tail" : "(v: InputMethodRequests): Unit", "member" : "scalafx.scene.Node.inputMethodRequests_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#inputMethodRequests_=(v:javafx.scene.input.InputMethodRequests):Unit", "kind" : "def"}, {"label" : "inputMethodRequests", "tail" : "(): ObjectProperty[InputMethodRequests]", "member" : "scalafx.scene.Node.inputMethodRequests", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#inputMethodRequests:scalafx.beans.property.ObjectProperty[javafx.scene.input.InputMethodRequests]", "kind" : "def"}, {"label" : "id_=", "tail" : "(v: String): Unit", "member" : "scalafx.scene.Node.id_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#id_=(v:String):Unit", "kind" : "def"}, {"label" : "id", "tail" : "(): StringProperty", "member" : "scalafx.scene.Node.id", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#id:scalafx.beans.property.StringProperty", "kind" : "def"}, {"label" : "hover", "tail" : "(): ReadOnlyBooleanProperty", "member" : "scalafx.scene.Node.hover", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#hover:scalafx.beans.property.ReadOnlyBooleanProperty", "kind" : "def"}, {"label" : "focusTraversable_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.Node.focusTraversable_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#focusTraversable_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "focusTraversable", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.Node.focusTraversable", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#focusTraversable:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "focused", "tail" : "(): ReadOnlyBooleanProperty", "member" : "scalafx.scene.Node.focused", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#focused:scalafx.beans.property.ReadOnlyBooleanProperty", "kind" : "def"}, {"label" : "eventDispatcher_=", "tail" : "(v: EventDispatcher): Unit", "member" : "scalafx.scene.Node.eventDispatcher_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#eventDispatcher_=(v:javafx.event.EventDispatcher):Unit", "kind" : "def"}, {"label" : "eventDispatcher", "tail" : "(): ObjectProperty[EventDispatcher]", "member" : "scalafx.scene.Node.eventDispatcher", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#eventDispatcher:scalafx.beans.property.ObjectProperty[javafx.event.EventDispatcher]", "kind" : "def"}, {"label" : "effect_=", "tail" : "(v: Effect): Unit", "member" : "scalafx.scene.Node.effect_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#effect_=(v:scalafx.scene.effect.Effect):Unit", "kind" : "def"}, {"label" : "effect", "tail" : "(): ObjectProperty[Effect]", "member" : "scalafx.scene.Node.effect", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#effect:scalafx.beans.property.ObjectProperty[javafx.scene.effect.Effect]", "kind" : "def"}, {"label" : "disable_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.Node.disable_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#disable_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "disable", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.Node.disable", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#disable:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "disabled", "tail" : "(): ReadOnlyBooleanProperty", "member" : "scalafx.scene.Node.disabled", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#disabled:scalafx.beans.property.ReadOnlyBooleanProperty", "kind" : "def"}, {"label" : "depthTest_=", "tail" : "(v: DepthTest): Unit", "member" : "scalafx.scene.Node.depthTest_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#depthTest_=(v:scalafx.scene.DepthTest):Unit", "kind" : "def"}, {"label" : "depthTest", "tail" : "(): ObjectProperty[DepthTest]", "member" : "scalafx.scene.Node.depthTest", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#depthTest:scalafx.beans.property.ObjectProperty[javafx.scene.DepthTest]", "kind" : "def"}, {"label" : "cursor_=", "tail" : "(v: Cursor): Unit", "member" : "scalafx.scene.Node.cursor_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#cursor_=(v:scalafx.scene.Cursor):Unit", "kind" : "def"}, {"label" : "cursor", "tail" : "(): ObjectProperty[Cursor]", "member" : "scalafx.scene.Node.cursor", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#cursor:scalafx.beans.property.ObjectProperty[javafx.scene.Cursor]", "kind" : "def"}, {"label" : "contentBias", "tail" : "(): Orientation", "member" : "scalafx.scene.Node.contentBias", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#contentBias:scalafx.geometry.Orientation", "kind" : "def"}, {"label" : "clip_=", "tail" : "(v: Node): Unit", "member" : "scalafx.scene.Node.clip_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#clip_=(v:scalafx.scene.Node):Unit", "kind" : "def"}, {"label" : "clip", "tail" : "(): ObjectProperty[Node]", "member" : "scalafx.scene.Node.clip", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#clip:scalafx.beans.property.ObjectProperty[javafx.scene.Node]", "kind" : "def"}, {"label" : "cache_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.Node.cache_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#cache_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "cache", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.Node.cache", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#cache:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "cacheHint_=", "tail" : "(v: CacheHint): Unit", "member" : "scalafx.scene.Node.cacheHint_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#cacheHint_=(v:scalafx.scene.CacheHint):Unit", "kind" : "def"}, {"label" : "cacheHint", "tail" : "(): ObjectProperty[CacheHint]", "member" : "scalafx.scene.Node.cacheHint", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#cacheHint:scalafx.beans.property.ObjectProperty[javafx.scene.CacheHint]", "kind" : "def"}, {"label" : "boundsInParent", "tail" : "(): ReadOnlyObjectProperty[Bounds]", "member" : "scalafx.scene.Node.boundsInParent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#boundsInParent:scalafx.beans.property.ReadOnlyObjectProperty[javafx.geometry.Bounds]", "kind" : "def"}, {"label" : "boundsInLocal", "tail" : "(): ReadOnlyObjectProperty[Bounds]", "member" : "scalafx.scene.Node.boundsInLocal", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#boundsInLocal:scalafx.beans.property.ReadOnlyObjectProperty[javafx.geometry.Bounds]", "kind" : "def"}, {"label" : "blendMode_=", "tail" : "(v: BlendMode): Unit", "member" : "scalafx.scene.Node.blendMode_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#blendMode_=(v:scalafx.scene.effect.BlendMode):Unit", "kind" : "def"}, {"label" : "blendMode", "tail" : "(): ObjectProperty[BlendMode]", "member" : "scalafx.scene.Node.blendMode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#blendMode:scalafx.beans.property.ObjectProperty[javafx.scene.effect.BlendMode]", "kind" : "def"}, {"label" : "accessibleRoleDescription_=", "tail" : "(v: String): Unit", "member" : "scalafx.scene.Node.accessibleRoleDescription_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#accessibleRoleDescription_=(v:String):Unit", "kind" : "def"}, {"label" : "accessibleRoleDescription", "tail" : "(): ObjectProperty[String]", "member" : "scalafx.scene.Node.accessibleRoleDescription", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#accessibleRoleDescription:scalafx.beans.property.ObjectProperty[String]", "kind" : "def"}, {"label" : "accessibleRole_=", "tail" : "(v: AccessibleRole): Unit", "member" : "scalafx.scene.Node.accessibleRole_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#accessibleRole_=(v:scalafx.scene.AccessibleRole):Unit", "kind" : "def"}, {"label" : "accessibleRole", "tail" : "(): ObjectProperty[AccessibleRole]", "member" : "scalafx.scene.Node.accessibleRole", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#accessibleRole:scalafx.beans.property.ObjectProperty[javafx.scene.AccessibleRole]", "kind" : "def"}, {"label" : "accessibleHelp_=", "tail" : "(v: String): Unit", "member" : "scalafx.scene.Node.accessibleHelp_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#accessibleHelp_=(v:String):Unit", "kind" : "def"}, {"label" : "accessibleHelp", "tail" : "(): ObjectProperty[String]", "member" : "scalafx.scene.Node.accessibleHelp", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#accessibleHelp:scalafx.beans.property.ObjectProperty[String]", "kind" : "def"}, {"label" : "accessibleText_=", "tail" : "(v: String): Unit", "member" : "scalafx.scene.Node.accessibleText_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#accessibleText_=(v:String):Unit", "kind" : "def"}, {"label" : "accessibleText", "tail" : "(): ObjectProperty[String]", "member" : "scalafx.scene.Node.accessibleText", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#accessibleText:scalafx.beans.property.ObjectProperty[String]", "kind" : "def"}, {"label" : "typeSelector", "tail" : "(): String", "member" : "scalafx.css.Styleable.typeSelector", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#typeSelector:String", "kind" : "def"}, {"label" : "styleClass", "tail" : "(): ObservableBuffer[String]", "member" : "scalafx.css.Styleable.styleClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#styleClass:scalafx.collections.ObservableBuffer[String]", "kind" : "def"}, {"label" : "styleableParent", "tail" : "(): Styleable", "member" : "scalafx.css.Styleable.styleableParent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#styleableParent:scalafx.css.Styleable", "kind" : "def"}, {"label" : "getStyle", "tail" : "(): String", "member" : "scalafx.css.Styleable.getStyle", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#getStyle:String", "kind" : "def"}, {"label" : "pseudoClassStates", "tail" : "(): ObservableSet[PseudoClass]", "member" : "scalafx.css.Styleable.pseudoClassStates", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#pseudoClassStates:scalafx.collections.ObservableSet[javafx.css.PseudoClass]", "kind" : "def"}, {"label" : "getId", "tail" : "(): String", "member" : "scalafx.css.Styleable.getId", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#getId:String", "kind" : "def"}, {"label" : "cssMetaData", "tail" : "(): Seq[CssMetaData[_ <: Styleable, _]]", "member" : "scalafx.css.Styleable.cssMetaData", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#cssMetaData:Seq[javafx.css.CssMetaData[_<:javafx.css.Styleable,_]]", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scalafx.delegate.SFXDelegate.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#hashCode():Int", "kind" : "def"}, {"label" : "equals", "tail" : "(ref: Any): Boolean", "member" : "scalafx.delegate.SFXDelegate.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#equals(ref:Any):Boolean", "kind" : "def"}, {"label" : "toString", "tail" : "(): String", "member" : "scalafx.delegate.SFXDelegate.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#toString():String", "kind" : "def"}, {"label" : "buildEventDispatchChain", "tail" : "(chain: EventDispatchChain): EventDispatchChain", "member" : "scalafx.event.EventHandlerDelegate.buildEventDispatchChain", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#buildEventDispatchChain(chain:javafx.event.EventDispatchChain):javafx.event.EventDispatchChain", "kind" : "def"}, {"label" : "removeEventFilter", "tail" : "(eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit", "member" : "scalafx.event.EventHandlerDelegate.removeEventFilter", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#removeEventFilter[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_>:E]):Unit", "kind" : "def"}, {"label" : "filterEvent", "tail" : "(eventType: EventType[J])(filter: FilterMagnet[J, S]): Subscription", "member" : "scalafx.event.EventHandlerDelegate.filterEvent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#filterEvent[J<:javafx.event.Event,S<:scalafx.event.Eventwithscalafx.delegate.SFXDelegate[J]](eventType:scalafx.event.EventType[J])(filter:EventHandlerDelegate.this.FilterMagnet[J,S]):scalafx.event.subscriptions.Subscription", "kind" : "def"}, {"label" : "addEventFilter", "tail" : "(eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit", "member" : "scalafx.event.EventHandlerDelegate.addEventFilter", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#addEventFilter[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_>:E]):Unit", "kind" : "def"}, {"label" : "removeEventHandler", "tail" : "(eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit", "member" : "scalafx.event.EventHandlerDelegate.removeEventHandler", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#removeEventHandler[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_>:E]):Unit", "kind" : "def"}, {"label" : "handleEvent", "tail" : "(eventType: EventType[J])(handler: HandlerMagnet[J, S]): Subscription", "member" : "scalafx.event.EventHandlerDelegate.handleEvent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#handleEvent[J<:javafx.event.Event,S<:scalafx.event.Eventwithscalafx.delegate.SFXDelegate[J]](eventType:scalafx.event.EventType[J])(handler:EventHandlerDelegate.this.HandlerMagnet[J,S]):scalafx.event.subscriptions.Subscription", "kind" : "def"}, {"label" : "addEventHandler", "tail" : "(eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit", "member" : "scalafx.event.EventHandlerDelegate.addEventHandler", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#addEventHandler[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_>:E]):Unit", "kind" : "def"}, {"label" : "EventHandled", "tail" : "", "member" : "scalafx.event.EventHandlerDelegate.EventHandled", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#EventHandled=AnyRef{defaddEventHandler[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_]):Unit;defremoveEventHandler[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_]):Unit;defaddEventFilter[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_]):Unit;defremoveEventFilter[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_]):Unit;defbuildEventDispatchChain(chain:javafx.event.EventDispatchChain):javafx.event.EventDispatchChain}", "kind" : "type"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#clone():Object", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "class" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNode.html", "kind" : "class"}, {"name" : "it.unibo.osmos.redux.mvc.view.components.LevelNodeListener", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNodeListener.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNodeListener.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNodeListener.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNodeListener.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNodeListener.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNodeListener.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNodeListener.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNodeListener.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNodeListener.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNodeListener.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNodeListener.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNodeListener.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNodeListener.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNodeListener.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNodeListener.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNodeListener.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNodeListener.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNodeListener.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNodeListener.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "onLevelPlayClick", "tail" : "(level: Int, simulation: Boolean): Unit", "member" : "it.unibo.osmos.redux.mvc.view.components.LevelNodeListener.onLevelPlayClick", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNodeListener.html#onLevelPlayClick(level:Int,simulation:Boolean):Unit", "kind" : "abstract def"}], "shortDescription" : "Trait which gets notified when a LevelNode event occurs", "trait" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelNodeListener.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.mvc.view.components.LevelScreen", "shortDescription" : "A simple splash screen shown at the beginning of the level", "object" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelScreen$.html", "members_object" : [{"label" : "LevelScreenImpl", "tail" : "", "member" : "it.unibo.osmos.redux.mvc.view.components.LevelScreen.LevelScreenImpl", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelScreen$.html#LevelScreenImplextendsVBox", "kind" : "class"}, {"label" : "Builder", "tail" : "", "member" : "it.unibo.osmos.redux.mvc.view.components.LevelScreen.Builder", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelScreen$.html#BuilderextendsProductwithSerializable", "kind" : "case class"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelScreen$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelScreen$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelScreen$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelScreen$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelScreen$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelScreen$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelScreen$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelScreen$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelScreen$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelScreen$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelScreen$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelScreen$.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelScreen$.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelScreen$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelScreen$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelScreen$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelScreen$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelScreen$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelScreen$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "kind" : "object"}, {"name" : "it.unibo.osmos.redux.mvc.view.components.LevelStateBox", "shortDescription" : "Simple box to manage pause, resume and exit events", "members_class" : [{"label" : "FilterMagnet", "tail" : "", "member" : "scalafx.event.EventHandlerDelegate.FilterMagnet", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#FilterMagnet[J<:,S<:]extendsAnyRef", "kind" : "sealed trait"}, {"label" : "HandlerMagnet", "tail" : "", "member" : "scalafx.event.EventHandlerDelegate.HandlerMagnet", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#HandlerMagnet[J<:,S<:]extendsAnyRef", "kind" : "sealed trait"}, {"member" : "it.unibo.osmos.redux.mvc.view.components.LevelStateBox#", "error" : "unsupported entity"}, {"label" : "vSpacing", "tail" : ": Double", "member" : "it.unibo.osmos.redux.mvc.view.components.LevelStateBox.vSpacing", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#vSpacing:Double", "kind" : "val"}, {"label" : "listener", "tail" : ": LevelStateBoxListener", "member" : "it.unibo.osmos.redux.mvc.view.components.LevelStateBox.listener", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#listener:it.unibo.osmos.redux.mvc.view.components.LevelStateBoxListener", "kind" : "val"}, {"label" : "requestLayout", "tail" : "(): Unit", "member" : "scalafx.scene.layout.VBox.requestLayout", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#requestLayout():Unit", "kind" : "def"}, {"label" : "getContentBias", "tail" : "(): Orientation", "member" : "scalafx.scene.layout.VBox.getContentBias", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#getContentBias:javafx.geometry.Orientation", "kind" : "def"}, {"label" : "fillWidth_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.layout.VBox.fillWidth_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#fillWidth_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "fillWidth", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.layout.VBox.fillWidth", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#fillWidth:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "spacing_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.layout.VBox.spacing_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#spacing_=(v:Double):Unit", "kind" : "def"}, {"label" : "spacing", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.layout.VBox.spacing", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#spacing:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "delegate", "tail" : ": VBox", "member" : "scalafx.scene.layout.VBox.delegate", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#delegate:javafx.scene.layout.VBox", "kind" : "val"}, {"label" : "alignment_=", "tail" : "(v: Pos): Unit", "member" : "scalafx.delegate.AlignmentDelegate.alignment_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#alignment_=(v:scalafx.geometry.Pos):Unit", "kind" : "def"}, {"label" : "alignment", "tail" : "(): ObjectProperty[Pos]", "member" : "scalafx.delegate.AlignmentDelegate.alignment", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#alignment:scalafx.beans.property.ObjectProperty[javafx.geometry.Pos]", "kind" : "def"}, {"label" : "children_=", "tail" : "(n: Node): Unit", "member" : "scalafx.scene.layout.Pane.children_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#children_=(n:scalafx.scene.Node):Unit", "kind" : "def"}, {"label" : "children_=", "tail" : "(c: Iterable[Node]): Unit", "member" : "scalafx.scene.layout.Pane.children_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#children_=(c:Iterable[scalafx.scene.Node]):Unit", "kind" : "def"}, {"label" : "children", "tail" : "(): ObservableList[Node]", "member" : "scalafx.scene.layout.Pane.children", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#children:javafx.collections.ObservableList[javafx.scene.Node]", "kind" : "def"}, {"label" : "insets", "tail" : "(): Insets", "member" : "scalafx.scene.layout.Region.insets", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#insets:javafx.geometry.Insets", "kind" : "def"}, {"label" : "scaleShape_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.layout.Region.scaleShape_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#scaleShape_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "scaleShape", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.layout.Region.scaleShape", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#scaleShape:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "resize", "tail" : "(width: Double, height: Double): Unit", "member" : "scalafx.scene.layout.Region.resize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#resize(width:Double,height:Double):Unit", "kind" : "def"}, {"label" : "resize", "tail" : "(): Boolean", "member" : "scalafx.scene.layout.Region.resize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#resize:Boolean", "kind" : "def"}, {"label" : "snapToPixel_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.layout.Region.snapToPixel_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#snapToPixel_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "snapToPixel", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.layout.Region.snapToPixel", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#snapToPixel:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "shape_=", "tail" : "(v: Shape): Unit", "member" : "scalafx.scene.layout.Region.shape_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#shape_=(v:scalafx.scene.shape.Shape):Unit", "kind" : "def"}, {"label" : "shape", "tail" : "(): ObjectProperty[Shape]", "member" : "scalafx.scene.layout.Region.shape", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#shape:scalafx.beans.property.ObjectProperty[javafx.scene.shape.Shape]", "kind" : "def"}, {"label" : "prefWidth_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.layout.Region.prefWidth_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#prefWidth_=(v:Double):Unit", "kind" : "def"}, {"label" : "prefWidth", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.layout.Region.prefWidth", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#prefWidth:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "prefHeight_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.layout.Region.prefHeight_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#prefHeight_=(v:Double):Unit", "kind" : "def"}, {"label" : "prefHeight", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.layout.Region.prefHeight", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#prefHeight:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "padding_=", "tail" : "(v: Insets): Unit", "member" : "scalafx.scene.layout.Region.padding_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#padding_=(v:scalafx.geometry.Insets):Unit", "kind" : "def"}, {"label" : "padding", "tail" : "(): ObjectProperty[Insets]", "member" : "scalafx.scene.layout.Region.padding", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#padding:scalafx.beans.property.ObjectProperty[javafx.geometry.Insets]", "kind" : "def"}, {"label" : "opaqueInsets_=", "tail" : "(v: Insets): Unit", "member" : "scalafx.scene.layout.Region.opaqueInsets_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#opaqueInsets_=(v:scalafx.geometry.Insets):Unit", "kind" : "def"}, {"label" : "opaqueInsets", "tail" : "(): ObjectProperty[Insets]", "member" : "scalafx.scene.layout.Region.opaqueInsets", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#opaqueInsets:scalafx.beans.property.ObjectProperty[javafx.geometry.Insets]", "kind" : "def"}, {"label" : "minWidth_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.layout.Region.minWidth_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#minWidth_=(v:Double):Unit", "kind" : "def"}, {"label" : "minWidth", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.layout.Region.minWidth", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#minWidth:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "minHeight_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.layout.Region.minHeight_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#minHeight_=(v:Double):Unit", "kind" : "def"}, {"label" : "minHeight", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.layout.Region.minHeight", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#minHeight:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "maxWidth_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.layout.Region.maxWidth_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#maxWidth_=(v:Double):Unit", "kind" : "def"}, {"label" : "maxWidth", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.layout.Region.maxWidth", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#maxWidth:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "maxHeight_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.layout.Region.maxHeight_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#maxHeight_=(v:Double):Unit", "kind" : "def"}, {"label" : "maxHeight", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.layout.Region.maxHeight", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#maxHeight:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "width", "tail" : "(): ReadOnlyDoubleProperty", "member" : "scalafx.scene.layout.Region.width", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#width:scalafx.beans.property.ReadOnlyDoubleProperty", "kind" : "def"}, {"label" : "height", "tail" : "(): ReadOnlyDoubleProperty", "member" : "scalafx.scene.layout.Region.height", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#height:scalafx.beans.property.ReadOnlyDoubleProperty", "kind" : "def"}, {"label" : "centerShape_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.layout.Region.centerShape_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#centerShape_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "centerShape", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.layout.Region.centerShape", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#centerShape:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "cacheShape_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.layout.Region.cacheShape_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#cacheShape_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "cacheShape", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.layout.Region.cacheShape", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#cacheShape:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "border_=", "tail" : "(v: Border): Unit", "member" : "scalafx.scene.layout.Region.border_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#border_=(v:scalafx.scene.layout.Border):Unit", "kind" : "def"}, {"label" : "border", "tail" : "(): ObjectProperty[Border]", "member" : "scalafx.scene.layout.Region.border", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#border:scalafx.beans.property.ObjectProperty[javafx.scene.layout.Border]", "kind" : "def"}, {"label" : "background_=", "tail" : "(v: Background): Unit", "member" : "scalafx.scene.layout.Region.background_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#background_=(v:scalafx.scene.layout.Background):Unit", "kind" : "def"}, {"label" : "background", "tail" : "(): ObjectProperty[Background]", "member" : "scalafx.scene.layout.Region.background", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#background:scalafx.beans.property.ObjectProperty[javafx.scene.layout.Background]", "kind" : "def"}, {"label" : "stylesheets_=", "tail" : "(c: Iterable[String]): Unit", "member" : "scalafx.scene.Parent.stylesheets_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#stylesheets_=(c:Iterable[String]):Unit", "kind" : "def"}, {"label" : "stylesheets", "tail" : "(): ObservableList[String]", "member" : "scalafx.scene.Parent.stylesheets", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#stylesheets:javafx.collections.ObservableList[String]", "kind" : "def"}, {"label" : "needsLayout", "tail" : "(): ReadOnlyBooleanProperty", "member" : "scalafx.scene.Parent.needsLayout", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#needsLayout:scalafx.beans.property.ReadOnlyBooleanProperty", "kind" : "def"}, {"label" : "eventHandlerDelegate", "tail" : "(): EventHandled", "member" : "scalafx.scene.Node.eventHandlerDelegate", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#eventHandlerDelegate:Node.this.EventHandled", "kind" : "def"}, {"label" : "onTouchStationary_=", "tail" : "(v: EventHandler[_ >: TouchEvent]): Unit", "member" : "scalafx.scene.Node.onTouchStationary_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onTouchStationary_=(v:javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]):Unit", "kind" : "def"}, {"label" : "onTouchStationary", "tail" : "(): ObjectProperty[EventHandler[_ >: TouchEvent]]", "member" : "scalafx.scene.Node.onTouchStationary", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onTouchStationary:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]]", "kind" : "def"}, {"label" : "onTouchReleased_=", "tail" : "(v: EventHandler[_ >: TouchEvent]): Unit", "member" : "scalafx.scene.Node.onTouchReleased_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onTouchReleased_=(v:javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]):Unit", "kind" : "def"}, {"label" : "onTouchReleased", "tail" : "(): ObjectProperty[EventHandler[_ >: TouchEvent]]", "member" : "scalafx.scene.Node.onTouchReleased", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onTouchReleased:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]]", "kind" : "def"}, {"label" : "onTouchPressed_=", "tail" : "(v: EventHandler[_ >: TouchEvent]): Unit", "member" : "scalafx.scene.Node.onTouchPressed_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onTouchPressed_=(v:javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]):Unit", "kind" : "def"}, {"label" : "onTouchPressed", "tail" : "(): ObjectProperty[EventHandler[_ >: TouchEvent]]", "member" : "scalafx.scene.Node.onTouchPressed", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onTouchPressed:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]]", "kind" : "def"}, {"label" : "onTouchMoved_=", "tail" : "(v: EventHandler[_ >: TouchEvent]): Unit", "member" : "scalafx.scene.Node.onTouchMoved_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onTouchMoved_=(v:javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]):Unit", "kind" : "def"}, {"label" : "onTouchMoved", "tail" : "(): ObjectProperty[EventHandler[_ >: TouchEvent]]", "member" : "scalafx.scene.Node.onTouchMoved", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onTouchMoved:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]]", "kind" : "def"}, {"label" : "onZoomStarted_=", "tail" : "(v: EventHandler[_ >: ZoomEvent]): Unit", "member" : "scalafx.scene.Node.onZoomStarted_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onZoomStarted_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]):Unit", "kind" : "def"}, {"label" : "onZoomStarted", "tail" : "(): ObjectProperty[EventHandler[_ >: ZoomEvent]]", "member" : "scalafx.scene.Node.onZoomStarted", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onZoomStarted:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]]", "kind" : "def"}, {"label" : "onZoomFinished_=", "tail" : "(v: EventHandler[_ >: ZoomEvent]): Unit", "member" : "scalafx.scene.Node.onZoomFinished_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onZoomFinished_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]):Unit", "kind" : "def"}, {"label" : "onZoomFinished", "tail" : "(): ObjectProperty[EventHandler[_ >: ZoomEvent]]", "member" : "scalafx.scene.Node.onZoomFinished", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onZoomFinished:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]]", "kind" : "def"}, {"label" : "onZoom_=", "tail" : "(v: EventHandler[_ >: ZoomEvent]): Unit", "member" : "scalafx.scene.Node.onZoom_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onZoom_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]):Unit", "kind" : "def"}, {"label" : "onZoom", "tail" : "(): ObjectProperty[EventHandler[_ >: ZoomEvent]]", "member" : "scalafx.scene.Node.onZoom", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onZoom:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]]", "kind" : "def"}, {"label" : "onSwipeRight_=", "tail" : "(v: EventHandler[_ >: SwipeEvent]): Unit", "member" : "scalafx.scene.Node.onSwipeRight_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onSwipeRight_=(v:javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]):Unit", "kind" : "def"}, {"label" : "onSwipeRight", "tail" : "(): ObjectProperty[EventHandler[_ >: SwipeEvent]]", "member" : "scalafx.scene.Node.onSwipeRight", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onSwipeRight:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]]", "kind" : "def"}, {"label" : "onSwipeUp_=", "tail" : "(v: EventHandler[_ >: SwipeEvent]): Unit", "member" : "scalafx.scene.Node.onSwipeUp_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onSwipeUp_=(v:javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]):Unit", "kind" : "def"}, {"label" : "onSwipeUp", "tail" : "(): ObjectProperty[EventHandler[_ >: SwipeEvent]]", "member" : "scalafx.scene.Node.onSwipeUp", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onSwipeUp:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]]", "kind" : "def"}, {"label" : "onSwipeLeft_=", "tail" : "(v: EventHandler[_ >: SwipeEvent]): Unit", "member" : "scalafx.scene.Node.onSwipeLeft_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onSwipeLeft_=(v:javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]):Unit", "kind" : "def"}, {"label" : "onSwipeLeft", "tail" : "(): ObjectProperty[EventHandler[_ >: SwipeEvent]]", "member" : "scalafx.scene.Node.onSwipeLeft", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onSwipeLeft:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]]", "kind" : "def"}, {"label" : "onSwipeDown_=", "tail" : "(v: EventHandler[_ >: SwipeEvent]): Unit", "member" : "scalafx.scene.Node.onSwipeDown_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onSwipeDown_=(v:javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]):Unit", "kind" : "def"}, {"label" : "onSwipeDown", "tail" : "(): ObjectProperty[EventHandler[_ >: SwipeEvent]]", "member" : "scalafx.scene.Node.onSwipeDown", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onSwipeDown:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]]", "kind" : "def"}, {"label" : "onScrollStarted_=", "tail" : "(v: EventHandler[_ >: ScrollEvent]): Unit", "member" : "scalafx.scene.Node.onScrollStarted_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onScrollStarted_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]):Unit", "kind" : "def"}, {"label" : "onScrollStarted", "tail" : "(): ObjectProperty[EventHandler[_ >: ScrollEvent]]", "member" : "scalafx.scene.Node.onScrollStarted", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onScrollStarted:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]]", "kind" : "def"}, {"label" : "onScrollFinished_=", "tail" : "(v: EventHandler[_ >: ScrollEvent]): Unit", "member" : "scalafx.scene.Node.onScrollFinished_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onScrollFinished_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]):Unit", "kind" : "def"}, {"label" : "onScrollFinished", "tail" : "(): ObjectProperty[EventHandler[_ >: ScrollEvent]]", "member" : "scalafx.scene.Node.onScrollFinished", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onScrollFinished:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]]", "kind" : "def"}, {"label" : "onRotationStarted_=", "tail" : "(v: EventHandler[_ >: RotateEvent]): Unit", "member" : "scalafx.scene.Node.onRotationStarted_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onRotationStarted_=(v:javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]):Unit", "kind" : "def"}, {"label" : "onRotationStarted", "tail" : "(): ObjectProperty[EventHandler[_ >: RotateEvent]]", "member" : "scalafx.scene.Node.onRotationStarted", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onRotationStarted:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]]", "kind" : "def"}, {"label" : "onRotationFinished_=", "tail" : "(v: EventHandler[_ >: RotateEvent]): Unit", "member" : "scalafx.scene.Node.onRotationFinished_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onRotationFinished_=(v:javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]):Unit", "kind" : "def"}, {"label" : "onRotationFinished", "tail" : "(): ObjectProperty[EventHandler[_ >: RotateEvent]]", "member" : "scalafx.scene.Node.onRotationFinished", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onRotationFinished:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]]", "kind" : "def"}, {"label" : "onRotate_=", "tail" : "(v: EventHandler[_ >: RotateEvent]): Unit", "member" : "scalafx.scene.Node.onRotate_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onRotate_=(v:javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]):Unit", "kind" : "def"}, {"label" : "onRotate", "tail" : "(): ObjectProperty[EventHandler[_ >: RotateEvent]]", "member" : "scalafx.scene.Node.onRotate", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onRotate:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]]", "kind" : "def"}, {"label" : "localToSceneTransform", "tail" : "(): Transform", "member" : "scalafx.scene.Node.localToSceneTransform", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#localToSceneTransform:scalafx.scene.transform.Transform", "kind" : "def"}, {"label" : "localToParentTransform", "tail" : "(): Transform", "member" : "scalafx.scene.Node.localToParentTransform", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#localToParentTransform:scalafx.scene.transform.Transform", "kind" : "def"}, {"label" : "toFront", "tail" : "(): Unit", "member" : "scalafx.scene.Node.toFront", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#toFront():Unit", "kind" : "def"}, {"label" : "toBack", "tail" : "(): Unit", "member" : "scalafx.scene.Node.toBack", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#toBack():Unit", "kind" : "def"}, {"label" : "startFullDrag", "tail" : "(): Unit", "member" : "scalafx.scene.Node.startFullDrag", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#startFullDrag():Unit", "kind" : "def"}, {"label" : "startDragAndDrop", "tail" : "(transferModes: TransferMode*): Dragboard", "member" : "scalafx.scene.Node.startDragAndDrop", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#startDragAndDrop(transferModes:javafx.scene.input.TransferMode*):javafx.scene.input.Dragboard", "kind" : "def"}, {"label" : "snapshot", "tail" : "(callback: (SnapshotResult) ⇒ Unit, params: SnapshotParameters, image: WritableImage): Unit", "member" : "scalafx.scene.Node.snapshot", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#snapshot(callback:scalafx.scene.SnapshotResult=>Unit,params:scalafx.scene.SnapshotParameters,image:scalafx.scene.image.WritableImage):Unit", "kind" : "def"}, {"label" : "snapshot", "tail" : "(params: SnapshotParameters, image: WritableImage): WritableImage", "member" : "scalafx.scene.Node.snapshot", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#snapshot(params:scalafx.scene.SnapshotParameters,image:scalafx.scene.image.WritableImage):scalafx.scene.image.WritableImage", "kind" : "def"}, {"label" : "sceneToLocal", "tail" : "(scenePoint: Point2D): Point2D", "member" : "scalafx.scene.Node.sceneToLocal", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#sceneToLocal(scenePoint:scalafx.geometry.Point2D):javafx.geometry.Point2D", "kind" : "def"}, {"label" : "sceneToLocal", "tail" : "(sceneX: Double, sceneY: Double): Point2D", "member" : "scalafx.scene.Node.sceneToLocal", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#sceneToLocal(sceneX:Double,sceneY:Double):javafx.geometry.Point2D", "kind" : "def"}, {"label" : "sceneToLocal", "tail" : "(sceneBounds: Bounds): Bounds", "member" : "scalafx.scene.Node.sceneToLocal", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#sceneToLocal(sceneBounds:scalafx.geometry.Bounds):javafx.geometry.Bounds", "kind" : "def"}, {"label" : "resizeRelocate", "tail" : "(x: Double, y: Double, width: Double, height: Double): Unit", "member" : "scalafx.scene.Node.resizeRelocate", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#resizeRelocate(x:Double,y:Double,width:Double,height:Double):Unit", "kind" : "def"}, {"label" : "requestFocus", "tail" : "(): Unit", "member" : "scalafx.scene.Node.requestFocus", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#requestFocus():Unit", "kind" : "def"}, {"label" : "relocate", "tail" : "(x: Double, y: Double): Unit", "member" : "scalafx.scene.Node.relocate", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#relocate(x:Double,y:Double):Unit", "kind" : "def"}, {"label" : "parentToLocal", "tail" : "(parentPoint: Point2D): Point2D", "member" : "scalafx.scene.Node.parentToLocal", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#parentToLocal(parentPoint:scalafx.geometry.Point2D):javafx.geometry.Point2D", "kind" : "def"}, {"label" : "parentToLocal", "tail" : "(parentX: Double, parentY: Double): Point2D", "member" : "scalafx.scene.Node.parentToLocal", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#parentToLocal(parentX:Double,parentY:Double):javafx.geometry.Point2D", "kind" : "def"}, {"label" : "parentToLocal", "tail" : "(parentBounds: Bounds): Bounds", "member" : "scalafx.scene.Node.parentToLocal", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#parentToLocal(parentBounds:scalafx.geometry.Bounds):javafx.geometry.Bounds", "kind" : "def"}, {"label" : "minWidth", "tail" : "(height: Double): Double", "member" : "scalafx.scene.Node.minWidth", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#minWidth(height:Double):Double", "kind" : "def"}, {"label" : "minHeight", "tail" : "(width: Double): Double", "member" : "scalafx.scene.Node.minHeight", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#minHeight(width:Double):Double", "kind" : "def"}, {"label" : "maxWidth", "tail" : "(height: Double): Double", "member" : "scalafx.scene.Node.maxWidth", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#maxWidth(height:Double):Double", "kind" : "def"}, {"label" : "maxHeight", "tail" : "(width: Double): Double", "member" : "scalafx.scene.Node.maxHeight", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#maxHeight(width:Double):Double", "kind" : "def"}, {"label" : "lookupAll", "tail" : "(selector: String): Set[Node]", "member" : "scalafx.scene.Node.lookupAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#lookupAll(selector:String):java.util.Set[javafx.scene.Node]", "kind" : "def"}, {"label" : "lookup", "tail" : "(selector: String): Node", "member" : "scalafx.scene.Node.lookup", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#lookup(selector:String):scalafx.scene.Node", "kind" : "def"}, {"label" : "localToScene", "tail" : "(localPoint: Point2D): Point2D", "member" : "scalafx.scene.Node.localToScene", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#localToScene(localPoint:scalafx.geometry.Point2D):javafx.geometry.Point2D", "kind" : "def"}, {"label" : "localToScene", "tail" : "(localX: Double, localY: Double): Point2D", "member" : "scalafx.scene.Node.localToScene", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#localToScene(localX:Double,localY:Double):javafx.geometry.Point2D", "kind" : "def"}, {"label" : "localToScene", "tail" : "(localBounds: Bounds): Bounds", "member" : "scalafx.scene.Node.localToScene", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#localToScene(localBounds:scalafx.geometry.Bounds):javafx.geometry.Bounds", "kind" : "def"}, {"label" : "localToParent", "tail" : "(localPoint: Point2D): Point2D", "member" : "scalafx.scene.Node.localToParent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#localToParent(localPoint:scalafx.geometry.Point2D):javafx.geometry.Point2D", "kind" : "def"}, {"label" : "localToParent", "tail" : "(localX: Double, localY: Double): Point2D", "member" : "scalafx.scene.Node.localToParent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#localToParent(localX:Double,localY:Double):javafx.geometry.Point2D", "kind" : "def"}, {"label" : "localToParent", "tail" : "(localBounds: Bounds): Bounds", "member" : "scalafx.scene.Node.localToParent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#localToParent(localBounds:scalafx.geometry.Bounds):javafx.geometry.Bounds", "kind" : "def"}, {"label" : "intersects", "tail" : "(localX: Double, localY: Double, localWidth: Double, localHeight: Double): Boolean", "member" : "scalafx.scene.Node.intersects", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#intersects(localX:Double,localY:Double,localWidth:Double,localHeight:Double):Boolean", "kind" : "def"}, {"label" : "intersects", "tail" : "(localBounds: Bounds): Boolean", "member" : "scalafx.scene.Node.intersects", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#intersects(localBounds:scalafx.geometry.Bounds):Boolean", "kind" : "def"}, {"label" : "baselineOffset", "tail" : "(): Double", "member" : "scalafx.scene.Node.baselineOffset", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#baselineOffset:Double", "kind" : "def"}, {"label" : "fireEvent", "tail" : "(event: Event): Unit", "member" : "scalafx.scene.Node.fireEvent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#fireEvent(event:scalafx.event.Event):Unit", "kind" : "def"}, {"label" : "contains", "tail" : "(localPoint: Point2D): Boolean", "member" : "scalafx.scene.Node.contains", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#contains(localPoint:scalafx.geometry.Point2D):Boolean", "kind" : "def"}, {"label" : "contains", "tail" : "(localX: Double, localY: Double): Boolean", "member" : "scalafx.scene.Node.contains", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#contains(localX:Double,localY:Double):Boolean", "kind" : "def"}, {"label" : "autosize", "tail" : "(): Unit", "member" : "scalafx.scene.Node.autosize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#autosize():Unit", "kind" : "def"}, {"label" : "vgrow_=", "tail" : "(p: Priority): Unit", "member" : "scalafx.scene.Node.vgrow_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#vgrow_=(p:scalafx.scene.layout.Priority):Unit", "kind" : "def"}, {"label" : "vgrow", "tail" : "(): Priority", "member" : "scalafx.scene.Node.vgrow", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#vgrow:scalafx.scene.layout.Priority", "kind" : "def"}, {"label" : "hgrow_=", "tail" : "(p: Priority): Unit", "member" : "scalafx.scene.Node.hgrow_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#hgrow_=(p:scalafx.scene.layout.Priority):Unit", "kind" : "def"}, {"label" : "hgrow", "tail" : "(): Priority", "member" : "scalafx.scene.Node.hgrow", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#hgrow:scalafx.scene.layout.Priority", "kind" : "def"}, {"label" : "margin_=", "tail" : "(i: Insets): Unit", "member" : "scalafx.scene.Node.margin_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#margin_=(i:scalafx.geometry.Insets):Unit", "kind" : "def"}, {"label" : "margin", "tail" : "(): Insets", "member" : "scalafx.scene.Node.margin", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#margin:scalafx.geometry.Insets", "kind" : "def"}, {"label" : "alignmentInParent_=", "tail" : "(p: Pos): Unit", "member" : "scalafx.scene.Node.alignmentInParent_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#alignmentInParent_=(p:scalafx.geometry.Pos):Unit", "kind" : "def"}, {"label" : "alignmentInParent", "tail" : "(): Pos", "member" : "scalafx.scene.Node.alignmentInParent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#alignmentInParent:scalafx.geometry.Pos", "kind" : "def"}, {"label" : "visible_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.Node.visible_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#visible_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "visible", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.Node.visible", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#visible:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "userData_=", "tail" : "(v: AnyRef): Unit", "member" : "scalafx.scene.Node.userData_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#userData_=(v:AnyRef):Unit", "kind" : "def"}, {"label" : "userData", "tail" : "(): AnyRef", "member" : "scalafx.scene.Node.userData", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#userData:Object", "kind" : "def"}, {"label" : "translateZ_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.translateZ_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#translateZ_=(v:Double):Unit", "kind" : "def"}, {"label" : "translateZ", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.translateZ", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#translateZ:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "translateY_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.translateY_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#translateY_=(v:Double):Unit", "kind" : "def"}, {"label" : "translateY", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.translateY", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#translateY:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "translateX_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.translateX_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#translateX_=(v:Double):Unit", "kind" : "def"}, {"label" : "translateX", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.translateX", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#translateX:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "transforms_=", "tail" : "(c: Iterable[Transform]): Unit", "member" : "scalafx.scene.Node.transforms_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#transforms_=(c:Iterable[scalafx.scene.transform.Transform]):Unit", "kind" : "def"}, {"label" : "transforms", "tail" : "(): ObservableList[Transform]", "member" : "scalafx.scene.Node.transforms", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#transforms:javafx.collections.ObservableList[javafx.scene.transform.Transform]", "kind" : "def"}, {"label" : "styleClass_=", "tail" : "(c: Iterable[String]): Unit", "member" : "scalafx.scene.Node.styleClass_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#styleClass_=(c:Iterable[String]):Unit", "kind" : "def"}, {"label" : "style_=", "tail" : "(v: String): Unit", "member" : "scalafx.scene.Node.style_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#style_=(v:String):Unit", "kind" : "def"}, {"label" : "style", "tail" : "(): StringProperty", "member" : "scalafx.scene.Node.style", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#style:scalafx.beans.property.StringProperty", "kind" : "def"}, {"label" : "scene", "tail" : "(): ReadOnlyObjectProperty[Scene]", "member" : "scalafx.scene.Node.scene", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#scene:scalafx.beans.property.ReadOnlyObjectProperty[javafx.scene.Scene]", "kind" : "def"}, {"label" : "scaleZ_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.scaleZ_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#scaleZ_=(v:Double):Unit", "kind" : "def"}, {"label" : "scaleZ", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.scaleZ", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#scaleZ:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "scaleY_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.scaleY_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#scaleY_=(v:Double):Unit", "kind" : "def"}, {"label" : "scaleY", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.scaleY", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#scaleY:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "scaleX_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.scaleX_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#scaleX_=(v:Double):Unit", "kind" : "def"}, {"label" : "scaleX", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.scaleX", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#scaleX:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "rotationAxis_=", "tail" : "(v: Point3D): Unit", "member" : "scalafx.scene.Node.rotationAxis_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#rotationAxis_=(v:scalafx.geometry.Point3D):Unit", "kind" : "def"}, {"label" : "rotationAxis", "tail" : "(): ObjectProperty[Point3D]", "member" : "scalafx.scene.Node.rotationAxis", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#rotationAxis:scalafx.beans.property.ObjectProperty[javafx.geometry.Point3D]", "kind" : "def"}, {"label" : "rotate_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.rotate_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#rotate_=(v:Double):Unit", "kind" : "def"}, {"label" : "rotate", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.rotate", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#rotate:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "pressed", "tail" : "(): ReadOnlyBooleanProperty", "member" : "scalafx.scene.Node.pressed", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#pressed:scalafx.beans.property.ReadOnlyBooleanProperty", "kind" : "def"}, {"label" : "pickOnBounds_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.Node.pickOnBounds_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#pickOnBounds_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "pickOnBounds", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.Node.pickOnBounds", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#pickOnBounds:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "parent", "tail" : "(): ReadOnlyObjectProperty[Parent]", "member" : "scalafx.scene.Node.parent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#parent:scalafx.beans.property.ReadOnlyObjectProperty[javafx.scene.Parent]", "kind" : "def"}, {"label" : "opacity_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.opacity_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#opacity_=(v:Double):Unit", "kind" : "def"}, {"label" : "opacity", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.opacity", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#opacity:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "onScroll_=", "tail" : "(v: EventHandler[_ >: ScrollEvent]): Unit", "member" : "scalafx.scene.Node.onScroll_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onScroll_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]):Unit", "kind" : "def"}, {"label" : "onScroll", "tail" : "(): ObjectProperty[EventHandler[_ >: ScrollEvent]]", "member" : "scalafx.scene.Node.onScroll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onScroll:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]]", "kind" : "def"}, {"label" : "onMouseReleased_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Node.onMouseReleased_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onMouseReleased_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseReleased", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Node.onMouseReleased", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onMouseReleased:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMousePressed_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Node.onMousePressed_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onMousePressed_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMousePressed", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Node.onMousePressed", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onMousePressed:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseMoved_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Node.onMouseMoved_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onMouseMoved_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseMoved", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Node.onMouseMoved", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onMouseMoved:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseExited_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Node.onMouseExited_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onMouseExited_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseExited", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Node.onMouseExited", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onMouseExited:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseEntered_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Node.onMouseEntered_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onMouseEntered_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseEntered", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Node.onMouseEntered", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onMouseEntered:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseDragReleased_=", "tail" : "(v: EventHandler[_ >: MouseDragEvent]): Unit", "member" : "scalafx.scene.Node.onMouseDragReleased_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onMouseDragReleased_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragReleased", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseDragEvent]]", "member" : "scalafx.scene.Node.onMouseDragReleased", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onMouseDragReleased:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]]", "kind" : "def"}, {"label" : "onMouseDragOver_=", "tail" : "(v: EventHandler[_ >: MouseDragEvent]): Unit", "member" : "scalafx.scene.Node.onMouseDragOver_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onMouseDragOver_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragOver", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseDragEvent]]", "member" : "scalafx.scene.Node.onMouseDragOver", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onMouseDragOver:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]]", "kind" : "def"}, {"label" : "onMouseDragExited_=", "tail" : "(v: EventHandler[_ >: MouseDragEvent]): Unit", "member" : "scalafx.scene.Node.onMouseDragExited_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onMouseDragExited_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragExited", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseDragEvent]]", "member" : "scalafx.scene.Node.onMouseDragExited", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onMouseDragExited:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]]", "kind" : "def"}, {"label" : "onMouseDragEntered_=", "tail" : "(v: EventHandler[_ >: MouseDragEvent]): Unit", "member" : "scalafx.scene.Node.onMouseDragEntered_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onMouseDragEntered_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragEntered", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseDragEvent]]", "member" : "scalafx.scene.Node.onMouseDragEntered", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onMouseDragEntered:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]]", "kind" : "def"}, {"label" : "onMouseDragged_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Node.onMouseDragged_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onMouseDragged_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragged", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Node.onMouseDragged", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onMouseDragged:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseClicked_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Node.onMouseClicked_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onMouseClicked_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseClicked", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Node.onMouseClicked", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onMouseClicked:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onKeyTyped_=", "tail" : "(v: EventHandler[_ >: KeyEvent]): Unit", "member" : "scalafx.scene.Node.onKeyTyped_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onKeyTyped_=(v:javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]):Unit", "kind" : "def"}, {"label" : "onKeyTyped", "tail" : "(): ObjectProperty[EventHandler[_ >: KeyEvent]]", "member" : "scalafx.scene.Node.onKeyTyped", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onKeyTyped:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]]", "kind" : "def"}, {"label" : "onKeyReleased_=", "tail" : "(v: EventHandler[_ >: KeyEvent]): Unit", "member" : "scalafx.scene.Node.onKeyReleased_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onKeyReleased_=(v:javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]):Unit", "kind" : "def"}, {"label" : "onKeyReleased", "tail" : "(): ObjectProperty[EventHandler[_ >: KeyEvent]]", "member" : "scalafx.scene.Node.onKeyReleased", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onKeyReleased:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]]", "kind" : "def"}, {"label" : "onKeyPressed_=", "tail" : "(v: EventHandler[_ >: KeyEvent]): Unit", "member" : "scalafx.scene.Node.onKeyPressed_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onKeyPressed_=(v:javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]):Unit", "kind" : "def"}, {"label" : "onKeyPressed", "tail" : "(): ObjectProperty[EventHandler[_ >: KeyEvent]]", "member" : "scalafx.scene.Node.onKeyPressed", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onKeyPressed:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]]", "kind" : "def"}, {"label" : "onInputMethodTextChanged_=", "tail" : "(v: EventHandler[_ >: InputMethodEvent]): Unit", "member" : "scalafx.scene.Node.onInputMethodTextChanged_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onInputMethodTextChanged_=(v:javafx.event.EventHandler[_>:javafx.scene.input.InputMethodEvent]):Unit", "kind" : "def"}, {"label" : "onInputMethodTextChanged", "tail" : "(): ObjectProperty[EventHandler[_ >: InputMethodEvent]]", "member" : "scalafx.scene.Node.onInputMethodTextChanged", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onInputMethodTextChanged:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.InputMethodEvent]]", "kind" : "def"}, {"label" : "onDragOver_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Node.onDragOver_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onDragOver_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragOver", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Node.onDragOver", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onDragOver:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragExited_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Node.onDragExited_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onDragExited_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragExited", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Node.onDragExited", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onDragExited:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragEntered_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Node.onDragEntered_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onDragEntered_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragEntered", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Node.onDragEntered", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onDragEntered:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragDropped_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Node.onDragDropped_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onDragDropped_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragDropped", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Node.onDragDropped", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onDragDropped:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragDone_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Node.onDragDone_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onDragDone_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragDone", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Node.onDragDone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onDragDone:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragDetected_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Node.onDragDetected_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onDragDetected_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onDragDetected", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Node.onDragDetected", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onDragDetected:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onContextMenuRequested_=", "tail" : "(v: EventHandler[_ >: ContextMenuEvent]): Unit", "member" : "scalafx.scene.Node.onContextMenuRequested_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onContextMenuRequested_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ContextMenuEvent]):Unit", "kind" : "def"}, {"label" : "onContextMenuRequested", "tail" : "(): ObjectProperty[EventHandler[_ >: ContextMenuEvent]]", "member" : "scalafx.scene.Node.onContextMenuRequested", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#onContextMenuRequested:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ContextMenuEvent]]", "kind" : "def"}, {"label" : "effectiveNodeOrientation", "tail" : "(): ReadOnlyObjectProperty[NodeOrientation]", "member" : "scalafx.scene.Node.effectiveNodeOrientation", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#effectiveNodeOrientation:scalafx.beans.property.ReadOnlyObjectProperty[javafx.geometry.NodeOrientation]", "kind" : "def"}, {"label" : "nodeOrientation_=", "tail" : "(v: NodeOrientation): Unit", "member" : "scalafx.scene.Node.nodeOrientation_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#nodeOrientation_=(v:scalafx.geometry.NodeOrientation):Unit", "kind" : "def"}, {"label" : "nodeOrientation", "tail" : "(): ObjectProperty[NodeOrientation]", "member" : "scalafx.scene.Node.nodeOrientation", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#nodeOrientation:scalafx.beans.property.ObjectProperty[javafx.geometry.NodeOrientation]", "kind" : "def"}, {"label" : "mouseTransparent_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.Node.mouseTransparent_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#mouseTransparent_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "mouseTransparent", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.Node.mouseTransparent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#mouseTransparent:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "managed_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.Node.managed_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#managed_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "managed", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.Node.managed", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#managed:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "layoutY_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.layoutY_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#layoutY_=(v:Double):Unit", "kind" : "def"}, {"label" : "layoutY", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.layoutY", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#layoutY:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "layoutX_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.layoutX_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#layoutX_=(v:Double):Unit", "kind" : "def"}, {"label" : "layoutX", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.layoutX", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#layoutX:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "layoutBounds", "tail" : "(): ReadOnlyObjectProperty[Bounds]", "member" : "scalafx.scene.Node.layoutBounds", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#layoutBounds:scalafx.beans.property.ReadOnlyObjectProperty[javafx.geometry.Bounds]", "kind" : "def"}, {"label" : "inputMethodRequests_=", "tail" : "(v: InputMethodRequests): Unit", "member" : "scalafx.scene.Node.inputMethodRequests_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#inputMethodRequests_=(v:javafx.scene.input.InputMethodRequests):Unit", "kind" : "def"}, {"label" : "inputMethodRequests", "tail" : "(): ObjectProperty[InputMethodRequests]", "member" : "scalafx.scene.Node.inputMethodRequests", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#inputMethodRequests:scalafx.beans.property.ObjectProperty[javafx.scene.input.InputMethodRequests]", "kind" : "def"}, {"label" : "id_=", "tail" : "(v: String): Unit", "member" : "scalafx.scene.Node.id_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#id_=(v:String):Unit", "kind" : "def"}, {"label" : "id", "tail" : "(): StringProperty", "member" : "scalafx.scene.Node.id", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#id:scalafx.beans.property.StringProperty", "kind" : "def"}, {"label" : "hover", "tail" : "(): ReadOnlyBooleanProperty", "member" : "scalafx.scene.Node.hover", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#hover:scalafx.beans.property.ReadOnlyBooleanProperty", "kind" : "def"}, {"label" : "focusTraversable_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.Node.focusTraversable_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#focusTraversable_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "focusTraversable", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.Node.focusTraversable", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#focusTraversable:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "focused", "tail" : "(): ReadOnlyBooleanProperty", "member" : "scalafx.scene.Node.focused", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#focused:scalafx.beans.property.ReadOnlyBooleanProperty", "kind" : "def"}, {"label" : "eventDispatcher_=", "tail" : "(v: EventDispatcher): Unit", "member" : "scalafx.scene.Node.eventDispatcher_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#eventDispatcher_=(v:javafx.event.EventDispatcher):Unit", "kind" : "def"}, {"label" : "eventDispatcher", "tail" : "(): ObjectProperty[EventDispatcher]", "member" : "scalafx.scene.Node.eventDispatcher", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#eventDispatcher:scalafx.beans.property.ObjectProperty[javafx.event.EventDispatcher]", "kind" : "def"}, {"label" : "effect_=", "tail" : "(v: Effect): Unit", "member" : "scalafx.scene.Node.effect_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#effect_=(v:scalafx.scene.effect.Effect):Unit", "kind" : "def"}, {"label" : "effect", "tail" : "(): ObjectProperty[Effect]", "member" : "scalafx.scene.Node.effect", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#effect:scalafx.beans.property.ObjectProperty[javafx.scene.effect.Effect]", "kind" : "def"}, {"label" : "disable_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.Node.disable_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#disable_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "disable", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.Node.disable", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#disable:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "disabled", "tail" : "(): ReadOnlyBooleanProperty", "member" : "scalafx.scene.Node.disabled", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#disabled:scalafx.beans.property.ReadOnlyBooleanProperty", "kind" : "def"}, {"label" : "depthTest_=", "tail" : "(v: DepthTest): Unit", "member" : "scalafx.scene.Node.depthTest_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#depthTest_=(v:scalafx.scene.DepthTest):Unit", "kind" : "def"}, {"label" : "depthTest", "tail" : "(): ObjectProperty[DepthTest]", "member" : "scalafx.scene.Node.depthTest", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#depthTest:scalafx.beans.property.ObjectProperty[javafx.scene.DepthTest]", "kind" : "def"}, {"label" : "cursor_=", "tail" : "(v: Cursor): Unit", "member" : "scalafx.scene.Node.cursor_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#cursor_=(v:scalafx.scene.Cursor):Unit", "kind" : "def"}, {"label" : "cursor", "tail" : "(): ObjectProperty[Cursor]", "member" : "scalafx.scene.Node.cursor", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#cursor:scalafx.beans.property.ObjectProperty[javafx.scene.Cursor]", "kind" : "def"}, {"label" : "contentBias", "tail" : "(): Orientation", "member" : "scalafx.scene.Node.contentBias", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#contentBias:scalafx.geometry.Orientation", "kind" : "def"}, {"label" : "clip_=", "tail" : "(v: Node): Unit", "member" : "scalafx.scene.Node.clip_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#clip_=(v:scalafx.scene.Node):Unit", "kind" : "def"}, {"label" : "clip", "tail" : "(): ObjectProperty[Node]", "member" : "scalafx.scene.Node.clip", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#clip:scalafx.beans.property.ObjectProperty[javafx.scene.Node]", "kind" : "def"}, {"label" : "cache_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.Node.cache_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#cache_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "cache", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.Node.cache", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#cache:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "cacheHint_=", "tail" : "(v: CacheHint): Unit", "member" : "scalafx.scene.Node.cacheHint_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#cacheHint_=(v:scalafx.scene.CacheHint):Unit", "kind" : "def"}, {"label" : "cacheHint", "tail" : "(): ObjectProperty[CacheHint]", "member" : "scalafx.scene.Node.cacheHint", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#cacheHint:scalafx.beans.property.ObjectProperty[javafx.scene.CacheHint]", "kind" : "def"}, {"label" : "boundsInParent", "tail" : "(): ReadOnlyObjectProperty[Bounds]", "member" : "scalafx.scene.Node.boundsInParent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#boundsInParent:scalafx.beans.property.ReadOnlyObjectProperty[javafx.geometry.Bounds]", "kind" : "def"}, {"label" : "boundsInLocal", "tail" : "(): ReadOnlyObjectProperty[Bounds]", "member" : "scalafx.scene.Node.boundsInLocal", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#boundsInLocal:scalafx.beans.property.ReadOnlyObjectProperty[javafx.geometry.Bounds]", "kind" : "def"}, {"label" : "blendMode_=", "tail" : "(v: BlendMode): Unit", "member" : "scalafx.scene.Node.blendMode_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#blendMode_=(v:scalafx.scene.effect.BlendMode):Unit", "kind" : "def"}, {"label" : "blendMode", "tail" : "(): ObjectProperty[BlendMode]", "member" : "scalafx.scene.Node.blendMode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#blendMode:scalafx.beans.property.ObjectProperty[javafx.scene.effect.BlendMode]", "kind" : "def"}, {"label" : "accessibleRoleDescription_=", "tail" : "(v: String): Unit", "member" : "scalafx.scene.Node.accessibleRoleDescription_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#accessibleRoleDescription_=(v:String):Unit", "kind" : "def"}, {"label" : "accessibleRoleDescription", "tail" : "(): ObjectProperty[String]", "member" : "scalafx.scene.Node.accessibleRoleDescription", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#accessibleRoleDescription:scalafx.beans.property.ObjectProperty[String]", "kind" : "def"}, {"label" : "accessibleRole_=", "tail" : "(v: AccessibleRole): Unit", "member" : "scalafx.scene.Node.accessibleRole_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#accessibleRole_=(v:scalafx.scene.AccessibleRole):Unit", "kind" : "def"}, {"label" : "accessibleRole", "tail" : "(): ObjectProperty[AccessibleRole]", "member" : "scalafx.scene.Node.accessibleRole", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#accessibleRole:scalafx.beans.property.ObjectProperty[javafx.scene.AccessibleRole]", "kind" : "def"}, {"label" : "accessibleHelp_=", "tail" : "(v: String): Unit", "member" : "scalafx.scene.Node.accessibleHelp_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#accessibleHelp_=(v:String):Unit", "kind" : "def"}, {"label" : "accessibleHelp", "tail" : "(): ObjectProperty[String]", "member" : "scalafx.scene.Node.accessibleHelp", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#accessibleHelp:scalafx.beans.property.ObjectProperty[String]", "kind" : "def"}, {"label" : "accessibleText_=", "tail" : "(v: String): Unit", "member" : "scalafx.scene.Node.accessibleText_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#accessibleText_=(v:String):Unit", "kind" : "def"}, {"label" : "accessibleText", "tail" : "(): ObjectProperty[String]", "member" : "scalafx.scene.Node.accessibleText", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#accessibleText:scalafx.beans.property.ObjectProperty[String]", "kind" : "def"}, {"label" : "typeSelector", "tail" : "(): String", "member" : "scalafx.css.Styleable.typeSelector", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#typeSelector:String", "kind" : "def"}, {"label" : "styleClass", "tail" : "(): ObservableBuffer[String]", "member" : "scalafx.css.Styleable.styleClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#styleClass:scalafx.collections.ObservableBuffer[String]", "kind" : "def"}, {"label" : "styleableParent", "tail" : "(): Styleable", "member" : "scalafx.css.Styleable.styleableParent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#styleableParent:scalafx.css.Styleable", "kind" : "def"}, {"label" : "getStyle", "tail" : "(): String", "member" : "scalafx.css.Styleable.getStyle", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#getStyle:String", "kind" : "def"}, {"label" : "pseudoClassStates", "tail" : "(): ObservableSet[PseudoClass]", "member" : "scalafx.css.Styleable.pseudoClassStates", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#pseudoClassStates:scalafx.collections.ObservableSet[javafx.css.PseudoClass]", "kind" : "def"}, {"label" : "getId", "tail" : "(): String", "member" : "scalafx.css.Styleable.getId", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#getId:String", "kind" : "def"}, {"label" : "cssMetaData", "tail" : "(): Seq[CssMetaData[_ <: Styleable, _]]", "member" : "scalafx.css.Styleable.cssMetaData", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#cssMetaData:Seq[javafx.css.CssMetaData[_<:javafx.css.Styleable,_]]", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scalafx.delegate.SFXDelegate.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#hashCode():Int", "kind" : "def"}, {"label" : "equals", "tail" : "(ref: Any): Boolean", "member" : "scalafx.delegate.SFXDelegate.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#equals(ref:Any):Boolean", "kind" : "def"}, {"label" : "toString", "tail" : "(): String", "member" : "scalafx.delegate.SFXDelegate.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#toString():String", "kind" : "def"}, {"label" : "buildEventDispatchChain", "tail" : "(chain: EventDispatchChain): EventDispatchChain", "member" : "scalafx.event.EventHandlerDelegate.buildEventDispatchChain", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#buildEventDispatchChain(chain:javafx.event.EventDispatchChain):javafx.event.EventDispatchChain", "kind" : "def"}, {"label" : "removeEventFilter", "tail" : "(eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit", "member" : "scalafx.event.EventHandlerDelegate.removeEventFilter", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#removeEventFilter[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_>:E]):Unit", "kind" : "def"}, {"label" : "filterEvent", "tail" : "(eventType: EventType[J])(filter: FilterMagnet[J, S]): Subscription", "member" : "scalafx.event.EventHandlerDelegate.filterEvent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#filterEvent[J<:javafx.event.Event,S<:scalafx.event.Eventwithscalafx.delegate.SFXDelegate[J]](eventType:scalafx.event.EventType[J])(filter:EventHandlerDelegate.this.FilterMagnet[J,S]):scalafx.event.subscriptions.Subscription", "kind" : "def"}, {"label" : "addEventFilter", "tail" : "(eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit", "member" : "scalafx.event.EventHandlerDelegate.addEventFilter", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#addEventFilter[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_>:E]):Unit", "kind" : "def"}, {"label" : "removeEventHandler", "tail" : "(eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit", "member" : "scalafx.event.EventHandlerDelegate.removeEventHandler", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#removeEventHandler[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_>:E]):Unit", "kind" : "def"}, {"label" : "handleEvent", "tail" : "(eventType: EventType[J])(handler: HandlerMagnet[J, S]): Subscription", "member" : "scalafx.event.EventHandlerDelegate.handleEvent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#handleEvent[J<:javafx.event.Event,S<:scalafx.event.Eventwithscalafx.delegate.SFXDelegate[J]](eventType:scalafx.event.EventType[J])(handler:EventHandlerDelegate.this.HandlerMagnet[J,S]):scalafx.event.subscriptions.Subscription", "kind" : "def"}, {"label" : "addEventHandler", "tail" : "(eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit", "member" : "scalafx.event.EventHandlerDelegate.addEventHandler", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#addEventHandler[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_>:E]):Unit", "kind" : "def"}, {"label" : "EventHandled", "tail" : "", "member" : "scalafx.event.EventHandlerDelegate.EventHandled", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#EventHandled=AnyRef{defaddEventHandler[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_]):Unit;defremoveEventHandler[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_]):Unit;defaddEventFilter[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_]):Unit;defremoveEventFilter[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_]):Unit;defbuildEventDispatchChain(chain:javafx.event.EventDispatchChain):javafx.event.EventDispatchChain}", "kind" : "type"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#clone():Object", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "class" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBox.html", "kind" : "class"}, {"name" : "it.unibo.osmos.redux.mvc.view.components.LevelStateBoxListener", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBoxListener.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBoxListener.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBoxListener.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBoxListener.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBoxListener.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBoxListener.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBoxListener.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBoxListener.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBoxListener.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBoxListener.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBoxListener.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBoxListener.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBoxListener.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBoxListener.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBoxListener.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBoxListener.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBoxListener.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBoxListener.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBoxListener.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "onExit", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.view.components.LevelStateBoxListener.onExit", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBoxListener.html#onExit():Unit", "kind" : "abstract def"}, {"label" : "onResume", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.view.components.LevelStateBoxListener.onResume", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBoxListener.html#onResume():Unit", "kind" : "abstract def"}, {"label" : "onPause", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.view.components.LevelStateBoxListener.onPause", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBoxListener.html#onPause():Unit", "kind" : "abstract def"}], "shortDescription" : "Trait which gets notified when a LevelStateBox event occurs", "trait" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/LevelStateBoxListener.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.mvc.view.components.MainMenuBar", "shortDescription" : "MenuBar showed at the top of the MainScene", "members_class" : [{"label" : "FilterMagnet", "tail" : "", "member" : "scalafx.event.EventHandlerDelegate.FilterMagnet", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#FilterMagnet[J<:,S<:]extendsAnyRef", "kind" : "sealed trait"}, {"label" : "HandlerMagnet", "tail" : "", "member" : "scalafx.event.EventHandlerDelegate.HandlerMagnet", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#HandlerMagnet[J<:,S<:]extendsAnyRef", "kind" : "sealed trait"}, {"label" : "fullscreenMenuItem", "tail" : ": MenuItem", "member" : "it.unibo.osmos.redux.mvc.view.components.MainMenuBar.fullscreenMenuItem", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#fullscreenMenuItem:scalafx.scene.control.MenuItem", "kind" : "val"}, {"label" : "settingsMenu", "tail" : ": Menu", "member" : "it.unibo.osmos.redux.mvc.view.components.MainMenuBar.settingsMenu", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#settingsMenu:scalafx.scene.control.Menu", "kind" : "val"}, {"member" : "it.unibo.osmos.redux.mvc.view.components.MainMenuBar#", "error" : "unsupported entity"}, {"label" : "listener", "tail" : ": MainMenuBarListener", "member" : "it.unibo.osmos.redux.mvc.view.components.MainMenuBar.listener", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#listener:it.unibo.osmos.redux.mvc.view.components.MainMenuBarListener", "kind" : "val"}, {"label" : "useSystemMenuBar_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.control.MenuBar.useSystemMenuBar_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#useSystemMenuBar_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "useSystemMenuBar", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.control.MenuBar.useSystemMenuBar", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#useSystemMenuBar:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "menus_=", "tail" : "(c: Iterable[Menu]): Unit", "member" : "scalafx.scene.control.MenuBar.menus_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#menus_=(c:Iterable[scalafx.scene.control.Menu]):Unit", "kind" : "def"}, {"label" : "menus", "tail" : "(): ObservableList[Menu]", "member" : "scalafx.scene.control.MenuBar.menus", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#menus:javafx.collections.ObservableList[javafx.scene.control.Menu]", "kind" : "def"}, {"label" : "delegate", "tail" : ": MenuBar", "member" : "scalafx.scene.control.MenuBar.delegate", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#delegate:javafx.scene.control.MenuBar", "kind" : "val"}, {"label" : "tooltip_=", "tail" : "(v: Tooltip): Unit", "member" : "scalafx.scene.control.Control.tooltip_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#tooltip_=(v:scalafx.scene.control.Tooltip):Unit", "kind" : "def"}, {"label" : "tooltip", "tail" : "(): ObjectProperty[Tooltip]", "member" : "scalafx.scene.control.Control.tooltip", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#tooltip:scalafx.beans.property.ObjectProperty[javafx.scene.control.Tooltip]", "kind" : "def"}, {"label" : "contextMenu_=", "tail" : "(v: ContextMenu): Unit", "member" : "scalafx.scene.control.Control.contextMenu_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#contextMenu_=(v:scalafx.scene.control.ContextMenu):Unit", "kind" : "def"}, {"label" : "contextMenu", "tail" : "(): ObjectProperty[ContextMenu]", "member" : "scalafx.scene.control.Control.contextMenu", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#contextMenu:scalafx.beans.property.ObjectProperty[javafx.scene.control.ContextMenu]", "kind" : "def"}, {"label" : "skin_=", "tail" : "(v: Skin[_]): Unit", "member" : "scalafx.scene.control.Skinnable.skin_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#skin_=(v:scalafx.scene.control.Skin[_]):Unit", "kind" : "def"}, {"label" : "skin", "tail" : "(): ObjectProperty[Skin[_]]", "member" : "scalafx.scene.control.Skinnable.skin", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#skin:scalafx.beans.property.ObjectProperty[javafx.scene.control.Skin[_]]", "kind" : "def"}, {"label" : "insets", "tail" : "(): Insets", "member" : "scalafx.scene.layout.Region.insets", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#insets:javafx.geometry.Insets", "kind" : "def"}, {"label" : "scaleShape_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.layout.Region.scaleShape_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#scaleShape_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "scaleShape", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.layout.Region.scaleShape", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#scaleShape:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "resize", "tail" : "(width: Double, height: Double): Unit", "member" : "scalafx.scene.layout.Region.resize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#resize(width:Double,height:Double):Unit", "kind" : "def"}, {"label" : "resize", "tail" : "(): Boolean", "member" : "scalafx.scene.layout.Region.resize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#resize:Boolean", "kind" : "def"}, {"label" : "snapToPixel_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.layout.Region.snapToPixel_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#snapToPixel_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "snapToPixel", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.layout.Region.snapToPixel", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#snapToPixel:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "shape_=", "tail" : "(v: Shape): Unit", "member" : "scalafx.scene.layout.Region.shape_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#shape_=(v:scalafx.scene.shape.Shape):Unit", "kind" : "def"}, {"label" : "shape", "tail" : "(): ObjectProperty[Shape]", "member" : "scalafx.scene.layout.Region.shape", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#shape:scalafx.beans.property.ObjectProperty[javafx.scene.shape.Shape]", "kind" : "def"}, {"label" : "prefWidth_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.layout.Region.prefWidth_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#prefWidth_=(v:Double):Unit", "kind" : "def"}, {"label" : "prefWidth", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.layout.Region.prefWidth", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#prefWidth:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "prefHeight_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.layout.Region.prefHeight_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#prefHeight_=(v:Double):Unit", "kind" : "def"}, {"label" : "prefHeight", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.layout.Region.prefHeight", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#prefHeight:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "padding_=", "tail" : "(v: Insets): Unit", "member" : "scalafx.scene.layout.Region.padding_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#padding_=(v:scalafx.geometry.Insets):Unit", "kind" : "def"}, {"label" : "padding", "tail" : "(): ObjectProperty[Insets]", "member" : "scalafx.scene.layout.Region.padding", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#padding:scalafx.beans.property.ObjectProperty[javafx.geometry.Insets]", "kind" : "def"}, {"label" : "opaqueInsets_=", "tail" : "(v: Insets): Unit", "member" : "scalafx.scene.layout.Region.opaqueInsets_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#opaqueInsets_=(v:scalafx.geometry.Insets):Unit", "kind" : "def"}, {"label" : "opaqueInsets", "tail" : "(): ObjectProperty[Insets]", "member" : "scalafx.scene.layout.Region.opaqueInsets", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#opaqueInsets:scalafx.beans.property.ObjectProperty[javafx.geometry.Insets]", "kind" : "def"}, {"label" : "minWidth_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.layout.Region.minWidth_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#minWidth_=(v:Double):Unit", "kind" : "def"}, {"label" : "minWidth", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.layout.Region.minWidth", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#minWidth:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "minHeight_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.layout.Region.minHeight_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#minHeight_=(v:Double):Unit", "kind" : "def"}, {"label" : "minHeight", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.layout.Region.minHeight", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#minHeight:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "maxWidth_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.layout.Region.maxWidth_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#maxWidth_=(v:Double):Unit", "kind" : "def"}, {"label" : "maxWidth", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.layout.Region.maxWidth", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#maxWidth:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "maxHeight_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.layout.Region.maxHeight_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#maxHeight_=(v:Double):Unit", "kind" : "def"}, {"label" : "maxHeight", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.layout.Region.maxHeight", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#maxHeight:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "width", "tail" : "(): ReadOnlyDoubleProperty", "member" : "scalafx.scene.layout.Region.width", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#width:scalafx.beans.property.ReadOnlyDoubleProperty", "kind" : "def"}, {"label" : "height", "tail" : "(): ReadOnlyDoubleProperty", "member" : "scalafx.scene.layout.Region.height", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#height:scalafx.beans.property.ReadOnlyDoubleProperty", "kind" : "def"}, {"label" : "centerShape_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.layout.Region.centerShape_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#centerShape_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "centerShape", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.layout.Region.centerShape", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#centerShape:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "cacheShape_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.layout.Region.cacheShape_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#cacheShape_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "cacheShape", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.layout.Region.cacheShape", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#cacheShape:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "border_=", "tail" : "(v: Border): Unit", "member" : "scalafx.scene.layout.Region.border_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#border_=(v:scalafx.scene.layout.Border):Unit", "kind" : "def"}, {"label" : "border", "tail" : "(): ObjectProperty[Border]", "member" : "scalafx.scene.layout.Region.border", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#border:scalafx.beans.property.ObjectProperty[javafx.scene.layout.Border]", "kind" : "def"}, {"label" : "background_=", "tail" : "(v: Background): Unit", "member" : "scalafx.scene.layout.Region.background_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#background_=(v:scalafx.scene.layout.Background):Unit", "kind" : "def"}, {"label" : "background", "tail" : "(): ObjectProperty[Background]", "member" : "scalafx.scene.layout.Region.background", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#background:scalafx.beans.property.ObjectProperty[javafx.scene.layout.Background]", "kind" : "def"}, {"label" : "stylesheets_=", "tail" : "(c: Iterable[String]): Unit", "member" : "scalafx.scene.Parent.stylesheets_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#stylesheets_=(c:Iterable[String]):Unit", "kind" : "def"}, {"label" : "stylesheets", "tail" : "(): ObservableList[String]", "member" : "scalafx.scene.Parent.stylesheets", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#stylesheets:javafx.collections.ObservableList[String]", "kind" : "def"}, {"label" : "needsLayout", "tail" : "(): ReadOnlyBooleanProperty", "member" : "scalafx.scene.Parent.needsLayout", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#needsLayout:scalafx.beans.property.ReadOnlyBooleanProperty", "kind" : "def"}, {"label" : "eventHandlerDelegate", "tail" : "(): EventHandled", "member" : "scalafx.scene.Node.eventHandlerDelegate", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#eventHandlerDelegate:Node.this.EventHandled", "kind" : "def"}, {"label" : "onTouchStationary_=", "tail" : "(v: EventHandler[_ >: TouchEvent]): Unit", "member" : "scalafx.scene.Node.onTouchStationary_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onTouchStationary_=(v:javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]):Unit", "kind" : "def"}, {"label" : "onTouchStationary", "tail" : "(): ObjectProperty[EventHandler[_ >: TouchEvent]]", "member" : "scalafx.scene.Node.onTouchStationary", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onTouchStationary:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]]", "kind" : "def"}, {"label" : "onTouchReleased_=", "tail" : "(v: EventHandler[_ >: TouchEvent]): Unit", "member" : "scalafx.scene.Node.onTouchReleased_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onTouchReleased_=(v:javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]):Unit", "kind" : "def"}, {"label" : "onTouchReleased", "tail" : "(): ObjectProperty[EventHandler[_ >: TouchEvent]]", "member" : "scalafx.scene.Node.onTouchReleased", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onTouchReleased:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]]", "kind" : "def"}, {"label" : "onTouchPressed_=", "tail" : "(v: EventHandler[_ >: TouchEvent]): Unit", "member" : "scalafx.scene.Node.onTouchPressed_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onTouchPressed_=(v:javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]):Unit", "kind" : "def"}, {"label" : "onTouchPressed", "tail" : "(): ObjectProperty[EventHandler[_ >: TouchEvent]]", "member" : "scalafx.scene.Node.onTouchPressed", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onTouchPressed:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]]", "kind" : "def"}, {"label" : "onTouchMoved_=", "tail" : "(v: EventHandler[_ >: TouchEvent]): Unit", "member" : "scalafx.scene.Node.onTouchMoved_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onTouchMoved_=(v:javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]):Unit", "kind" : "def"}, {"label" : "onTouchMoved", "tail" : "(): ObjectProperty[EventHandler[_ >: TouchEvent]]", "member" : "scalafx.scene.Node.onTouchMoved", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onTouchMoved:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]]", "kind" : "def"}, {"label" : "onZoomStarted_=", "tail" : "(v: EventHandler[_ >: ZoomEvent]): Unit", "member" : "scalafx.scene.Node.onZoomStarted_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onZoomStarted_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]):Unit", "kind" : "def"}, {"label" : "onZoomStarted", "tail" : "(): ObjectProperty[EventHandler[_ >: ZoomEvent]]", "member" : "scalafx.scene.Node.onZoomStarted", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onZoomStarted:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]]", "kind" : "def"}, {"label" : "onZoomFinished_=", "tail" : "(v: EventHandler[_ >: ZoomEvent]): Unit", "member" : "scalafx.scene.Node.onZoomFinished_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onZoomFinished_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]):Unit", "kind" : "def"}, {"label" : "onZoomFinished", "tail" : "(): ObjectProperty[EventHandler[_ >: ZoomEvent]]", "member" : "scalafx.scene.Node.onZoomFinished", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onZoomFinished:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]]", "kind" : "def"}, {"label" : "onZoom_=", "tail" : "(v: EventHandler[_ >: ZoomEvent]): Unit", "member" : "scalafx.scene.Node.onZoom_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onZoom_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]):Unit", "kind" : "def"}, {"label" : "onZoom", "tail" : "(): ObjectProperty[EventHandler[_ >: ZoomEvent]]", "member" : "scalafx.scene.Node.onZoom", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onZoom:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]]", "kind" : "def"}, {"label" : "onSwipeRight_=", "tail" : "(v: EventHandler[_ >: SwipeEvent]): Unit", "member" : "scalafx.scene.Node.onSwipeRight_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onSwipeRight_=(v:javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]):Unit", "kind" : "def"}, {"label" : "onSwipeRight", "tail" : "(): ObjectProperty[EventHandler[_ >: SwipeEvent]]", "member" : "scalafx.scene.Node.onSwipeRight", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onSwipeRight:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]]", "kind" : "def"}, {"label" : "onSwipeUp_=", "tail" : "(v: EventHandler[_ >: SwipeEvent]): Unit", "member" : "scalafx.scene.Node.onSwipeUp_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onSwipeUp_=(v:javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]):Unit", "kind" : "def"}, {"label" : "onSwipeUp", "tail" : "(): ObjectProperty[EventHandler[_ >: SwipeEvent]]", "member" : "scalafx.scene.Node.onSwipeUp", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onSwipeUp:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]]", "kind" : "def"}, {"label" : "onSwipeLeft_=", "tail" : "(v: EventHandler[_ >: SwipeEvent]): Unit", "member" : "scalafx.scene.Node.onSwipeLeft_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onSwipeLeft_=(v:javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]):Unit", "kind" : "def"}, {"label" : "onSwipeLeft", "tail" : "(): ObjectProperty[EventHandler[_ >: SwipeEvent]]", "member" : "scalafx.scene.Node.onSwipeLeft", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onSwipeLeft:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]]", "kind" : "def"}, {"label" : "onSwipeDown_=", "tail" : "(v: EventHandler[_ >: SwipeEvent]): Unit", "member" : "scalafx.scene.Node.onSwipeDown_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onSwipeDown_=(v:javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]):Unit", "kind" : "def"}, {"label" : "onSwipeDown", "tail" : "(): ObjectProperty[EventHandler[_ >: SwipeEvent]]", "member" : "scalafx.scene.Node.onSwipeDown", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onSwipeDown:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]]", "kind" : "def"}, {"label" : "onScrollStarted_=", "tail" : "(v: EventHandler[_ >: ScrollEvent]): Unit", "member" : "scalafx.scene.Node.onScrollStarted_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onScrollStarted_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]):Unit", "kind" : "def"}, {"label" : "onScrollStarted", "tail" : "(): ObjectProperty[EventHandler[_ >: ScrollEvent]]", "member" : "scalafx.scene.Node.onScrollStarted", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onScrollStarted:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]]", "kind" : "def"}, {"label" : "onScrollFinished_=", "tail" : "(v: EventHandler[_ >: ScrollEvent]): Unit", "member" : "scalafx.scene.Node.onScrollFinished_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onScrollFinished_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]):Unit", "kind" : "def"}, {"label" : "onScrollFinished", "tail" : "(): ObjectProperty[EventHandler[_ >: ScrollEvent]]", "member" : "scalafx.scene.Node.onScrollFinished", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onScrollFinished:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]]", "kind" : "def"}, {"label" : "onRotationStarted_=", "tail" : "(v: EventHandler[_ >: RotateEvent]): Unit", "member" : "scalafx.scene.Node.onRotationStarted_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onRotationStarted_=(v:javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]):Unit", "kind" : "def"}, {"label" : "onRotationStarted", "tail" : "(): ObjectProperty[EventHandler[_ >: RotateEvent]]", "member" : "scalafx.scene.Node.onRotationStarted", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onRotationStarted:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]]", "kind" : "def"}, {"label" : "onRotationFinished_=", "tail" : "(v: EventHandler[_ >: RotateEvent]): Unit", "member" : "scalafx.scene.Node.onRotationFinished_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onRotationFinished_=(v:javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]):Unit", "kind" : "def"}, {"label" : "onRotationFinished", "tail" : "(): ObjectProperty[EventHandler[_ >: RotateEvent]]", "member" : "scalafx.scene.Node.onRotationFinished", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onRotationFinished:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]]", "kind" : "def"}, {"label" : "onRotate_=", "tail" : "(v: EventHandler[_ >: RotateEvent]): Unit", "member" : "scalafx.scene.Node.onRotate_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onRotate_=(v:javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]):Unit", "kind" : "def"}, {"label" : "onRotate", "tail" : "(): ObjectProperty[EventHandler[_ >: RotateEvent]]", "member" : "scalafx.scene.Node.onRotate", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onRotate:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]]", "kind" : "def"}, {"label" : "localToSceneTransform", "tail" : "(): Transform", "member" : "scalafx.scene.Node.localToSceneTransform", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#localToSceneTransform:scalafx.scene.transform.Transform", "kind" : "def"}, {"label" : "localToParentTransform", "tail" : "(): Transform", "member" : "scalafx.scene.Node.localToParentTransform", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#localToParentTransform:scalafx.scene.transform.Transform", "kind" : "def"}, {"label" : "toFront", "tail" : "(): Unit", "member" : "scalafx.scene.Node.toFront", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#toFront():Unit", "kind" : "def"}, {"label" : "toBack", "tail" : "(): Unit", "member" : "scalafx.scene.Node.toBack", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#toBack():Unit", "kind" : "def"}, {"label" : "startFullDrag", "tail" : "(): Unit", "member" : "scalafx.scene.Node.startFullDrag", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#startFullDrag():Unit", "kind" : "def"}, {"label" : "startDragAndDrop", "tail" : "(transferModes: TransferMode*): Dragboard", "member" : "scalafx.scene.Node.startDragAndDrop", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#startDragAndDrop(transferModes:javafx.scene.input.TransferMode*):javafx.scene.input.Dragboard", "kind" : "def"}, {"label" : "snapshot", "tail" : "(callback: (SnapshotResult) ⇒ Unit, params: SnapshotParameters, image: WritableImage): Unit", "member" : "scalafx.scene.Node.snapshot", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#snapshot(callback:scalafx.scene.SnapshotResult=>Unit,params:scalafx.scene.SnapshotParameters,image:scalafx.scene.image.WritableImage):Unit", "kind" : "def"}, {"label" : "snapshot", "tail" : "(params: SnapshotParameters, image: WritableImage): WritableImage", "member" : "scalafx.scene.Node.snapshot", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#snapshot(params:scalafx.scene.SnapshotParameters,image:scalafx.scene.image.WritableImage):scalafx.scene.image.WritableImage", "kind" : "def"}, {"label" : "sceneToLocal", "tail" : "(scenePoint: Point2D): Point2D", "member" : "scalafx.scene.Node.sceneToLocal", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#sceneToLocal(scenePoint:scalafx.geometry.Point2D):javafx.geometry.Point2D", "kind" : "def"}, {"label" : "sceneToLocal", "tail" : "(sceneX: Double, sceneY: Double): Point2D", "member" : "scalafx.scene.Node.sceneToLocal", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#sceneToLocal(sceneX:Double,sceneY:Double):javafx.geometry.Point2D", "kind" : "def"}, {"label" : "sceneToLocal", "tail" : "(sceneBounds: Bounds): Bounds", "member" : "scalafx.scene.Node.sceneToLocal", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#sceneToLocal(sceneBounds:scalafx.geometry.Bounds):javafx.geometry.Bounds", "kind" : "def"}, {"label" : "resizeRelocate", "tail" : "(x: Double, y: Double, width: Double, height: Double): Unit", "member" : "scalafx.scene.Node.resizeRelocate", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#resizeRelocate(x:Double,y:Double,width:Double,height:Double):Unit", "kind" : "def"}, {"label" : "requestFocus", "tail" : "(): Unit", "member" : "scalafx.scene.Node.requestFocus", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#requestFocus():Unit", "kind" : "def"}, {"label" : "relocate", "tail" : "(x: Double, y: Double): Unit", "member" : "scalafx.scene.Node.relocate", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#relocate(x:Double,y:Double):Unit", "kind" : "def"}, {"label" : "parentToLocal", "tail" : "(parentPoint: Point2D): Point2D", "member" : "scalafx.scene.Node.parentToLocal", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#parentToLocal(parentPoint:scalafx.geometry.Point2D):javafx.geometry.Point2D", "kind" : "def"}, {"label" : "parentToLocal", "tail" : "(parentX: Double, parentY: Double): Point2D", "member" : "scalafx.scene.Node.parentToLocal", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#parentToLocal(parentX:Double,parentY:Double):javafx.geometry.Point2D", "kind" : "def"}, {"label" : "parentToLocal", "tail" : "(parentBounds: Bounds): Bounds", "member" : "scalafx.scene.Node.parentToLocal", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#parentToLocal(parentBounds:scalafx.geometry.Bounds):javafx.geometry.Bounds", "kind" : "def"}, {"label" : "minWidth", "tail" : "(height: Double): Double", "member" : "scalafx.scene.Node.minWidth", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#minWidth(height:Double):Double", "kind" : "def"}, {"label" : "minHeight", "tail" : "(width: Double): Double", "member" : "scalafx.scene.Node.minHeight", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#minHeight(width:Double):Double", "kind" : "def"}, {"label" : "maxWidth", "tail" : "(height: Double): Double", "member" : "scalafx.scene.Node.maxWidth", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#maxWidth(height:Double):Double", "kind" : "def"}, {"label" : "maxHeight", "tail" : "(width: Double): Double", "member" : "scalafx.scene.Node.maxHeight", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#maxHeight(width:Double):Double", "kind" : "def"}, {"label" : "lookupAll", "tail" : "(selector: String): Set[Node]", "member" : "scalafx.scene.Node.lookupAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#lookupAll(selector:String):java.util.Set[javafx.scene.Node]", "kind" : "def"}, {"label" : "lookup", "tail" : "(selector: String): Node", "member" : "scalafx.scene.Node.lookup", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#lookup(selector:String):scalafx.scene.Node", "kind" : "def"}, {"label" : "localToScene", "tail" : "(localPoint: Point2D): Point2D", "member" : "scalafx.scene.Node.localToScene", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#localToScene(localPoint:scalafx.geometry.Point2D):javafx.geometry.Point2D", "kind" : "def"}, {"label" : "localToScene", "tail" : "(localX: Double, localY: Double): Point2D", "member" : "scalafx.scene.Node.localToScene", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#localToScene(localX:Double,localY:Double):javafx.geometry.Point2D", "kind" : "def"}, {"label" : "localToScene", "tail" : "(localBounds: Bounds): Bounds", "member" : "scalafx.scene.Node.localToScene", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#localToScene(localBounds:scalafx.geometry.Bounds):javafx.geometry.Bounds", "kind" : "def"}, {"label" : "localToParent", "tail" : "(localPoint: Point2D): Point2D", "member" : "scalafx.scene.Node.localToParent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#localToParent(localPoint:scalafx.geometry.Point2D):javafx.geometry.Point2D", "kind" : "def"}, {"label" : "localToParent", "tail" : "(localX: Double, localY: Double): Point2D", "member" : "scalafx.scene.Node.localToParent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#localToParent(localX:Double,localY:Double):javafx.geometry.Point2D", "kind" : "def"}, {"label" : "localToParent", "tail" : "(localBounds: Bounds): Bounds", "member" : "scalafx.scene.Node.localToParent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#localToParent(localBounds:scalafx.geometry.Bounds):javafx.geometry.Bounds", "kind" : "def"}, {"label" : "intersects", "tail" : "(localX: Double, localY: Double, localWidth: Double, localHeight: Double): Boolean", "member" : "scalafx.scene.Node.intersects", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#intersects(localX:Double,localY:Double,localWidth:Double,localHeight:Double):Boolean", "kind" : "def"}, {"label" : "intersects", "tail" : "(localBounds: Bounds): Boolean", "member" : "scalafx.scene.Node.intersects", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#intersects(localBounds:scalafx.geometry.Bounds):Boolean", "kind" : "def"}, {"label" : "baselineOffset", "tail" : "(): Double", "member" : "scalafx.scene.Node.baselineOffset", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#baselineOffset:Double", "kind" : "def"}, {"label" : "fireEvent", "tail" : "(event: Event): Unit", "member" : "scalafx.scene.Node.fireEvent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#fireEvent(event:scalafx.event.Event):Unit", "kind" : "def"}, {"label" : "contains", "tail" : "(localPoint: Point2D): Boolean", "member" : "scalafx.scene.Node.contains", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#contains(localPoint:scalafx.geometry.Point2D):Boolean", "kind" : "def"}, {"label" : "contains", "tail" : "(localX: Double, localY: Double): Boolean", "member" : "scalafx.scene.Node.contains", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#contains(localX:Double,localY:Double):Boolean", "kind" : "def"}, {"label" : "autosize", "tail" : "(): Unit", "member" : "scalafx.scene.Node.autosize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#autosize():Unit", "kind" : "def"}, {"label" : "vgrow_=", "tail" : "(p: Priority): Unit", "member" : "scalafx.scene.Node.vgrow_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#vgrow_=(p:scalafx.scene.layout.Priority):Unit", "kind" : "def"}, {"label" : "vgrow", "tail" : "(): Priority", "member" : "scalafx.scene.Node.vgrow", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#vgrow:scalafx.scene.layout.Priority", "kind" : "def"}, {"label" : "hgrow_=", "tail" : "(p: Priority): Unit", "member" : "scalafx.scene.Node.hgrow_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#hgrow_=(p:scalafx.scene.layout.Priority):Unit", "kind" : "def"}, {"label" : "hgrow", "tail" : "(): Priority", "member" : "scalafx.scene.Node.hgrow", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#hgrow:scalafx.scene.layout.Priority", "kind" : "def"}, {"label" : "margin_=", "tail" : "(i: Insets): Unit", "member" : "scalafx.scene.Node.margin_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#margin_=(i:scalafx.geometry.Insets):Unit", "kind" : "def"}, {"label" : "margin", "tail" : "(): Insets", "member" : "scalafx.scene.Node.margin", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#margin:scalafx.geometry.Insets", "kind" : "def"}, {"label" : "alignmentInParent_=", "tail" : "(p: Pos): Unit", "member" : "scalafx.scene.Node.alignmentInParent_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#alignmentInParent_=(p:scalafx.geometry.Pos):Unit", "kind" : "def"}, {"label" : "alignmentInParent", "tail" : "(): Pos", "member" : "scalafx.scene.Node.alignmentInParent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#alignmentInParent:scalafx.geometry.Pos", "kind" : "def"}, {"label" : "visible_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.Node.visible_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#visible_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "visible", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.Node.visible", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#visible:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "userData_=", "tail" : "(v: AnyRef): Unit", "member" : "scalafx.scene.Node.userData_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#userData_=(v:AnyRef):Unit", "kind" : "def"}, {"label" : "userData", "tail" : "(): AnyRef", "member" : "scalafx.scene.Node.userData", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#userData:Object", "kind" : "def"}, {"label" : "translateZ_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.translateZ_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#translateZ_=(v:Double):Unit", "kind" : "def"}, {"label" : "translateZ", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.translateZ", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#translateZ:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "translateY_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.translateY_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#translateY_=(v:Double):Unit", "kind" : "def"}, {"label" : "translateY", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.translateY", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#translateY:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "translateX_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.translateX_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#translateX_=(v:Double):Unit", "kind" : "def"}, {"label" : "translateX", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.translateX", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#translateX:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "transforms_=", "tail" : "(c: Iterable[Transform]): Unit", "member" : "scalafx.scene.Node.transforms_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#transforms_=(c:Iterable[scalafx.scene.transform.Transform]):Unit", "kind" : "def"}, {"label" : "transforms", "tail" : "(): ObservableList[Transform]", "member" : "scalafx.scene.Node.transforms", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#transforms:javafx.collections.ObservableList[javafx.scene.transform.Transform]", "kind" : "def"}, {"label" : "styleClass_=", "tail" : "(c: Iterable[String]): Unit", "member" : "scalafx.scene.Node.styleClass_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#styleClass_=(c:Iterable[String]):Unit", "kind" : "def"}, {"label" : "style_=", "tail" : "(v: String): Unit", "member" : "scalafx.scene.Node.style_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#style_=(v:String):Unit", "kind" : "def"}, {"label" : "style", "tail" : "(): StringProperty", "member" : "scalafx.scene.Node.style", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#style:scalafx.beans.property.StringProperty", "kind" : "def"}, {"label" : "scene", "tail" : "(): ReadOnlyObjectProperty[Scene]", "member" : "scalafx.scene.Node.scene", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#scene:scalafx.beans.property.ReadOnlyObjectProperty[javafx.scene.Scene]", "kind" : "def"}, {"label" : "scaleZ_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.scaleZ_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#scaleZ_=(v:Double):Unit", "kind" : "def"}, {"label" : "scaleZ", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.scaleZ", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#scaleZ:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "scaleY_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.scaleY_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#scaleY_=(v:Double):Unit", "kind" : "def"}, {"label" : "scaleY", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.scaleY", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#scaleY:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "scaleX_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.scaleX_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#scaleX_=(v:Double):Unit", "kind" : "def"}, {"label" : "scaleX", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.scaleX", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#scaleX:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "rotationAxis_=", "tail" : "(v: Point3D): Unit", "member" : "scalafx.scene.Node.rotationAxis_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#rotationAxis_=(v:scalafx.geometry.Point3D):Unit", "kind" : "def"}, {"label" : "rotationAxis", "tail" : "(): ObjectProperty[Point3D]", "member" : "scalafx.scene.Node.rotationAxis", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#rotationAxis:scalafx.beans.property.ObjectProperty[javafx.geometry.Point3D]", "kind" : "def"}, {"label" : "rotate_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.rotate_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#rotate_=(v:Double):Unit", "kind" : "def"}, {"label" : "rotate", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.rotate", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#rotate:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "pressed", "tail" : "(): ReadOnlyBooleanProperty", "member" : "scalafx.scene.Node.pressed", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#pressed:scalafx.beans.property.ReadOnlyBooleanProperty", "kind" : "def"}, {"label" : "pickOnBounds_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.Node.pickOnBounds_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#pickOnBounds_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "pickOnBounds", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.Node.pickOnBounds", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#pickOnBounds:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "parent", "tail" : "(): ReadOnlyObjectProperty[Parent]", "member" : "scalafx.scene.Node.parent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#parent:scalafx.beans.property.ReadOnlyObjectProperty[javafx.scene.Parent]", "kind" : "def"}, {"label" : "opacity_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.opacity_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#opacity_=(v:Double):Unit", "kind" : "def"}, {"label" : "opacity", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.opacity", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#opacity:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "onScroll_=", "tail" : "(v: EventHandler[_ >: ScrollEvent]): Unit", "member" : "scalafx.scene.Node.onScroll_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onScroll_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]):Unit", "kind" : "def"}, {"label" : "onScroll", "tail" : "(): ObjectProperty[EventHandler[_ >: ScrollEvent]]", "member" : "scalafx.scene.Node.onScroll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onScroll:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]]", "kind" : "def"}, {"label" : "onMouseReleased_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Node.onMouseReleased_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onMouseReleased_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseReleased", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Node.onMouseReleased", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onMouseReleased:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMousePressed_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Node.onMousePressed_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onMousePressed_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMousePressed", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Node.onMousePressed", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onMousePressed:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseMoved_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Node.onMouseMoved_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onMouseMoved_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseMoved", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Node.onMouseMoved", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onMouseMoved:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseExited_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Node.onMouseExited_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onMouseExited_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseExited", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Node.onMouseExited", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onMouseExited:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseEntered_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Node.onMouseEntered_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onMouseEntered_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseEntered", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Node.onMouseEntered", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onMouseEntered:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseDragReleased_=", "tail" : "(v: EventHandler[_ >: MouseDragEvent]): Unit", "member" : "scalafx.scene.Node.onMouseDragReleased_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onMouseDragReleased_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragReleased", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseDragEvent]]", "member" : "scalafx.scene.Node.onMouseDragReleased", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onMouseDragReleased:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]]", "kind" : "def"}, {"label" : "onMouseDragOver_=", "tail" : "(v: EventHandler[_ >: MouseDragEvent]): Unit", "member" : "scalafx.scene.Node.onMouseDragOver_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onMouseDragOver_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragOver", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseDragEvent]]", "member" : "scalafx.scene.Node.onMouseDragOver", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onMouseDragOver:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]]", "kind" : "def"}, {"label" : "onMouseDragExited_=", "tail" : "(v: EventHandler[_ >: MouseDragEvent]): Unit", "member" : "scalafx.scene.Node.onMouseDragExited_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onMouseDragExited_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragExited", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseDragEvent]]", "member" : "scalafx.scene.Node.onMouseDragExited", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onMouseDragExited:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]]", "kind" : "def"}, {"label" : "onMouseDragEntered_=", "tail" : "(v: EventHandler[_ >: MouseDragEvent]): Unit", "member" : "scalafx.scene.Node.onMouseDragEntered_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onMouseDragEntered_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragEntered", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseDragEvent]]", "member" : "scalafx.scene.Node.onMouseDragEntered", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onMouseDragEntered:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]]", "kind" : "def"}, {"label" : "onMouseDragged_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Node.onMouseDragged_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onMouseDragged_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragged", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Node.onMouseDragged", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onMouseDragged:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseClicked_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Node.onMouseClicked_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onMouseClicked_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseClicked", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Node.onMouseClicked", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onMouseClicked:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onKeyTyped_=", "tail" : "(v: EventHandler[_ >: KeyEvent]): Unit", "member" : "scalafx.scene.Node.onKeyTyped_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onKeyTyped_=(v:javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]):Unit", "kind" : "def"}, {"label" : "onKeyTyped", "tail" : "(): ObjectProperty[EventHandler[_ >: KeyEvent]]", "member" : "scalafx.scene.Node.onKeyTyped", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onKeyTyped:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]]", "kind" : "def"}, {"label" : "onKeyReleased_=", "tail" : "(v: EventHandler[_ >: KeyEvent]): Unit", "member" : "scalafx.scene.Node.onKeyReleased_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onKeyReleased_=(v:javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]):Unit", "kind" : "def"}, {"label" : "onKeyReleased", "tail" : "(): ObjectProperty[EventHandler[_ >: KeyEvent]]", "member" : "scalafx.scene.Node.onKeyReleased", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onKeyReleased:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]]", "kind" : "def"}, {"label" : "onKeyPressed_=", "tail" : "(v: EventHandler[_ >: KeyEvent]): Unit", "member" : "scalafx.scene.Node.onKeyPressed_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onKeyPressed_=(v:javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]):Unit", "kind" : "def"}, {"label" : "onKeyPressed", "tail" : "(): ObjectProperty[EventHandler[_ >: KeyEvent]]", "member" : "scalafx.scene.Node.onKeyPressed", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onKeyPressed:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]]", "kind" : "def"}, {"label" : "onInputMethodTextChanged_=", "tail" : "(v: EventHandler[_ >: InputMethodEvent]): Unit", "member" : "scalafx.scene.Node.onInputMethodTextChanged_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onInputMethodTextChanged_=(v:javafx.event.EventHandler[_>:javafx.scene.input.InputMethodEvent]):Unit", "kind" : "def"}, {"label" : "onInputMethodTextChanged", "tail" : "(): ObjectProperty[EventHandler[_ >: InputMethodEvent]]", "member" : "scalafx.scene.Node.onInputMethodTextChanged", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onInputMethodTextChanged:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.InputMethodEvent]]", "kind" : "def"}, {"label" : "onDragOver_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Node.onDragOver_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onDragOver_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragOver", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Node.onDragOver", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onDragOver:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragExited_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Node.onDragExited_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onDragExited_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragExited", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Node.onDragExited", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onDragExited:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragEntered_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Node.onDragEntered_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onDragEntered_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragEntered", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Node.onDragEntered", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onDragEntered:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragDropped_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Node.onDragDropped_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onDragDropped_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragDropped", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Node.onDragDropped", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onDragDropped:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragDone_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Node.onDragDone_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onDragDone_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragDone", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Node.onDragDone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onDragDone:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragDetected_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Node.onDragDetected_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onDragDetected_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onDragDetected", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Node.onDragDetected", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onDragDetected:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onContextMenuRequested_=", "tail" : "(v: EventHandler[_ >: ContextMenuEvent]): Unit", "member" : "scalafx.scene.Node.onContextMenuRequested_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onContextMenuRequested_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ContextMenuEvent]):Unit", "kind" : "def"}, {"label" : "onContextMenuRequested", "tail" : "(): ObjectProperty[EventHandler[_ >: ContextMenuEvent]]", "member" : "scalafx.scene.Node.onContextMenuRequested", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#onContextMenuRequested:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ContextMenuEvent]]", "kind" : "def"}, {"label" : "effectiveNodeOrientation", "tail" : "(): ReadOnlyObjectProperty[NodeOrientation]", "member" : "scalafx.scene.Node.effectiveNodeOrientation", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#effectiveNodeOrientation:scalafx.beans.property.ReadOnlyObjectProperty[javafx.geometry.NodeOrientation]", "kind" : "def"}, {"label" : "nodeOrientation_=", "tail" : "(v: NodeOrientation): Unit", "member" : "scalafx.scene.Node.nodeOrientation_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#nodeOrientation_=(v:scalafx.geometry.NodeOrientation):Unit", "kind" : "def"}, {"label" : "nodeOrientation", "tail" : "(): ObjectProperty[NodeOrientation]", "member" : "scalafx.scene.Node.nodeOrientation", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#nodeOrientation:scalafx.beans.property.ObjectProperty[javafx.geometry.NodeOrientation]", "kind" : "def"}, {"label" : "mouseTransparent_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.Node.mouseTransparent_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#mouseTransparent_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "mouseTransparent", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.Node.mouseTransparent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#mouseTransparent:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "managed_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.Node.managed_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#managed_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "managed", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.Node.managed", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#managed:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "layoutY_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.layoutY_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#layoutY_=(v:Double):Unit", "kind" : "def"}, {"label" : "layoutY", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.layoutY", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#layoutY:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "layoutX_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.layoutX_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#layoutX_=(v:Double):Unit", "kind" : "def"}, {"label" : "layoutX", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.layoutX", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#layoutX:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "layoutBounds", "tail" : "(): ReadOnlyObjectProperty[Bounds]", "member" : "scalafx.scene.Node.layoutBounds", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#layoutBounds:scalafx.beans.property.ReadOnlyObjectProperty[javafx.geometry.Bounds]", "kind" : "def"}, {"label" : "inputMethodRequests_=", "tail" : "(v: InputMethodRequests): Unit", "member" : "scalafx.scene.Node.inputMethodRequests_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#inputMethodRequests_=(v:javafx.scene.input.InputMethodRequests):Unit", "kind" : "def"}, {"label" : "inputMethodRequests", "tail" : "(): ObjectProperty[InputMethodRequests]", "member" : "scalafx.scene.Node.inputMethodRequests", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#inputMethodRequests:scalafx.beans.property.ObjectProperty[javafx.scene.input.InputMethodRequests]", "kind" : "def"}, {"label" : "id_=", "tail" : "(v: String): Unit", "member" : "scalafx.scene.Node.id_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#id_=(v:String):Unit", "kind" : "def"}, {"label" : "id", "tail" : "(): StringProperty", "member" : "scalafx.scene.Node.id", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#id:scalafx.beans.property.StringProperty", "kind" : "def"}, {"label" : "hover", "tail" : "(): ReadOnlyBooleanProperty", "member" : "scalafx.scene.Node.hover", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#hover:scalafx.beans.property.ReadOnlyBooleanProperty", "kind" : "def"}, {"label" : "focusTraversable_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.Node.focusTraversable_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#focusTraversable_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "focusTraversable", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.Node.focusTraversable", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#focusTraversable:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "focused", "tail" : "(): ReadOnlyBooleanProperty", "member" : "scalafx.scene.Node.focused", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#focused:scalafx.beans.property.ReadOnlyBooleanProperty", "kind" : "def"}, {"label" : "eventDispatcher_=", "tail" : "(v: EventDispatcher): Unit", "member" : "scalafx.scene.Node.eventDispatcher_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#eventDispatcher_=(v:javafx.event.EventDispatcher):Unit", "kind" : "def"}, {"label" : "eventDispatcher", "tail" : "(): ObjectProperty[EventDispatcher]", "member" : "scalafx.scene.Node.eventDispatcher", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#eventDispatcher:scalafx.beans.property.ObjectProperty[javafx.event.EventDispatcher]", "kind" : "def"}, {"label" : "effect_=", "tail" : "(v: Effect): Unit", "member" : "scalafx.scene.Node.effect_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#effect_=(v:scalafx.scene.effect.Effect):Unit", "kind" : "def"}, {"label" : "effect", "tail" : "(): ObjectProperty[Effect]", "member" : "scalafx.scene.Node.effect", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#effect:scalafx.beans.property.ObjectProperty[javafx.scene.effect.Effect]", "kind" : "def"}, {"label" : "disable_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.Node.disable_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#disable_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "disable", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.Node.disable", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#disable:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "disabled", "tail" : "(): ReadOnlyBooleanProperty", "member" : "scalafx.scene.Node.disabled", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#disabled:scalafx.beans.property.ReadOnlyBooleanProperty", "kind" : "def"}, {"label" : "depthTest_=", "tail" : "(v: DepthTest): Unit", "member" : "scalafx.scene.Node.depthTest_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#depthTest_=(v:scalafx.scene.DepthTest):Unit", "kind" : "def"}, {"label" : "depthTest", "tail" : "(): ObjectProperty[DepthTest]", "member" : "scalafx.scene.Node.depthTest", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#depthTest:scalafx.beans.property.ObjectProperty[javafx.scene.DepthTest]", "kind" : "def"}, {"label" : "cursor_=", "tail" : "(v: Cursor): Unit", "member" : "scalafx.scene.Node.cursor_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#cursor_=(v:scalafx.scene.Cursor):Unit", "kind" : "def"}, {"label" : "cursor", "tail" : "(): ObjectProperty[Cursor]", "member" : "scalafx.scene.Node.cursor", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#cursor:scalafx.beans.property.ObjectProperty[javafx.scene.Cursor]", "kind" : "def"}, {"label" : "contentBias", "tail" : "(): Orientation", "member" : "scalafx.scene.Node.contentBias", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#contentBias:scalafx.geometry.Orientation", "kind" : "def"}, {"label" : "clip_=", "tail" : "(v: Node): Unit", "member" : "scalafx.scene.Node.clip_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#clip_=(v:scalafx.scene.Node):Unit", "kind" : "def"}, {"label" : "clip", "tail" : "(): ObjectProperty[Node]", "member" : "scalafx.scene.Node.clip", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#clip:scalafx.beans.property.ObjectProperty[javafx.scene.Node]", "kind" : "def"}, {"label" : "cache_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.Node.cache_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#cache_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "cache", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.Node.cache", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#cache:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "cacheHint_=", "tail" : "(v: CacheHint): Unit", "member" : "scalafx.scene.Node.cacheHint_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#cacheHint_=(v:scalafx.scene.CacheHint):Unit", "kind" : "def"}, {"label" : "cacheHint", "tail" : "(): ObjectProperty[CacheHint]", "member" : "scalafx.scene.Node.cacheHint", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#cacheHint:scalafx.beans.property.ObjectProperty[javafx.scene.CacheHint]", "kind" : "def"}, {"label" : "boundsInParent", "tail" : "(): ReadOnlyObjectProperty[Bounds]", "member" : "scalafx.scene.Node.boundsInParent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#boundsInParent:scalafx.beans.property.ReadOnlyObjectProperty[javafx.geometry.Bounds]", "kind" : "def"}, {"label" : "boundsInLocal", "tail" : "(): ReadOnlyObjectProperty[Bounds]", "member" : "scalafx.scene.Node.boundsInLocal", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#boundsInLocal:scalafx.beans.property.ReadOnlyObjectProperty[javafx.geometry.Bounds]", "kind" : "def"}, {"label" : "blendMode_=", "tail" : "(v: BlendMode): Unit", "member" : "scalafx.scene.Node.blendMode_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#blendMode_=(v:scalafx.scene.effect.BlendMode):Unit", "kind" : "def"}, {"label" : "blendMode", "tail" : "(): ObjectProperty[BlendMode]", "member" : "scalafx.scene.Node.blendMode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#blendMode:scalafx.beans.property.ObjectProperty[javafx.scene.effect.BlendMode]", "kind" : "def"}, {"label" : "accessibleRoleDescription_=", "tail" : "(v: String): Unit", "member" : "scalafx.scene.Node.accessibleRoleDescription_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#accessibleRoleDescription_=(v:String):Unit", "kind" : "def"}, {"label" : "accessibleRoleDescription", "tail" : "(): ObjectProperty[String]", "member" : "scalafx.scene.Node.accessibleRoleDescription", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#accessibleRoleDescription:scalafx.beans.property.ObjectProperty[String]", "kind" : "def"}, {"label" : "accessibleRole_=", "tail" : "(v: AccessibleRole): Unit", "member" : "scalafx.scene.Node.accessibleRole_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#accessibleRole_=(v:scalafx.scene.AccessibleRole):Unit", "kind" : "def"}, {"label" : "accessibleRole", "tail" : "(): ObjectProperty[AccessibleRole]", "member" : "scalafx.scene.Node.accessibleRole", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#accessibleRole:scalafx.beans.property.ObjectProperty[javafx.scene.AccessibleRole]", "kind" : "def"}, {"label" : "accessibleHelp_=", "tail" : "(v: String): Unit", "member" : "scalafx.scene.Node.accessibleHelp_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#accessibleHelp_=(v:String):Unit", "kind" : "def"}, {"label" : "accessibleHelp", "tail" : "(): ObjectProperty[String]", "member" : "scalafx.scene.Node.accessibleHelp", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#accessibleHelp:scalafx.beans.property.ObjectProperty[String]", "kind" : "def"}, {"label" : "accessibleText_=", "tail" : "(v: String): Unit", "member" : "scalafx.scene.Node.accessibleText_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#accessibleText_=(v:String):Unit", "kind" : "def"}, {"label" : "accessibleText", "tail" : "(): ObjectProperty[String]", "member" : "scalafx.scene.Node.accessibleText", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#accessibleText:scalafx.beans.property.ObjectProperty[String]", "kind" : "def"}, {"label" : "typeSelector", "tail" : "(): String", "member" : "scalafx.css.Styleable.typeSelector", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#typeSelector:String", "kind" : "def"}, {"label" : "styleClass", "tail" : "(): ObservableBuffer[String]", "member" : "scalafx.css.Styleable.styleClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#styleClass:scalafx.collections.ObservableBuffer[String]", "kind" : "def"}, {"label" : "styleableParent", "tail" : "(): Styleable", "member" : "scalafx.css.Styleable.styleableParent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#styleableParent:scalafx.css.Styleable", "kind" : "def"}, {"label" : "getStyle", "tail" : "(): String", "member" : "scalafx.css.Styleable.getStyle", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#getStyle:String", "kind" : "def"}, {"label" : "pseudoClassStates", "tail" : "(): ObservableSet[PseudoClass]", "member" : "scalafx.css.Styleable.pseudoClassStates", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#pseudoClassStates:scalafx.collections.ObservableSet[javafx.css.PseudoClass]", "kind" : "def"}, {"label" : "getId", "tail" : "(): String", "member" : "scalafx.css.Styleable.getId", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#getId:String", "kind" : "def"}, {"label" : "cssMetaData", "tail" : "(): Seq[CssMetaData[_ <: Styleable, _]]", "member" : "scalafx.css.Styleable.cssMetaData", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#cssMetaData:Seq[javafx.css.CssMetaData[_<:javafx.css.Styleable,_]]", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scalafx.delegate.SFXDelegate.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#hashCode():Int", "kind" : "def"}, {"label" : "equals", "tail" : "(ref: Any): Boolean", "member" : "scalafx.delegate.SFXDelegate.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#equals(ref:Any):Boolean", "kind" : "def"}, {"label" : "toString", "tail" : "(): String", "member" : "scalafx.delegate.SFXDelegate.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#toString():String", "kind" : "def"}, {"label" : "buildEventDispatchChain", "tail" : "(chain: EventDispatchChain): EventDispatchChain", "member" : "scalafx.event.EventHandlerDelegate.buildEventDispatchChain", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#buildEventDispatchChain(chain:javafx.event.EventDispatchChain):javafx.event.EventDispatchChain", "kind" : "def"}, {"label" : "removeEventFilter", "tail" : "(eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit", "member" : "scalafx.event.EventHandlerDelegate.removeEventFilter", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#removeEventFilter[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_>:E]):Unit", "kind" : "def"}, {"label" : "filterEvent", "tail" : "(eventType: EventType[J])(filter: FilterMagnet[J, S]): Subscription", "member" : "scalafx.event.EventHandlerDelegate.filterEvent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#filterEvent[J<:javafx.event.Event,S<:scalafx.event.Eventwithscalafx.delegate.SFXDelegate[J]](eventType:scalafx.event.EventType[J])(filter:EventHandlerDelegate.this.FilterMagnet[J,S]):scalafx.event.subscriptions.Subscription", "kind" : "def"}, {"label" : "addEventFilter", "tail" : "(eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit", "member" : "scalafx.event.EventHandlerDelegate.addEventFilter", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#addEventFilter[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_>:E]):Unit", "kind" : "def"}, {"label" : "removeEventHandler", "tail" : "(eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit", "member" : "scalafx.event.EventHandlerDelegate.removeEventHandler", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#removeEventHandler[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_>:E]):Unit", "kind" : "def"}, {"label" : "handleEvent", "tail" : "(eventType: EventType[J])(handler: HandlerMagnet[J, S]): Subscription", "member" : "scalafx.event.EventHandlerDelegate.handleEvent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#handleEvent[J<:javafx.event.Event,S<:scalafx.event.Eventwithscalafx.delegate.SFXDelegate[J]](eventType:scalafx.event.EventType[J])(handler:EventHandlerDelegate.this.HandlerMagnet[J,S]):scalafx.event.subscriptions.Subscription", "kind" : "def"}, {"label" : "addEventHandler", "tail" : "(eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit", "member" : "scalafx.event.EventHandlerDelegate.addEventHandler", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#addEventHandler[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_>:E]):Unit", "kind" : "def"}, {"label" : "EventHandled", "tail" : "", "member" : "scalafx.event.EventHandlerDelegate.EventHandled", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#EventHandled=AnyRef{defaddEventHandler[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_]):Unit;defremoveEventHandler[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_]):Unit;defaddEventFilter[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_]):Unit;defremoveEventFilter[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_]):Unit;defbuildEventDispatchChain(chain:javafx.event.EventDispatchChain):javafx.event.EventDispatchChain}", "kind" : "type"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#clone():Object", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "class" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBar.html", "kind" : "class"}, {"name" : "it.unibo.osmos.redux.mvc.view.components.MainMenuBarListener", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBarListener.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBarListener.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBarListener.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBarListener.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBarListener.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBarListener.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBarListener.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBarListener.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBarListener.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBarListener.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBarListener.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBarListener.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBarListener.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBarListener.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBarListener.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBarListener.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBarListener.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBarListener.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBarListener.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "onFullScreenSettingClick", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.view.components.MainMenuBarListener.onFullScreenSettingClick", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBarListener.html#onFullScreenSettingClick():Unit", "kind" : "abstract def"}], "shortDescription" : "Trait which gets notified when a MainMenuBar event occurs", "trait" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuBarListener.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.mvc.view.components.MainMenuCenterBox", "shortDescription" : "Center menu shown in MainMenu", "members_class" : [{"label" : "FilterMagnet", "tail" : "", "member" : "scalafx.event.EventHandlerDelegate.FilterMagnet", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#FilterMagnet[J<:,S<:]extendsAnyRef", "kind" : "sealed trait"}, {"label" : "HandlerMagnet", "tail" : "", "member" : "scalafx.event.EventHandlerDelegate.HandlerMagnet", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#HandlerMagnet[J<:,S<:]extendsAnyRef", "kind" : "sealed trait"}, {"label" : "exitButton", "tail" : ": Button", "member" : "it.unibo.osmos.redux.mvc.view.components.MainMenuCenterBox.exitButton", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#exitButton:scalafx.scene.control.Button", "kind" : "val"}, {"label" : "playButton", "tail" : ": Button", "member" : "it.unibo.osmos.redux.mvc.view.components.MainMenuCenterBox.playButton", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#playButton:scalafx.scene.control.Button", "kind" : "val"}, {"member" : "it.unibo.osmos.redux.mvc.view.components.MainMenuCenterBox#", "error" : "unsupported entity"}, {"label" : "listener", "tail" : ": MainMenuCenterBoxListener", "member" : "it.unibo.osmos.redux.mvc.view.components.MainMenuCenterBox.listener", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#listener:it.unibo.osmos.redux.mvc.view.components.MainMenuCenterBoxListener", "kind" : "val"}, {"label" : "requestLayout", "tail" : "(): Unit", "member" : "scalafx.scene.layout.VBox.requestLayout", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#requestLayout():Unit", "kind" : "def"}, {"label" : "getContentBias", "tail" : "(): Orientation", "member" : "scalafx.scene.layout.VBox.getContentBias", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#getContentBias:javafx.geometry.Orientation", "kind" : "def"}, {"label" : "fillWidth_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.layout.VBox.fillWidth_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#fillWidth_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "fillWidth", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.layout.VBox.fillWidth", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#fillWidth:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "spacing_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.layout.VBox.spacing_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#spacing_=(v:Double):Unit", "kind" : "def"}, {"label" : "spacing", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.layout.VBox.spacing", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#spacing:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "delegate", "tail" : ": VBox", "member" : "scalafx.scene.layout.VBox.delegate", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#delegate:javafx.scene.layout.VBox", "kind" : "val"}, {"label" : "alignment_=", "tail" : "(v: Pos): Unit", "member" : "scalafx.delegate.AlignmentDelegate.alignment_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#alignment_=(v:scalafx.geometry.Pos):Unit", "kind" : "def"}, {"label" : "alignment", "tail" : "(): ObjectProperty[Pos]", "member" : "scalafx.delegate.AlignmentDelegate.alignment", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#alignment:scalafx.beans.property.ObjectProperty[javafx.geometry.Pos]", "kind" : "def"}, {"label" : "children_=", "tail" : "(n: Node): Unit", "member" : "scalafx.scene.layout.Pane.children_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#children_=(n:scalafx.scene.Node):Unit", "kind" : "def"}, {"label" : "children_=", "tail" : "(c: Iterable[Node]): Unit", "member" : "scalafx.scene.layout.Pane.children_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#children_=(c:Iterable[scalafx.scene.Node]):Unit", "kind" : "def"}, {"label" : "children", "tail" : "(): ObservableList[Node]", "member" : "scalafx.scene.layout.Pane.children", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#children:javafx.collections.ObservableList[javafx.scene.Node]", "kind" : "def"}, {"label" : "insets", "tail" : "(): Insets", "member" : "scalafx.scene.layout.Region.insets", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#insets:javafx.geometry.Insets", "kind" : "def"}, {"label" : "scaleShape_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.layout.Region.scaleShape_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#scaleShape_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "scaleShape", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.layout.Region.scaleShape", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#scaleShape:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "resize", "tail" : "(width: Double, height: Double): Unit", "member" : "scalafx.scene.layout.Region.resize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#resize(width:Double,height:Double):Unit", "kind" : "def"}, {"label" : "resize", "tail" : "(): Boolean", "member" : "scalafx.scene.layout.Region.resize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#resize:Boolean", "kind" : "def"}, {"label" : "snapToPixel_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.layout.Region.snapToPixel_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#snapToPixel_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "snapToPixel", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.layout.Region.snapToPixel", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#snapToPixel:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "shape_=", "tail" : "(v: Shape): Unit", "member" : "scalafx.scene.layout.Region.shape_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#shape_=(v:scalafx.scene.shape.Shape):Unit", "kind" : "def"}, {"label" : "shape", "tail" : "(): ObjectProperty[Shape]", "member" : "scalafx.scene.layout.Region.shape", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#shape:scalafx.beans.property.ObjectProperty[javafx.scene.shape.Shape]", "kind" : "def"}, {"label" : "prefWidth_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.layout.Region.prefWidth_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#prefWidth_=(v:Double):Unit", "kind" : "def"}, {"label" : "prefWidth", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.layout.Region.prefWidth", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#prefWidth:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "prefHeight_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.layout.Region.prefHeight_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#prefHeight_=(v:Double):Unit", "kind" : "def"}, {"label" : "prefHeight", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.layout.Region.prefHeight", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#prefHeight:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "padding_=", "tail" : "(v: Insets): Unit", "member" : "scalafx.scene.layout.Region.padding_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#padding_=(v:scalafx.geometry.Insets):Unit", "kind" : "def"}, {"label" : "padding", "tail" : "(): ObjectProperty[Insets]", "member" : "scalafx.scene.layout.Region.padding", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#padding:scalafx.beans.property.ObjectProperty[javafx.geometry.Insets]", "kind" : "def"}, {"label" : "opaqueInsets_=", "tail" : "(v: Insets): Unit", "member" : "scalafx.scene.layout.Region.opaqueInsets_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#opaqueInsets_=(v:scalafx.geometry.Insets):Unit", "kind" : "def"}, {"label" : "opaqueInsets", "tail" : "(): ObjectProperty[Insets]", "member" : "scalafx.scene.layout.Region.opaqueInsets", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#opaqueInsets:scalafx.beans.property.ObjectProperty[javafx.geometry.Insets]", "kind" : "def"}, {"label" : "minWidth_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.layout.Region.minWidth_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#minWidth_=(v:Double):Unit", "kind" : "def"}, {"label" : "minWidth", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.layout.Region.minWidth", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#minWidth:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "minHeight_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.layout.Region.minHeight_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#minHeight_=(v:Double):Unit", "kind" : "def"}, {"label" : "minHeight", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.layout.Region.minHeight", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#minHeight:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "maxWidth_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.layout.Region.maxWidth_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#maxWidth_=(v:Double):Unit", "kind" : "def"}, {"label" : "maxWidth", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.layout.Region.maxWidth", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#maxWidth:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "maxHeight_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.layout.Region.maxHeight_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#maxHeight_=(v:Double):Unit", "kind" : "def"}, {"label" : "maxHeight", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.layout.Region.maxHeight", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#maxHeight:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "width", "tail" : "(): ReadOnlyDoubleProperty", "member" : "scalafx.scene.layout.Region.width", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#width:scalafx.beans.property.ReadOnlyDoubleProperty", "kind" : "def"}, {"label" : "height", "tail" : "(): ReadOnlyDoubleProperty", "member" : "scalafx.scene.layout.Region.height", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#height:scalafx.beans.property.ReadOnlyDoubleProperty", "kind" : "def"}, {"label" : "centerShape_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.layout.Region.centerShape_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#centerShape_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "centerShape", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.layout.Region.centerShape", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#centerShape:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "cacheShape_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.layout.Region.cacheShape_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#cacheShape_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "cacheShape", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.layout.Region.cacheShape", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#cacheShape:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "border_=", "tail" : "(v: Border): Unit", "member" : "scalafx.scene.layout.Region.border_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#border_=(v:scalafx.scene.layout.Border):Unit", "kind" : "def"}, {"label" : "border", "tail" : "(): ObjectProperty[Border]", "member" : "scalafx.scene.layout.Region.border", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#border:scalafx.beans.property.ObjectProperty[javafx.scene.layout.Border]", "kind" : "def"}, {"label" : "background_=", "tail" : "(v: Background): Unit", "member" : "scalafx.scene.layout.Region.background_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#background_=(v:scalafx.scene.layout.Background):Unit", "kind" : "def"}, {"label" : "background", "tail" : "(): ObjectProperty[Background]", "member" : "scalafx.scene.layout.Region.background", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#background:scalafx.beans.property.ObjectProperty[javafx.scene.layout.Background]", "kind" : "def"}, {"label" : "stylesheets_=", "tail" : "(c: Iterable[String]): Unit", "member" : "scalafx.scene.Parent.stylesheets_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#stylesheets_=(c:Iterable[String]):Unit", "kind" : "def"}, {"label" : "stylesheets", "tail" : "(): ObservableList[String]", "member" : "scalafx.scene.Parent.stylesheets", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#stylesheets:javafx.collections.ObservableList[String]", "kind" : "def"}, {"label" : "needsLayout", "tail" : "(): ReadOnlyBooleanProperty", "member" : "scalafx.scene.Parent.needsLayout", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#needsLayout:scalafx.beans.property.ReadOnlyBooleanProperty", "kind" : "def"}, {"label" : "eventHandlerDelegate", "tail" : "(): EventHandled", "member" : "scalafx.scene.Node.eventHandlerDelegate", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#eventHandlerDelegate:Node.this.EventHandled", "kind" : "def"}, {"label" : "onTouchStationary_=", "tail" : "(v: EventHandler[_ >: TouchEvent]): Unit", "member" : "scalafx.scene.Node.onTouchStationary_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onTouchStationary_=(v:javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]):Unit", "kind" : "def"}, {"label" : "onTouchStationary", "tail" : "(): ObjectProperty[EventHandler[_ >: TouchEvent]]", "member" : "scalafx.scene.Node.onTouchStationary", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onTouchStationary:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]]", "kind" : "def"}, {"label" : "onTouchReleased_=", "tail" : "(v: EventHandler[_ >: TouchEvent]): Unit", "member" : "scalafx.scene.Node.onTouchReleased_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onTouchReleased_=(v:javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]):Unit", "kind" : "def"}, {"label" : "onTouchReleased", "tail" : "(): ObjectProperty[EventHandler[_ >: TouchEvent]]", "member" : "scalafx.scene.Node.onTouchReleased", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onTouchReleased:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]]", "kind" : "def"}, {"label" : "onTouchPressed_=", "tail" : "(v: EventHandler[_ >: TouchEvent]): Unit", "member" : "scalafx.scene.Node.onTouchPressed_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onTouchPressed_=(v:javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]):Unit", "kind" : "def"}, {"label" : "onTouchPressed", "tail" : "(): ObjectProperty[EventHandler[_ >: TouchEvent]]", "member" : "scalafx.scene.Node.onTouchPressed", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onTouchPressed:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]]", "kind" : "def"}, {"label" : "onTouchMoved_=", "tail" : "(v: EventHandler[_ >: TouchEvent]): Unit", "member" : "scalafx.scene.Node.onTouchMoved_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onTouchMoved_=(v:javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]):Unit", "kind" : "def"}, {"label" : "onTouchMoved", "tail" : "(): ObjectProperty[EventHandler[_ >: TouchEvent]]", "member" : "scalafx.scene.Node.onTouchMoved", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onTouchMoved:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]]", "kind" : "def"}, {"label" : "onZoomStarted_=", "tail" : "(v: EventHandler[_ >: ZoomEvent]): Unit", "member" : "scalafx.scene.Node.onZoomStarted_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onZoomStarted_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]):Unit", "kind" : "def"}, {"label" : "onZoomStarted", "tail" : "(): ObjectProperty[EventHandler[_ >: ZoomEvent]]", "member" : "scalafx.scene.Node.onZoomStarted", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onZoomStarted:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]]", "kind" : "def"}, {"label" : "onZoomFinished_=", "tail" : "(v: EventHandler[_ >: ZoomEvent]): Unit", "member" : "scalafx.scene.Node.onZoomFinished_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onZoomFinished_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]):Unit", "kind" : "def"}, {"label" : "onZoomFinished", "tail" : "(): ObjectProperty[EventHandler[_ >: ZoomEvent]]", "member" : "scalafx.scene.Node.onZoomFinished", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onZoomFinished:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]]", "kind" : "def"}, {"label" : "onZoom_=", "tail" : "(v: EventHandler[_ >: ZoomEvent]): Unit", "member" : "scalafx.scene.Node.onZoom_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onZoom_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]):Unit", "kind" : "def"}, {"label" : "onZoom", "tail" : "(): ObjectProperty[EventHandler[_ >: ZoomEvent]]", "member" : "scalafx.scene.Node.onZoom", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onZoom:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]]", "kind" : "def"}, {"label" : "onSwipeRight_=", "tail" : "(v: EventHandler[_ >: SwipeEvent]): Unit", "member" : "scalafx.scene.Node.onSwipeRight_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onSwipeRight_=(v:javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]):Unit", "kind" : "def"}, {"label" : "onSwipeRight", "tail" : "(): ObjectProperty[EventHandler[_ >: SwipeEvent]]", "member" : "scalafx.scene.Node.onSwipeRight", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onSwipeRight:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]]", "kind" : "def"}, {"label" : "onSwipeUp_=", "tail" : "(v: EventHandler[_ >: SwipeEvent]): Unit", "member" : "scalafx.scene.Node.onSwipeUp_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onSwipeUp_=(v:javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]):Unit", "kind" : "def"}, {"label" : "onSwipeUp", "tail" : "(): ObjectProperty[EventHandler[_ >: SwipeEvent]]", "member" : "scalafx.scene.Node.onSwipeUp", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onSwipeUp:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]]", "kind" : "def"}, {"label" : "onSwipeLeft_=", "tail" : "(v: EventHandler[_ >: SwipeEvent]): Unit", "member" : "scalafx.scene.Node.onSwipeLeft_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onSwipeLeft_=(v:javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]):Unit", "kind" : "def"}, {"label" : "onSwipeLeft", "tail" : "(): ObjectProperty[EventHandler[_ >: SwipeEvent]]", "member" : "scalafx.scene.Node.onSwipeLeft", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onSwipeLeft:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]]", "kind" : "def"}, {"label" : "onSwipeDown_=", "tail" : "(v: EventHandler[_ >: SwipeEvent]): Unit", "member" : "scalafx.scene.Node.onSwipeDown_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onSwipeDown_=(v:javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]):Unit", "kind" : "def"}, {"label" : "onSwipeDown", "tail" : "(): ObjectProperty[EventHandler[_ >: SwipeEvent]]", "member" : "scalafx.scene.Node.onSwipeDown", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onSwipeDown:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]]", "kind" : "def"}, {"label" : "onScrollStarted_=", "tail" : "(v: EventHandler[_ >: ScrollEvent]): Unit", "member" : "scalafx.scene.Node.onScrollStarted_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onScrollStarted_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]):Unit", "kind" : "def"}, {"label" : "onScrollStarted", "tail" : "(): ObjectProperty[EventHandler[_ >: ScrollEvent]]", "member" : "scalafx.scene.Node.onScrollStarted", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onScrollStarted:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]]", "kind" : "def"}, {"label" : "onScrollFinished_=", "tail" : "(v: EventHandler[_ >: ScrollEvent]): Unit", "member" : "scalafx.scene.Node.onScrollFinished_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onScrollFinished_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]):Unit", "kind" : "def"}, {"label" : "onScrollFinished", "tail" : "(): ObjectProperty[EventHandler[_ >: ScrollEvent]]", "member" : "scalafx.scene.Node.onScrollFinished", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onScrollFinished:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]]", "kind" : "def"}, {"label" : "onRotationStarted_=", "tail" : "(v: EventHandler[_ >: RotateEvent]): Unit", "member" : "scalafx.scene.Node.onRotationStarted_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onRotationStarted_=(v:javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]):Unit", "kind" : "def"}, {"label" : "onRotationStarted", "tail" : "(): ObjectProperty[EventHandler[_ >: RotateEvent]]", "member" : "scalafx.scene.Node.onRotationStarted", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onRotationStarted:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]]", "kind" : "def"}, {"label" : "onRotationFinished_=", "tail" : "(v: EventHandler[_ >: RotateEvent]): Unit", "member" : "scalafx.scene.Node.onRotationFinished_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onRotationFinished_=(v:javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]):Unit", "kind" : "def"}, {"label" : "onRotationFinished", "tail" : "(): ObjectProperty[EventHandler[_ >: RotateEvent]]", "member" : "scalafx.scene.Node.onRotationFinished", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onRotationFinished:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]]", "kind" : "def"}, {"label" : "onRotate_=", "tail" : "(v: EventHandler[_ >: RotateEvent]): Unit", "member" : "scalafx.scene.Node.onRotate_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onRotate_=(v:javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]):Unit", "kind" : "def"}, {"label" : "onRotate", "tail" : "(): ObjectProperty[EventHandler[_ >: RotateEvent]]", "member" : "scalafx.scene.Node.onRotate", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onRotate:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]]", "kind" : "def"}, {"label" : "localToSceneTransform", "tail" : "(): Transform", "member" : "scalafx.scene.Node.localToSceneTransform", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#localToSceneTransform:scalafx.scene.transform.Transform", "kind" : "def"}, {"label" : "localToParentTransform", "tail" : "(): Transform", "member" : "scalafx.scene.Node.localToParentTransform", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#localToParentTransform:scalafx.scene.transform.Transform", "kind" : "def"}, {"label" : "toFront", "tail" : "(): Unit", "member" : "scalafx.scene.Node.toFront", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#toFront():Unit", "kind" : "def"}, {"label" : "toBack", "tail" : "(): Unit", "member" : "scalafx.scene.Node.toBack", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#toBack():Unit", "kind" : "def"}, {"label" : "startFullDrag", "tail" : "(): Unit", "member" : "scalafx.scene.Node.startFullDrag", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#startFullDrag():Unit", "kind" : "def"}, {"label" : "startDragAndDrop", "tail" : "(transferModes: TransferMode*): Dragboard", "member" : "scalafx.scene.Node.startDragAndDrop", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#startDragAndDrop(transferModes:javafx.scene.input.TransferMode*):javafx.scene.input.Dragboard", "kind" : "def"}, {"label" : "snapshot", "tail" : "(callback: (SnapshotResult) ⇒ Unit, params: SnapshotParameters, image: WritableImage): Unit", "member" : "scalafx.scene.Node.snapshot", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#snapshot(callback:scalafx.scene.SnapshotResult=>Unit,params:scalafx.scene.SnapshotParameters,image:scalafx.scene.image.WritableImage):Unit", "kind" : "def"}, {"label" : "snapshot", "tail" : "(params: SnapshotParameters, image: WritableImage): WritableImage", "member" : "scalafx.scene.Node.snapshot", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#snapshot(params:scalafx.scene.SnapshotParameters,image:scalafx.scene.image.WritableImage):scalafx.scene.image.WritableImage", "kind" : "def"}, {"label" : "sceneToLocal", "tail" : "(scenePoint: Point2D): Point2D", "member" : "scalafx.scene.Node.sceneToLocal", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#sceneToLocal(scenePoint:scalafx.geometry.Point2D):javafx.geometry.Point2D", "kind" : "def"}, {"label" : "sceneToLocal", "tail" : "(sceneX: Double, sceneY: Double): Point2D", "member" : "scalafx.scene.Node.sceneToLocal", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#sceneToLocal(sceneX:Double,sceneY:Double):javafx.geometry.Point2D", "kind" : "def"}, {"label" : "sceneToLocal", "tail" : "(sceneBounds: Bounds): Bounds", "member" : "scalafx.scene.Node.sceneToLocal", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#sceneToLocal(sceneBounds:scalafx.geometry.Bounds):javafx.geometry.Bounds", "kind" : "def"}, {"label" : "resizeRelocate", "tail" : "(x: Double, y: Double, width: Double, height: Double): Unit", "member" : "scalafx.scene.Node.resizeRelocate", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#resizeRelocate(x:Double,y:Double,width:Double,height:Double):Unit", "kind" : "def"}, {"label" : "requestFocus", "tail" : "(): Unit", "member" : "scalafx.scene.Node.requestFocus", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#requestFocus():Unit", "kind" : "def"}, {"label" : "relocate", "tail" : "(x: Double, y: Double): Unit", "member" : "scalafx.scene.Node.relocate", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#relocate(x:Double,y:Double):Unit", "kind" : "def"}, {"label" : "parentToLocal", "tail" : "(parentPoint: Point2D): Point2D", "member" : "scalafx.scene.Node.parentToLocal", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#parentToLocal(parentPoint:scalafx.geometry.Point2D):javafx.geometry.Point2D", "kind" : "def"}, {"label" : "parentToLocal", "tail" : "(parentX: Double, parentY: Double): Point2D", "member" : "scalafx.scene.Node.parentToLocal", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#parentToLocal(parentX:Double,parentY:Double):javafx.geometry.Point2D", "kind" : "def"}, {"label" : "parentToLocal", "tail" : "(parentBounds: Bounds): Bounds", "member" : "scalafx.scene.Node.parentToLocal", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#parentToLocal(parentBounds:scalafx.geometry.Bounds):javafx.geometry.Bounds", "kind" : "def"}, {"label" : "minWidth", "tail" : "(height: Double): Double", "member" : "scalafx.scene.Node.minWidth", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#minWidth(height:Double):Double", "kind" : "def"}, {"label" : "minHeight", "tail" : "(width: Double): Double", "member" : "scalafx.scene.Node.minHeight", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#minHeight(width:Double):Double", "kind" : "def"}, {"label" : "maxWidth", "tail" : "(height: Double): Double", "member" : "scalafx.scene.Node.maxWidth", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#maxWidth(height:Double):Double", "kind" : "def"}, {"label" : "maxHeight", "tail" : "(width: Double): Double", "member" : "scalafx.scene.Node.maxHeight", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#maxHeight(width:Double):Double", "kind" : "def"}, {"label" : "lookupAll", "tail" : "(selector: String): Set[Node]", "member" : "scalafx.scene.Node.lookupAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#lookupAll(selector:String):java.util.Set[javafx.scene.Node]", "kind" : "def"}, {"label" : "lookup", "tail" : "(selector: String): Node", "member" : "scalafx.scene.Node.lookup", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#lookup(selector:String):scalafx.scene.Node", "kind" : "def"}, {"label" : "localToScene", "tail" : "(localPoint: Point2D): Point2D", "member" : "scalafx.scene.Node.localToScene", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#localToScene(localPoint:scalafx.geometry.Point2D):javafx.geometry.Point2D", "kind" : "def"}, {"label" : "localToScene", "tail" : "(localX: Double, localY: Double): Point2D", "member" : "scalafx.scene.Node.localToScene", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#localToScene(localX:Double,localY:Double):javafx.geometry.Point2D", "kind" : "def"}, {"label" : "localToScene", "tail" : "(localBounds: Bounds): Bounds", "member" : "scalafx.scene.Node.localToScene", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#localToScene(localBounds:scalafx.geometry.Bounds):javafx.geometry.Bounds", "kind" : "def"}, {"label" : "localToParent", "tail" : "(localPoint: Point2D): Point2D", "member" : "scalafx.scene.Node.localToParent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#localToParent(localPoint:scalafx.geometry.Point2D):javafx.geometry.Point2D", "kind" : "def"}, {"label" : "localToParent", "tail" : "(localX: Double, localY: Double): Point2D", "member" : "scalafx.scene.Node.localToParent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#localToParent(localX:Double,localY:Double):javafx.geometry.Point2D", "kind" : "def"}, {"label" : "localToParent", "tail" : "(localBounds: Bounds): Bounds", "member" : "scalafx.scene.Node.localToParent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#localToParent(localBounds:scalafx.geometry.Bounds):javafx.geometry.Bounds", "kind" : "def"}, {"label" : "intersects", "tail" : "(localX: Double, localY: Double, localWidth: Double, localHeight: Double): Boolean", "member" : "scalafx.scene.Node.intersects", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#intersects(localX:Double,localY:Double,localWidth:Double,localHeight:Double):Boolean", "kind" : "def"}, {"label" : "intersects", "tail" : "(localBounds: Bounds): Boolean", "member" : "scalafx.scene.Node.intersects", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#intersects(localBounds:scalafx.geometry.Bounds):Boolean", "kind" : "def"}, {"label" : "baselineOffset", "tail" : "(): Double", "member" : "scalafx.scene.Node.baselineOffset", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#baselineOffset:Double", "kind" : "def"}, {"label" : "fireEvent", "tail" : "(event: Event): Unit", "member" : "scalafx.scene.Node.fireEvent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#fireEvent(event:scalafx.event.Event):Unit", "kind" : "def"}, {"label" : "contains", "tail" : "(localPoint: Point2D): Boolean", "member" : "scalafx.scene.Node.contains", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#contains(localPoint:scalafx.geometry.Point2D):Boolean", "kind" : "def"}, {"label" : "contains", "tail" : "(localX: Double, localY: Double): Boolean", "member" : "scalafx.scene.Node.contains", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#contains(localX:Double,localY:Double):Boolean", "kind" : "def"}, {"label" : "autosize", "tail" : "(): Unit", "member" : "scalafx.scene.Node.autosize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#autosize():Unit", "kind" : "def"}, {"label" : "vgrow_=", "tail" : "(p: Priority): Unit", "member" : "scalafx.scene.Node.vgrow_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#vgrow_=(p:scalafx.scene.layout.Priority):Unit", "kind" : "def"}, {"label" : "vgrow", "tail" : "(): Priority", "member" : "scalafx.scene.Node.vgrow", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#vgrow:scalafx.scene.layout.Priority", "kind" : "def"}, {"label" : "hgrow_=", "tail" : "(p: Priority): Unit", "member" : "scalafx.scene.Node.hgrow_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#hgrow_=(p:scalafx.scene.layout.Priority):Unit", "kind" : "def"}, {"label" : "hgrow", "tail" : "(): Priority", "member" : "scalafx.scene.Node.hgrow", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#hgrow:scalafx.scene.layout.Priority", "kind" : "def"}, {"label" : "margin_=", "tail" : "(i: Insets): Unit", "member" : "scalafx.scene.Node.margin_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#margin_=(i:scalafx.geometry.Insets):Unit", "kind" : "def"}, {"label" : "margin", "tail" : "(): Insets", "member" : "scalafx.scene.Node.margin", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#margin:scalafx.geometry.Insets", "kind" : "def"}, {"label" : "alignmentInParent_=", "tail" : "(p: Pos): Unit", "member" : "scalafx.scene.Node.alignmentInParent_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#alignmentInParent_=(p:scalafx.geometry.Pos):Unit", "kind" : "def"}, {"label" : "alignmentInParent", "tail" : "(): Pos", "member" : "scalafx.scene.Node.alignmentInParent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#alignmentInParent:scalafx.geometry.Pos", "kind" : "def"}, {"label" : "visible_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.Node.visible_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#visible_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "visible", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.Node.visible", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#visible:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "userData_=", "tail" : "(v: AnyRef): Unit", "member" : "scalafx.scene.Node.userData_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#userData_=(v:AnyRef):Unit", "kind" : "def"}, {"label" : "userData", "tail" : "(): AnyRef", "member" : "scalafx.scene.Node.userData", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#userData:Object", "kind" : "def"}, {"label" : "translateZ_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.translateZ_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#translateZ_=(v:Double):Unit", "kind" : "def"}, {"label" : "translateZ", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.translateZ", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#translateZ:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "translateY_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.translateY_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#translateY_=(v:Double):Unit", "kind" : "def"}, {"label" : "translateY", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.translateY", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#translateY:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "translateX_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.translateX_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#translateX_=(v:Double):Unit", "kind" : "def"}, {"label" : "translateX", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.translateX", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#translateX:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "transforms_=", "tail" : "(c: Iterable[Transform]): Unit", "member" : "scalafx.scene.Node.transforms_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#transforms_=(c:Iterable[scalafx.scene.transform.Transform]):Unit", "kind" : "def"}, {"label" : "transforms", "tail" : "(): ObservableList[Transform]", "member" : "scalafx.scene.Node.transforms", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#transforms:javafx.collections.ObservableList[javafx.scene.transform.Transform]", "kind" : "def"}, {"label" : "styleClass_=", "tail" : "(c: Iterable[String]): Unit", "member" : "scalafx.scene.Node.styleClass_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#styleClass_=(c:Iterable[String]):Unit", "kind" : "def"}, {"label" : "style_=", "tail" : "(v: String): Unit", "member" : "scalafx.scene.Node.style_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#style_=(v:String):Unit", "kind" : "def"}, {"label" : "style", "tail" : "(): StringProperty", "member" : "scalafx.scene.Node.style", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#style:scalafx.beans.property.StringProperty", "kind" : "def"}, {"label" : "scene", "tail" : "(): ReadOnlyObjectProperty[Scene]", "member" : "scalafx.scene.Node.scene", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#scene:scalafx.beans.property.ReadOnlyObjectProperty[javafx.scene.Scene]", "kind" : "def"}, {"label" : "scaleZ_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.scaleZ_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#scaleZ_=(v:Double):Unit", "kind" : "def"}, {"label" : "scaleZ", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.scaleZ", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#scaleZ:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "scaleY_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.scaleY_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#scaleY_=(v:Double):Unit", "kind" : "def"}, {"label" : "scaleY", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.scaleY", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#scaleY:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "scaleX_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.scaleX_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#scaleX_=(v:Double):Unit", "kind" : "def"}, {"label" : "scaleX", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.scaleX", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#scaleX:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "rotationAxis_=", "tail" : "(v: Point3D): Unit", "member" : "scalafx.scene.Node.rotationAxis_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#rotationAxis_=(v:scalafx.geometry.Point3D):Unit", "kind" : "def"}, {"label" : "rotationAxis", "tail" : "(): ObjectProperty[Point3D]", "member" : "scalafx.scene.Node.rotationAxis", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#rotationAxis:scalafx.beans.property.ObjectProperty[javafx.geometry.Point3D]", "kind" : "def"}, {"label" : "rotate_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.rotate_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#rotate_=(v:Double):Unit", "kind" : "def"}, {"label" : "rotate", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.rotate", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#rotate:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "pressed", "tail" : "(): ReadOnlyBooleanProperty", "member" : "scalafx.scene.Node.pressed", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#pressed:scalafx.beans.property.ReadOnlyBooleanProperty", "kind" : "def"}, {"label" : "pickOnBounds_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.Node.pickOnBounds_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#pickOnBounds_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "pickOnBounds", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.Node.pickOnBounds", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#pickOnBounds:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "parent", "tail" : "(): ReadOnlyObjectProperty[Parent]", "member" : "scalafx.scene.Node.parent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#parent:scalafx.beans.property.ReadOnlyObjectProperty[javafx.scene.Parent]", "kind" : "def"}, {"label" : "opacity_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.opacity_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#opacity_=(v:Double):Unit", "kind" : "def"}, {"label" : "opacity", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.opacity", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#opacity:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "onScroll_=", "tail" : "(v: EventHandler[_ >: ScrollEvent]): Unit", "member" : "scalafx.scene.Node.onScroll_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onScroll_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]):Unit", "kind" : "def"}, {"label" : "onScroll", "tail" : "(): ObjectProperty[EventHandler[_ >: ScrollEvent]]", "member" : "scalafx.scene.Node.onScroll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onScroll:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]]", "kind" : "def"}, {"label" : "onMouseReleased_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Node.onMouseReleased_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onMouseReleased_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseReleased", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Node.onMouseReleased", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onMouseReleased:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMousePressed_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Node.onMousePressed_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onMousePressed_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMousePressed", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Node.onMousePressed", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onMousePressed:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseMoved_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Node.onMouseMoved_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onMouseMoved_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseMoved", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Node.onMouseMoved", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onMouseMoved:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseExited_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Node.onMouseExited_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onMouseExited_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseExited", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Node.onMouseExited", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onMouseExited:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseEntered_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Node.onMouseEntered_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onMouseEntered_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseEntered", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Node.onMouseEntered", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onMouseEntered:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseDragReleased_=", "tail" : "(v: EventHandler[_ >: MouseDragEvent]): Unit", "member" : "scalafx.scene.Node.onMouseDragReleased_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onMouseDragReleased_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragReleased", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseDragEvent]]", "member" : "scalafx.scene.Node.onMouseDragReleased", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onMouseDragReleased:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]]", "kind" : "def"}, {"label" : "onMouseDragOver_=", "tail" : "(v: EventHandler[_ >: MouseDragEvent]): Unit", "member" : "scalafx.scene.Node.onMouseDragOver_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onMouseDragOver_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragOver", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseDragEvent]]", "member" : "scalafx.scene.Node.onMouseDragOver", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onMouseDragOver:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]]", "kind" : "def"}, {"label" : "onMouseDragExited_=", "tail" : "(v: EventHandler[_ >: MouseDragEvent]): Unit", "member" : "scalafx.scene.Node.onMouseDragExited_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onMouseDragExited_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragExited", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseDragEvent]]", "member" : "scalafx.scene.Node.onMouseDragExited", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onMouseDragExited:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]]", "kind" : "def"}, {"label" : "onMouseDragEntered_=", "tail" : "(v: EventHandler[_ >: MouseDragEvent]): Unit", "member" : "scalafx.scene.Node.onMouseDragEntered_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onMouseDragEntered_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragEntered", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseDragEvent]]", "member" : "scalafx.scene.Node.onMouseDragEntered", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onMouseDragEntered:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]]", "kind" : "def"}, {"label" : "onMouseDragged_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Node.onMouseDragged_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onMouseDragged_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragged", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Node.onMouseDragged", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onMouseDragged:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseClicked_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Node.onMouseClicked_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onMouseClicked_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseClicked", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Node.onMouseClicked", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onMouseClicked:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onKeyTyped_=", "tail" : "(v: EventHandler[_ >: KeyEvent]): Unit", "member" : "scalafx.scene.Node.onKeyTyped_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onKeyTyped_=(v:javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]):Unit", "kind" : "def"}, {"label" : "onKeyTyped", "tail" : "(): ObjectProperty[EventHandler[_ >: KeyEvent]]", "member" : "scalafx.scene.Node.onKeyTyped", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onKeyTyped:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]]", "kind" : "def"}, {"label" : "onKeyReleased_=", "tail" : "(v: EventHandler[_ >: KeyEvent]): Unit", "member" : "scalafx.scene.Node.onKeyReleased_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onKeyReleased_=(v:javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]):Unit", "kind" : "def"}, {"label" : "onKeyReleased", "tail" : "(): ObjectProperty[EventHandler[_ >: KeyEvent]]", "member" : "scalafx.scene.Node.onKeyReleased", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onKeyReleased:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]]", "kind" : "def"}, {"label" : "onKeyPressed_=", "tail" : "(v: EventHandler[_ >: KeyEvent]): Unit", "member" : "scalafx.scene.Node.onKeyPressed_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onKeyPressed_=(v:javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]):Unit", "kind" : "def"}, {"label" : "onKeyPressed", "tail" : "(): ObjectProperty[EventHandler[_ >: KeyEvent]]", "member" : "scalafx.scene.Node.onKeyPressed", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onKeyPressed:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]]", "kind" : "def"}, {"label" : "onInputMethodTextChanged_=", "tail" : "(v: EventHandler[_ >: InputMethodEvent]): Unit", "member" : "scalafx.scene.Node.onInputMethodTextChanged_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onInputMethodTextChanged_=(v:javafx.event.EventHandler[_>:javafx.scene.input.InputMethodEvent]):Unit", "kind" : "def"}, {"label" : "onInputMethodTextChanged", "tail" : "(): ObjectProperty[EventHandler[_ >: InputMethodEvent]]", "member" : "scalafx.scene.Node.onInputMethodTextChanged", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onInputMethodTextChanged:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.InputMethodEvent]]", "kind" : "def"}, {"label" : "onDragOver_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Node.onDragOver_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onDragOver_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragOver", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Node.onDragOver", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onDragOver:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragExited_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Node.onDragExited_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onDragExited_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragExited", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Node.onDragExited", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onDragExited:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragEntered_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Node.onDragEntered_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onDragEntered_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragEntered", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Node.onDragEntered", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onDragEntered:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragDropped_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Node.onDragDropped_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onDragDropped_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragDropped", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Node.onDragDropped", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onDragDropped:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragDone_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Node.onDragDone_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onDragDone_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragDone", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Node.onDragDone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onDragDone:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragDetected_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Node.onDragDetected_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onDragDetected_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onDragDetected", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Node.onDragDetected", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onDragDetected:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onContextMenuRequested_=", "tail" : "(v: EventHandler[_ >: ContextMenuEvent]): Unit", "member" : "scalafx.scene.Node.onContextMenuRequested_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onContextMenuRequested_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ContextMenuEvent]):Unit", "kind" : "def"}, {"label" : "onContextMenuRequested", "tail" : "(): ObjectProperty[EventHandler[_ >: ContextMenuEvent]]", "member" : "scalafx.scene.Node.onContextMenuRequested", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#onContextMenuRequested:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ContextMenuEvent]]", "kind" : "def"}, {"label" : "effectiveNodeOrientation", "tail" : "(): ReadOnlyObjectProperty[NodeOrientation]", "member" : "scalafx.scene.Node.effectiveNodeOrientation", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#effectiveNodeOrientation:scalafx.beans.property.ReadOnlyObjectProperty[javafx.geometry.NodeOrientation]", "kind" : "def"}, {"label" : "nodeOrientation_=", "tail" : "(v: NodeOrientation): Unit", "member" : "scalafx.scene.Node.nodeOrientation_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#nodeOrientation_=(v:scalafx.geometry.NodeOrientation):Unit", "kind" : "def"}, {"label" : "nodeOrientation", "tail" : "(): ObjectProperty[NodeOrientation]", "member" : "scalafx.scene.Node.nodeOrientation", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#nodeOrientation:scalafx.beans.property.ObjectProperty[javafx.geometry.NodeOrientation]", "kind" : "def"}, {"label" : "mouseTransparent_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.Node.mouseTransparent_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#mouseTransparent_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "mouseTransparent", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.Node.mouseTransparent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#mouseTransparent:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "managed_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.Node.managed_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#managed_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "managed", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.Node.managed", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#managed:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "layoutY_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.layoutY_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#layoutY_=(v:Double):Unit", "kind" : "def"}, {"label" : "layoutY", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.layoutY", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#layoutY:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "layoutX_=", "tail" : "(v: Double): Unit", "member" : "scalafx.scene.Node.layoutX_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#layoutX_=(v:Double):Unit", "kind" : "def"}, {"label" : "layoutX", "tail" : "(): DoubleProperty", "member" : "scalafx.scene.Node.layoutX", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#layoutX:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "layoutBounds", "tail" : "(): ReadOnlyObjectProperty[Bounds]", "member" : "scalafx.scene.Node.layoutBounds", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#layoutBounds:scalafx.beans.property.ReadOnlyObjectProperty[javafx.geometry.Bounds]", "kind" : "def"}, {"label" : "inputMethodRequests_=", "tail" : "(v: InputMethodRequests): Unit", "member" : "scalafx.scene.Node.inputMethodRequests_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#inputMethodRequests_=(v:javafx.scene.input.InputMethodRequests):Unit", "kind" : "def"}, {"label" : "inputMethodRequests", "tail" : "(): ObjectProperty[InputMethodRequests]", "member" : "scalafx.scene.Node.inputMethodRequests", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#inputMethodRequests:scalafx.beans.property.ObjectProperty[javafx.scene.input.InputMethodRequests]", "kind" : "def"}, {"label" : "id_=", "tail" : "(v: String): Unit", "member" : "scalafx.scene.Node.id_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#id_=(v:String):Unit", "kind" : "def"}, {"label" : "id", "tail" : "(): StringProperty", "member" : "scalafx.scene.Node.id", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#id:scalafx.beans.property.StringProperty", "kind" : "def"}, {"label" : "hover", "tail" : "(): ReadOnlyBooleanProperty", "member" : "scalafx.scene.Node.hover", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#hover:scalafx.beans.property.ReadOnlyBooleanProperty", "kind" : "def"}, {"label" : "focusTraversable_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.Node.focusTraversable_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#focusTraversable_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "focusTraversable", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.Node.focusTraversable", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#focusTraversable:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "focused", "tail" : "(): ReadOnlyBooleanProperty", "member" : "scalafx.scene.Node.focused", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#focused:scalafx.beans.property.ReadOnlyBooleanProperty", "kind" : "def"}, {"label" : "eventDispatcher_=", "tail" : "(v: EventDispatcher): Unit", "member" : "scalafx.scene.Node.eventDispatcher_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#eventDispatcher_=(v:javafx.event.EventDispatcher):Unit", "kind" : "def"}, {"label" : "eventDispatcher", "tail" : "(): ObjectProperty[EventDispatcher]", "member" : "scalafx.scene.Node.eventDispatcher", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#eventDispatcher:scalafx.beans.property.ObjectProperty[javafx.event.EventDispatcher]", "kind" : "def"}, {"label" : "effect_=", "tail" : "(v: Effect): Unit", "member" : "scalafx.scene.Node.effect_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#effect_=(v:scalafx.scene.effect.Effect):Unit", "kind" : "def"}, {"label" : "effect", "tail" : "(): ObjectProperty[Effect]", "member" : "scalafx.scene.Node.effect", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#effect:scalafx.beans.property.ObjectProperty[javafx.scene.effect.Effect]", "kind" : "def"}, {"label" : "disable_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.Node.disable_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#disable_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "disable", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.Node.disable", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#disable:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "disabled", "tail" : "(): ReadOnlyBooleanProperty", "member" : "scalafx.scene.Node.disabled", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#disabled:scalafx.beans.property.ReadOnlyBooleanProperty", "kind" : "def"}, {"label" : "depthTest_=", "tail" : "(v: DepthTest): Unit", "member" : "scalafx.scene.Node.depthTest_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#depthTest_=(v:scalafx.scene.DepthTest):Unit", "kind" : "def"}, {"label" : "depthTest", "tail" : "(): ObjectProperty[DepthTest]", "member" : "scalafx.scene.Node.depthTest", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#depthTest:scalafx.beans.property.ObjectProperty[javafx.scene.DepthTest]", "kind" : "def"}, {"label" : "cursor_=", "tail" : "(v: Cursor): Unit", "member" : "scalafx.scene.Node.cursor_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#cursor_=(v:scalafx.scene.Cursor):Unit", "kind" : "def"}, {"label" : "cursor", "tail" : "(): ObjectProperty[Cursor]", "member" : "scalafx.scene.Node.cursor", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#cursor:scalafx.beans.property.ObjectProperty[javafx.scene.Cursor]", "kind" : "def"}, {"label" : "contentBias", "tail" : "(): Orientation", "member" : "scalafx.scene.Node.contentBias", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#contentBias:scalafx.geometry.Orientation", "kind" : "def"}, {"label" : "clip_=", "tail" : "(v: Node): Unit", "member" : "scalafx.scene.Node.clip_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#clip_=(v:scalafx.scene.Node):Unit", "kind" : "def"}, {"label" : "clip", "tail" : "(): ObjectProperty[Node]", "member" : "scalafx.scene.Node.clip", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#clip:scalafx.beans.property.ObjectProperty[javafx.scene.Node]", "kind" : "def"}, {"label" : "cache_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.scene.Node.cache_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#cache_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "cache", "tail" : "(): BooleanProperty", "member" : "scalafx.scene.Node.cache", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#cache:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "cacheHint_=", "tail" : "(v: CacheHint): Unit", "member" : "scalafx.scene.Node.cacheHint_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#cacheHint_=(v:scalafx.scene.CacheHint):Unit", "kind" : "def"}, {"label" : "cacheHint", "tail" : "(): ObjectProperty[CacheHint]", "member" : "scalafx.scene.Node.cacheHint", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#cacheHint:scalafx.beans.property.ObjectProperty[javafx.scene.CacheHint]", "kind" : "def"}, {"label" : "boundsInParent", "tail" : "(): ReadOnlyObjectProperty[Bounds]", "member" : "scalafx.scene.Node.boundsInParent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#boundsInParent:scalafx.beans.property.ReadOnlyObjectProperty[javafx.geometry.Bounds]", "kind" : "def"}, {"label" : "boundsInLocal", "tail" : "(): ReadOnlyObjectProperty[Bounds]", "member" : "scalafx.scene.Node.boundsInLocal", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#boundsInLocal:scalafx.beans.property.ReadOnlyObjectProperty[javafx.geometry.Bounds]", "kind" : "def"}, {"label" : "blendMode_=", "tail" : "(v: BlendMode): Unit", "member" : "scalafx.scene.Node.blendMode_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#blendMode_=(v:scalafx.scene.effect.BlendMode):Unit", "kind" : "def"}, {"label" : "blendMode", "tail" : "(): ObjectProperty[BlendMode]", "member" : "scalafx.scene.Node.blendMode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#blendMode:scalafx.beans.property.ObjectProperty[javafx.scene.effect.BlendMode]", "kind" : "def"}, {"label" : "accessibleRoleDescription_=", "tail" : "(v: String): Unit", "member" : "scalafx.scene.Node.accessibleRoleDescription_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#accessibleRoleDescription_=(v:String):Unit", "kind" : "def"}, {"label" : "accessibleRoleDescription", "tail" : "(): ObjectProperty[String]", "member" : "scalafx.scene.Node.accessibleRoleDescription", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#accessibleRoleDescription:scalafx.beans.property.ObjectProperty[String]", "kind" : "def"}, {"label" : "accessibleRole_=", "tail" : "(v: AccessibleRole): Unit", "member" : "scalafx.scene.Node.accessibleRole_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#accessibleRole_=(v:scalafx.scene.AccessibleRole):Unit", "kind" : "def"}, {"label" : "accessibleRole", "tail" : "(): ObjectProperty[AccessibleRole]", "member" : "scalafx.scene.Node.accessibleRole", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#accessibleRole:scalafx.beans.property.ObjectProperty[javafx.scene.AccessibleRole]", "kind" : "def"}, {"label" : "accessibleHelp_=", "tail" : "(v: String): Unit", "member" : "scalafx.scene.Node.accessibleHelp_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#accessibleHelp_=(v:String):Unit", "kind" : "def"}, {"label" : "accessibleHelp", "tail" : "(): ObjectProperty[String]", "member" : "scalafx.scene.Node.accessibleHelp", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#accessibleHelp:scalafx.beans.property.ObjectProperty[String]", "kind" : "def"}, {"label" : "accessibleText_=", "tail" : "(v: String): Unit", "member" : "scalafx.scene.Node.accessibleText_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#accessibleText_=(v:String):Unit", "kind" : "def"}, {"label" : "accessibleText", "tail" : "(): ObjectProperty[String]", "member" : "scalafx.scene.Node.accessibleText", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#accessibleText:scalafx.beans.property.ObjectProperty[String]", "kind" : "def"}, {"label" : "typeSelector", "tail" : "(): String", "member" : "scalafx.css.Styleable.typeSelector", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#typeSelector:String", "kind" : "def"}, {"label" : "styleClass", "tail" : "(): ObservableBuffer[String]", "member" : "scalafx.css.Styleable.styleClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#styleClass:scalafx.collections.ObservableBuffer[String]", "kind" : "def"}, {"label" : "styleableParent", "tail" : "(): Styleable", "member" : "scalafx.css.Styleable.styleableParent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#styleableParent:scalafx.css.Styleable", "kind" : "def"}, {"label" : "getStyle", "tail" : "(): String", "member" : "scalafx.css.Styleable.getStyle", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#getStyle:String", "kind" : "def"}, {"label" : "pseudoClassStates", "tail" : "(): ObservableSet[PseudoClass]", "member" : "scalafx.css.Styleable.pseudoClassStates", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#pseudoClassStates:scalafx.collections.ObservableSet[javafx.css.PseudoClass]", "kind" : "def"}, {"label" : "getId", "tail" : "(): String", "member" : "scalafx.css.Styleable.getId", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#getId:String", "kind" : "def"}, {"label" : "cssMetaData", "tail" : "(): Seq[CssMetaData[_ <: Styleable, _]]", "member" : "scalafx.css.Styleable.cssMetaData", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#cssMetaData:Seq[javafx.css.CssMetaData[_<:javafx.css.Styleable,_]]", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scalafx.delegate.SFXDelegate.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#hashCode():Int", "kind" : "def"}, {"label" : "equals", "tail" : "(ref: Any): Boolean", "member" : "scalafx.delegate.SFXDelegate.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#equals(ref:Any):Boolean", "kind" : "def"}, {"label" : "toString", "tail" : "(): String", "member" : "scalafx.delegate.SFXDelegate.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#toString():String", "kind" : "def"}, {"label" : "buildEventDispatchChain", "tail" : "(chain: EventDispatchChain): EventDispatchChain", "member" : "scalafx.event.EventHandlerDelegate.buildEventDispatchChain", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#buildEventDispatchChain(chain:javafx.event.EventDispatchChain):javafx.event.EventDispatchChain", "kind" : "def"}, {"label" : "removeEventFilter", "tail" : "(eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit", "member" : "scalafx.event.EventHandlerDelegate.removeEventFilter", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#removeEventFilter[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_>:E]):Unit", "kind" : "def"}, {"label" : "filterEvent", "tail" : "(eventType: EventType[J])(filter: FilterMagnet[J, S]): Subscription", "member" : "scalafx.event.EventHandlerDelegate.filterEvent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#filterEvent[J<:javafx.event.Event,S<:scalafx.event.Eventwithscalafx.delegate.SFXDelegate[J]](eventType:scalafx.event.EventType[J])(filter:EventHandlerDelegate.this.FilterMagnet[J,S]):scalafx.event.subscriptions.Subscription", "kind" : "def"}, {"label" : "addEventFilter", "tail" : "(eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit", "member" : "scalafx.event.EventHandlerDelegate.addEventFilter", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#addEventFilter[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_>:E]):Unit", "kind" : "def"}, {"label" : "removeEventHandler", "tail" : "(eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit", "member" : "scalafx.event.EventHandlerDelegate.removeEventHandler", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#removeEventHandler[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_>:E]):Unit", "kind" : "def"}, {"label" : "handleEvent", "tail" : "(eventType: EventType[J])(handler: HandlerMagnet[J, S]): Subscription", "member" : "scalafx.event.EventHandlerDelegate.handleEvent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#handleEvent[J<:javafx.event.Event,S<:scalafx.event.Eventwithscalafx.delegate.SFXDelegate[J]](eventType:scalafx.event.EventType[J])(handler:EventHandlerDelegate.this.HandlerMagnet[J,S]):scalafx.event.subscriptions.Subscription", "kind" : "def"}, {"label" : "addEventHandler", "tail" : "(eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit", "member" : "scalafx.event.EventHandlerDelegate.addEventHandler", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#addEventHandler[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_>:E]):Unit", "kind" : "def"}, {"label" : "EventHandled", "tail" : "", "member" : "scalafx.event.EventHandlerDelegate.EventHandled", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#EventHandled=AnyRef{defaddEventHandler[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_]):Unit;defremoveEventHandler[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_]):Unit;defaddEventFilter[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_]):Unit;defremoveEventFilter[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_]):Unit;defbuildEventDispatchChain(chain:javafx.event.EventDispatchChain):javafx.event.EventDispatchChain}", "kind" : "type"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#clone():Object", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "class" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBox.html", "kind" : "class"}, {"name" : "it.unibo.osmos.redux.mvc.view.components.MainMenuCenterBoxListener", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBoxListener.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBoxListener.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBoxListener.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBoxListener.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBoxListener.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBoxListener.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBoxListener.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBoxListener.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBoxListener.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBoxListener.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBoxListener.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBoxListener.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBoxListener.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBoxListener.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBoxListener.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBoxListener.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBoxListener.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBoxListener.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBoxListener.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "onExitClick", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.view.components.MainMenuCenterBoxListener.onExitClick", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBoxListener.html#onExitClick():Unit", "kind" : "abstract def"}, {"label" : "onPlayClick", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.view.components.MainMenuCenterBoxListener.onPlayClick", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBoxListener.html#onPlayClick():Unit", "kind" : "abstract def"}], "shortDescription" : "Trait which gets notified when a MainMenuCenterBox event occurs", "trait" : "it\/unibo\/osmos\/redux\/mvc\/view\/components\/MainMenuCenterBoxListener.html", "kind" : "trait"}], "it.unibo.osmos.redux.ecs.entities" : [{"name" : "it.unibo.osmos.redux.ecs.entities.AbstractEntity", "shortDescription" : "Abstract class representing an ECS Entity", "members_class" : [{"member" : "it.unibo.osmos.redux.ecs.entities.AbstractEntity#", "error" : "unsupported entity"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/AbstractEntity.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/AbstractEntity.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/AbstractEntity.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/AbstractEntity.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/AbstractEntity.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/AbstractEntity.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/AbstractEntity.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/AbstractEntity.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/AbstractEntity.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/AbstractEntity.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/AbstractEntity.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/AbstractEntity.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/AbstractEntity.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/AbstractEntity.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/AbstractEntity.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/AbstractEntity.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/AbstractEntity.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/AbstractEntity.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/AbstractEntity.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "getUUID", "tail" : "(): UUID", "member" : "it.unibo.osmos.redux.ecs.entities.AbstractEntity.getUUID", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/AbstractEntity.html#getUUID:java.util.UUID", "kind" : "abstract def"}], "class" : "it\/unibo\/osmos\/redux\/ecs\/entities\/AbstractEntity.html", "kind" : "class"}, {"name" : "it.unibo.osmos.redux.ecs.entities.Acceleration", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Acceleration.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Acceleration.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Acceleration.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Acceleration.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Acceleration.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Acceleration.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Acceleration.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Acceleration.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Acceleration.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Acceleration.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Acceleration.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Acceleration.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Acceleration.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Acceleration.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Acceleration.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Acceleration.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Acceleration.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Acceleration.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Acceleration.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "getAccelerationComponent", "tail" : "(): AccelerationComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Acceleration.getAccelerationComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Acceleration.html#getAccelerationComponent:it.unibo.osmos.redux.ecs.components.AccelerationComponent", "kind" : "abstract def"}], "shortDescription" : "Trait representing the entity's acceleration property", "trait" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Acceleration.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.entities.CellBuilder", "shortDescription" : "Builder for Cell Entities", "members_case class" : [{"label" : "build", "tail" : "(): CellEntity", "member" : "it.unibo.osmos.redux.ecs.entities.CellBuilder.build", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellBuilder.html#build:it.unibo.osmos.redux.ecs.entities.CellEntity", "kind" : "def"}, {"label" : "withEntityType", "tail" : "(entityType: components.EntityType.Value): CellBuilder", "member" : "it.unibo.osmos.redux.ecs.entities.CellBuilder.withEntityType", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellBuilder.html#withEntityType(entityType:it.unibo.osmos.redux.ecs.components.EntityType.Value):it.unibo.osmos.redux.ecs.entities.CellBuilder", "kind" : "def"}, {"label" : "withSpeed", "tail" : "(speed: SpeedComponent): CellBuilder", "member" : "it.unibo.osmos.redux.ecs.entities.CellBuilder.withSpeed", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellBuilder.html#withSpeed(speed:it.unibo.osmos.redux.ecs.components.SpeedComponent):it.unibo.osmos.redux.ecs.entities.CellBuilder", "kind" : "def"}, {"label" : "withSpeed", "tail" : "(x: Double, y: Double): CellBuilder", "member" : "it.unibo.osmos.redux.ecs.entities.CellBuilder.withSpeed", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellBuilder.html#withSpeed(x:Double,y:Double):it.unibo.osmos.redux.ecs.entities.CellBuilder", "kind" : "def"}, {"label" : "withPosition", "tail" : "(position: PositionComponent): CellBuilder", "member" : "it.unibo.osmos.redux.ecs.entities.CellBuilder.withPosition", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellBuilder.html#withPosition(position:it.unibo.osmos.redux.ecs.components.PositionComponent):it.unibo.osmos.redux.ecs.entities.CellBuilder", "kind" : "def"}, {"label" : "withPosition", "tail" : "(position: Point): CellBuilder", "member" : "it.unibo.osmos.redux.ecs.entities.CellBuilder.withPosition", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellBuilder.html#withPosition(position:it.unibo.osmos.redux.utils.Point):it.unibo.osmos.redux.ecs.entities.CellBuilder", "kind" : "def"}, {"label" : "withPosition", "tail" : "(x: Double, y: Double): CellBuilder", "member" : "it.unibo.osmos.redux.ecs.entities.CellBuilder.withPosition", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellBuilder.html#withPosition(x:Double,y:Double):it.unibo.osmos.redux.ecs.entities.CellBuilder", "kind" : "def"}, {"label" : "withDimension", "tail" : "(dimension: DimensionComponent): CellBuilder", "member" : "it.unibo.osmos.redux.ecs.entities.CellBuilder.withDimension", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellBuilder.html#withDimension(dimension:it.unibo.osmos.redux.ecs.components.DimensionComponent):it.unibo.osmos.redux.ecs.entities.CellBuilder", "kind" : "def"}, {"label" : "withDimension", "tail" : "(dimension: Double): CellBuilder", "member" : "it.unibo.osmos.redux.ecs.entities.CellBuilder.withDimension", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellBuilder.html#withDimension(dimension:Double):it.unibo.osmos.redux.ecs.entities.CellBuilder", "kind" : "def"}, {"label" : "withAcceleration", "tail" : "(acceleration: AccelerationComponent): CellBuilder", "member" : "it.unibo.osmos.redux.ecs.entities.CellBuilder.withAcceleration", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellBuilder.html#withAcceleration(acceleration:it.unibo.osmos.redux.ecs.components.AccelerationComponent):it.unibo.osmos.redux.ecs.entities.CellBuilder", "kind" : "def"}, {"label" : "withAcceleration", "tail" : "(x: Double, y: Double): CellBuilder", "member" : "it.unibo.osmos.redux.ecs.entities.CellBuilder.withAcceleration", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellBuilder.html#withAcceleration(x:Double,y:Double):it.unibo.osmos.redux.ecs.entities.CellBuilder", "kind" : "def"}, {"label" : "visible", "tail" : "(visible: Boolean): CellBuilder", "member" : "it.unibo.osmos.redux.ecs.entities.CellBuilder.visible", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellBuilder.html#visible(visible:Boolean):it.unibo.osmos.redux.ecs.entities.CellBuilder", "kind" : "def"}, {"label" : "collidable", "tail" : "(collidable: Boolean): CellBuilder", "member" : "it.unibo.osmos.redux.ecs.entities.CellBuilder.collidable", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellBuilder.html#collidable(collidable:Boolean):it.unibo.osmos.redux.ecs.entities.CellBuilder", "kind" : "def"}, {"member" : "it.unibo.osmos.redux.ecs.entities.CellBuilder#", "error" : "unsupported entity"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellBuilder.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellBuilder.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellBuilder.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellBuilder.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellBuilder.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellBuilder.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellBuilder.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellBuilder.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellBuilder.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellBuilder.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellBuilder.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellBuilder.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellBuilder.html#clone():Object", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellBuilder.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellBuilder.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellBuilder.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "case class" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellBuilder.html", "kind" : "case class"}, {"name" : "it.unibo.osmos.redux.ecs.entities.CellEntity", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "getVisibleComponent", "tail" : "(): VisibleComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Visible.getVisibleComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity.html#getVisibleComponent:it.unibo.osmos.redux.ecs.components.VisibleComponent", "kind" : "abstract def"}, {"label" : "getTypeComponent", "tail" : "(): TypeComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Type.getTypeComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity.html#getTypeComponent:it.unibo.osmos.redux.ecs.components.TypeComponent", "kind" : "abstract def"}, {"label" : "getCollidableComponent", "tail" : "(): CollidableComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Collidable.getCollidableComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity.html#getCollidableComponent:it.unibo.osmos.redux.ecs.components.CollidableComponent", "kind" : "abstract def"}, {"label" : "getDimensionComponent", "tail" : "(): DimensionComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Dimension.getDimensionComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity.html#getDimensionComponent:it.unibo.osmos.redux.ecs.components.DimensionComponent", "kind" : "abstract def"}, {"label" : "getSpeedComponent", "tail" : "(): SpeedComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Speed.getSpeedComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity.html#getSpeedComponent:it.unibo.osmos.redux.ecs.components.SpeedComponent", "kind" : "abstract def"}, {"label" : "getPositionComponent", "tail" : "(): PositionComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Position.getPositionComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity.html#getPositionComponent:it.unibo.osmos.redux.ecs.components.PositionComponent", "kind" : "abstract def"}, {"label" : "getAccelerationComponent", "tail" : "(): AccelerationComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Acceleration.getAccelerationComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity.html#getAccelerationComponent:it.unibo.osmos.redux.ecs.components.AccelerationComponent", "kind" : "abstract def"}, {"label" : "getUUID", "tail" : "(): UUID", "member" : "it.unibo.osmos.redux.ecs.entities.AbstractEntity.getUUID", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity.html#getUUID:java.util.UUID", "kind" : "abstract def"}], "shortDescription" : "Trait representing a CellEntity", "object" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity$.html", "members_object" : [{"label" : "apply", "tail" : "(builder: CellBuilder): CellEntity", "member" : "it.unibo.osmos.redux.ecs.entities.CellEntity.apply", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity$.html#apply(builder:it.unibo.osmos.redux.ecs.entities.CellBuilder):it.unibo.osmos.redux.ecs.entities.CellEntity", "kind" : "def"}, {"label" : "apply", "tail" : "(acceleration: AccelerationComponent, collidable: CollidableComponent, dimension: DimensionComponent, position: PositionComponent, speed: SpeedComponent, visible: VisibleComponent, typeEntity: TypeComponent): CellEntity", "member" : "it.unibo.osmos.redux.ecs.entities.CellEntity.apply", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity$.html#apply(acceleration:it.unibo.osmos.redux.ecs.components.AccelerationComponent,collidable:it.unibo.osmos.redux.ecs.components.CollidableComponent,dimension:it.unibo.osmos.redux.ecs.components.DimensionComponent,position:it.unibo.osmos.redux.ecs.components.PositionComponent,speed:it.unibo.osmos.redux.ecs.components.SpeedComponent,visible:it.unibo.osmos.redux.ecs.components.VisibleComponent,typeEntity:it.unibo.osmos.redux.ecs.components.TypeComponent):it.unibo.osmos.redux.ecs.entities.CellEntity", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity$.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity$.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "trait" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CellEntity.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.entities.Collidable", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Collidable.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Collidable.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Collidable.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Collidable.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Collidable.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Collidable.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Collidable.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Collidable.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Collidable.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Collidable.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Collidable.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Collidable.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Collidable.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Collidable.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Collidable.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Collidable.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Collidable.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Collidable.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Collidable.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "getCollidableComponent", "tail" : "(): CollidableComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Collidable.getCollidableComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Collidable.html#getCollidableComponent:it.unibo.osmos.redux.ecs.components.CollidableComponent", "kind" : "abstract def"}], "shortDescription" : "Trait representing the entity's collidable property", "trait" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Collidable.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.entities.CollidableProperty", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CollidableProperty.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CollidableProperty.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CollidableProperty.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CollidableProperty.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CollidableProperty.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CollidableProperty.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CollidableProperty.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CollidableProperty.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CollidableProperty.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CollidableProperty.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CollidableProperty.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CollidableProperty.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CollidableProperty.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CollidableProperty.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CollidableProperty.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CollidableProperty.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CollidableProperty.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CollidableProperty.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CollidableProperty.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "getTypeComponent", "tail" : "(): TypeComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Type.getTypeComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CollidableProperty.html#getTypeComponent:it.unibo.osmos.redux.ecs.components.TypeComponent", "kind" : "abstract def"}, {"label" : "getAccelerationComponent", "tail" : "(): AccelerationComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Acceleration.getAccelerationComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CollidableProperty.html#getAccelerationComponent:it.unibo.osmos.redux.ecs.components.AccelerationComponent", "kind" : "abstract def"}, {"label" : "getCollidableComponent", "tail" : "(): CollidableComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Collidable.getCollidableComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CollidableProperty.html#getCollidableComponent:it.unibo.osmos.redux.ecs.components.CollidableComponent", "kind" : "abstract def"}, {"label" : "getSpeedComponent", "tail" : "(): SpeedComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Speed.getSpeedComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CollidableProperty.html#getSpeedComponent:it.unibo.osmos.redux.ecs.components.SpeedComponent", "kind" : "abstract def"}, {"label" : "getDimensionComponent", "tail" : "(): DimensionComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Dimension.getDimensionComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CollidableProperty.html#getDimensionComponent:it.unibo.osmos.redux.ecs.components.DimensionComponent", "kind" : "abstract def"}, {"label" : "getPositionComponent", "tail" : "(): PositionComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Position.getPositionComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CollidableProperty.html#getPositionComponent:it.unibo.osmos.redux.ecs.components.PositionComponent", "kind" : "abstract def"}], "shortDescription" : "Trait representing the properties needed by an entity to be collidable", "trait" : "it\/unibo\/osmos\/redux\/ecs\/entities\/CollidableProperty.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.entities.DeathProperty", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DeathProperty.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DeathProperty.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DeathProperty.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DeathProperty.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DeathProperty.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DeathProperty.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DeathProperty.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DeathProperty.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DeathProperty.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DeathProperty.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DeathProperty.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DeathProperty.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DeathProperty.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DeathProperty.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DeathProperty.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DeathProperty.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DeathProperty.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DeathProperty.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DeathProperty.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "getTypeComponent", "tail" : "(): TypeComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Type.getTypeComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DeathProperty.html#getTypeComponent:it.unibo.osmos.redux.ecs.components.TypeComponent", "kind" : "abstract def"}, {"label" : "getDimensionComponent", "tail" : "(): DimensionComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Dimension.getDimensionComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DeathProperty.html#getDimensionComponent:it.unibo.osmos.redux.ecs.components.DimensionComponent", "kind" : "abstract def"}], "shortDescription" : "Trait representing the properties needed by an entity to be no longer alive", "trait" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DeathProperty.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.entities.Dimension", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Dimension.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Dimension.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Dimension.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Dimension.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Dimension.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Dimension.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Dimension.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Dimension.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Dimension.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Dimension.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Dimension.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Dimension.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Dimension.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Dimension.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Dimension.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Dimension.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Dimension.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Dimension.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Dimension.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "getDimensionComponent", "tail" : "(): DimensionComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Dimension.getDimensionComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Dimension.html#getDimensionComponent:it.unibo.osmos.redux.ecs.components.DimensionComponent", "kind" : "abstract def"}], "shortDescription" : "Trait representing the entity's dimension property", "trait" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Dimension.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.entities.DrawableProperty", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DrawableProperty.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DrawableProperty.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DrawableProperty.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DrawableProperty.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DrawableProperty.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DrawableProperty.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DrawableProperty.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DrawableProperty.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DrawableProperty.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DrawableProperty.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DrawableProperty.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DrawableProperty.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DrawableProperty.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DrawableProperty.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DrawableProperty.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DrawableProperty.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DrawableProperty.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DrawableProperty.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DrawableProperty.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "getSpeedComponent", "tail" : "(): SpeedComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Speed.getSpeedComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DrawableProperty.html#getSpeedComponent:it.unibo.osmos.redux.ecs.components.SpeedComponent", "kind" : "abstract def"}, {"label" : "getTypeComponent", "tail" : "(): TypeComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Type.getTypeComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DrawableProperty.html#getTypeComponent:it.unibo.osmos.redux.ecs.components.TypeComponent", "kind" : "abstract def"}, {"label" : "getVisibleComponent", "tail" : "(): VisibleComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Visible.getVisibleComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DrawableProperty.html#getVisibleComponent:it.unibo.osmos.redux.ecs.components.VisibleComponent", "kind" : "abstract def"}, {"label" : "getDimensionComponent", "tail" : "(): DimensionComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Dimension.getDimensionComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DrawableProperty.html#getDimensionComponent:it.unibo.osmos.redux.ecs.components.DimensionComponent", "kind" : "abstract def"}, {"label" : "getPositionComponent", "tail" : "(): PositionComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Position.getPositionComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DrawableProperty.html#getPositionComponent:it.unibo.osmos.redux.ecs.components.PositionComponent", "kind" : "abstract def"}], "shortDescription" : "Trait representing the properties needed by an entity to be drawable", "trait" : "it\/unibo\/osmos\/redux\/ecs\/entities\/DrawableProperty.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.entities.EMEvents", "shortDescription" : "EntityManager events", "object" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EMEvents$.html", "members_object" : [{"label" : "EntityDeleted", "tail" : "", "member" : "it.unibo.osmos.redux.ecs.entities.EMEvents.EntityDeleted", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EMEvents$.html#EntityDeletedextendsEMEvents.EntityManagerEventwithProductwithSerializable", "kind" : "case class"}, {"label" : "EntityCreated", "tail" : "", "member" : "it.unibo.osmos.redux.ecs.entities.EMEvents.EntityCreated", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EMEvents$.html#EntityCreatedextendsEMEvents.EntityManagerEventwithProductwithSerializable", "kind" : "case class"}, {"label" : "EntityManagerEvent", "tail" : "", "member" : "it.unibo.osmos.redux.ecs.entities.EMEvents.EntityManagerEvent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EMEvents$.html#EntityManagerEventextendsAnyRef", "kind" : "sealed trait"}, {"label" : "entityDeleted", "tail" : "(entity: Property): EntityDeleted", "member" : "it.unibo.osmos.redux.ecs.entities.EMEvents.entityDeleted", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EMEvents$.html#entityDeleted(entity:it.unibo.osmos.redux.ecs.entities.Property):it.unibo.osmos.redux.ecs.entities.EMEvents.EntityDeleted", "kind" : "def"}, {"label" : "entityCreated", "tail" : "(entity: Property): EntityCreated", "member" : "it.unibo.osmos.redux.ecs.entities.EMEvents.entityCreated", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EMEvents$.html#entityCreated(entity:it.unibo.osmos.redux.ecs.entities.Property):it.unibo.osmos.redux.ecs.entities.EMEvents.EntityCreated", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EMEvents$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EMEvents$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EMEvents$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EMEvents$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EMEvents$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EMEvents$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EMEvents$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EMEvents$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EMEvents$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EMEvents$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EMEvents$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EMEvents$.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EMEvents$.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EMEvents$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EMEvents$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EMEvents$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EMEvents$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EMEvents$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EMEvents$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "kind" : "object"}, {"name" : "it.unibo.osmos.redux.ecs.entities.EntityManager", "members_trait" : [{"label" : "ObserverEntry", "tail" : "", "member" : "it.unibo.osmos.redux.ecs.entities.EntityManager.ObserverEntry", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager.html#ObserverEntry=(it.unibo.osmos.redux.ecs.entities.Observer,EntityManager.this.ManagedEntity)", "kind" : "type"}, {"label" : "ManagedEntity", "tail" : "", "member" : "it.unibo.osmos.redux.ecs.entities.EntityManager.ManagedEntity", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager.html#ManagedEntity=Class[_<:it.unibo.osmos.redux.ecs.entities.Property]", "kind" : "type"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "clear", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.ecs.entities.EntityManager.clear", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager.html#clear():Unit", "kind" : "abstract def"}, {"label" : "filterEntities", "tail" : "(entityInterface: ManagedEntity): List[Property]", "member" : "it.unibo.osmos.redux.ecs.entities.EntityManager.filterEntities", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager.html#filterEntities(entityInterface:EntityManager.this.ManagedEntity):List[it.unibo.osmos.redux.ecs.entities.Property]", "kind" : "abstract def"}, {"label" : "delete", "tail" : "(entity: Property): Unit", "member" : "it.unibo.osmos.redux.ecs.entities.EntityManager.delete", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager.html#delete(entity:it.unibo.osmos.redux.ecs.entities.Property):Unit", "kind" : "abstract def"}, {"label" : "add", "tail" : "(entity: Property): Unit", "member" : "it.unibo.osmos.redux.ecs.entities.EntityManager.add", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager.html#add(entity:it.unibo.osmos.redux.ecs.entities.Property):Unit", "kind" : "abstract def"}], "shortDescription" : "Define the methods for manage an entities collection", "object" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager$.html", "members_object" : [{"label" : "clear", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.ecs.entities.EntityManager.clear", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager$.html#clear():Unit", "kind" : "def"}, {"label" : "filterEntities", "tail" : "(entityInterface: ManagedEntity): List[Property]", "member" : "it.unibo.osmos.redux.ecs.entities.EntityManager.filterEntities", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager$.html#filterEntities(entityInterface:it.unibo.osmos.redux.ecs.entities.EntityManager.ManagedEntity):List[it.unibo.osmos.redux.ecs.entities.Property]", "kind" : "def"}, {"label" : "subscribe", "tail" : "(observer: Observer, managedEntities: ManagedEntity): Unit", "member" : "it.unibo.osmos.redux.ecs.entities.EntityManager.subscribe", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager$.html#subscribe(observer:it.unibo.osmos.redux.ecs.entities.Observer,managedEntities:it.unibo.osmos.redux.ecs.entities.EntityManager.ManagedEntity):Unit", "kind" : "def"}, {"label" : "delete", "tail" : "(entity: Property): Unit", "member" : "it.unibo.osmos.redux.ecs.entities.EntityManager.delete", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager$.html#delete(entity:it.unibo.osmos.redux.ecs.entities.Property):Unit", "kind" : "def"}, {"label" : "add", "tail" : "(entity: Property): Unit", "member" : "it.unibo.osmos.redux.ecs.entities.EntityManager.add", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager$.html#add(entity:it.unibo.osmos.redux.ecs.entities.Property):Unit", "kind" : "def"}, {"label" : "extendsInterface", "tail" : "(ent: Property, entityInt: ManagedEntity): Boolean", "member" : "it.unibo.osmos.redux.ecs.entities.EntityManager.extendsInterface", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager$.html#extendsInterface(ent:it.unibo.osmos.redux.ecs.entities.Property,entityInt:it.unibo.osmos.redux.ecs.entities.EntityManager.ManagedEntity):Boolean", "kind" : "def"}, {"label" : "getInterfaces", "tail" : "(entity: Property): List[Class[_]]", "member" : "it.unibo.osmos.redux.ecs.entities.EntityManager.getInterfaces", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager$.html#getInterfaces(entity:it.unibo.osmos.redux.ecs.entities.Property):List[Class[_]]", "kind" : "def"}, {"label" : "ObserverEntry", "tail" : "", "member" : "it.unibo.osmos.redux.ecs.entities.EntityManager.ObserverEntry", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager$.html#ObserverEntry=(it.unibo.osmos.redux.ecs.entities.Observer,EntityManager.this.ManagedEntity)", "kind" : "type"}, {"label" : "ManagedEntity", "tail" : "", "member" : "it.unibo.osmos.redux.ecs.entities.EntityManager.ManagedEntity", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager$.html#ManagedEntity=Class[_<:it.unibo.osmos.redux.ecs.entities.Property]", "kind" : "type"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager$.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager$.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "trait" : "it\/unibo\/osmos\/redux\/ecs\/entities\/EntityManager.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.entities.GravityCellEntity", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "getSpecificWeightComponent", "tail" : "(): SpecificWeightComponent", "member" : "it.unibo.osmos.redux.ecs.entities.SpecificWeight.getSpecificWeightComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity.html#getSpecificWeightComponent:it.unibo.osmos.redux.ecs.components.SpecificWeightComponent", "kind" : "abstract def"}, {"label" : "getMassComponent", "tail" : "(): MassComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Mass.getMassComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity.html#getMassComponent:it.unibo.osmos.redux.ecs.components.MassComponent", "kind" : "abstract def"}, {"label" : "getVisibleComponent", "tail" : "(): VisibleComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Visible.getVisibleComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity.html#getVisibleComponent:it.unibo.osmos.redux.ecs.components.VisibleComponent", "kind" : "abstract def"}, {"label" : "getTypeComponent", "tail" : "(): TypeComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Type.getTypeComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity.html#getTypeComponent:it.unibo.osmos.redux.ecs.components.TypeComponent", "kind" : "abstract def"}, {"label" : "getCollidableComponent", "tail" : "(): CollidableComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Collidable.getCollidableComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity.html#getCollidableComponent:it.unibo.osmos.redux.ecs.components.CollidableComponent", "kind" : "abstract def"}, {"label" : "getDimensionComponent", "tail" : "(): DimensionComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Dimension.getDimensionComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity.html#getDimensionComponent:it.unibo.osmos.redux.ecs.components.DimensionComponent", "kind" : "abstract def"}, {"label" : "getSpeedComponent", "tail" : "(): SpeedComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Speed.getSpeedComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity.html#getSpeedComponent:it.unibo.osmos.redux.ecs.components.SpeedComponent", "kind" : "abstract def"}, {"label" : "getPositionComponent", "tail" : "(): PositionComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Position.getPositionComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity.html#getPositionComponent:it.unibo.osmos.redux.ecs.components.PositionComponent", "kind" : "abstract def"}, {"label" : "getAccelerationComponent", "tail" : "(): AccelerationComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Acceleration.getAccelerationComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity.html#getAccelerationComponent:it.unibo.osmos.redux.ecs.components.AccelerationComponent", "kind" : "abstract def"}, {"label" : "getUUID", "tail" : "(): UUID", "member" : "it.unibo.osmos.redux.ecs.entities.AbstractEntity.getUUID", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity.html#getUUID:java.util.UUID", "kind" : "abstract def"}], "shortDescription" : "Trait representing a CellEntity with gravity force", "object" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity$.html", "members_object" : [{"label" : "apply", "tail" : "(cell: CellEntity, specificWeight: SpecificWeightComponent): GravityCellEntity", "member" : "it.unibo.osmos.redux.ecs.entities.GravityCellEntity.apply", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity$.html#apply(cell:it.unibo.osmos.redux.ecs.entities.CellEntity,specificWeight:it.unibo.osmos.redux.ecs.components.SpecificWeightComponent):it.unibo.osmos.redux.ecs.entities.GravityCellEntity", "kind" : "def"}, {"label" : "apply", "tail" : "(acceleration: AccelerationComponent, collidable: CollidableComponent, dimension: DimensionComponent, position: PositionComponent, speed: SpeedComponent, visible: VisibleComponent, typeEntity: TypeComponent, specificWeight: SpecificWeightComponent): GravityCellEntity", "member" : "it.unibo.osmos.redux.ecs.entities.GravityCellEntity.apply", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity$.html#apply(acceleration:it.unibo.osmos.redux.ecs.components.AccelerationComponent,collidable:it.unibo.osmos.redux.ecs.components.CollidableComponent,dimension:it.unibo.osmos.redux.ecs.components.DimensionComponent,position:it.unibo.osmos.redux.ecs.components.PositionComponent,speed:it.unibo.osmos.redux.ecs.components.SpeedComponent,visible:it.unibo.osmos.redux.ecs.components.VisibleComponent,typeEntity:it.unibo.osmos.redux.ecs.components.TypeComponent,specificWeight:it.unibo.osmos.redux.ecs.components.SpecificWeightComponent):it.unibo.osmos.redux.ecs.entities.GravityCellEntity", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity$.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity$.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "trait" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityCellEntity.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.entities.GravityProperty", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityProperty.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityProperty.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityProperty.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityProperty.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityProperty.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityProperty.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityProperty.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityProperty.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityProperty.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityProperty.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityProperty.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityProperty.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityProperty.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityProperty.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityProperty.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityProperty.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityProperty.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityProperty.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityProperty.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "getTypeComponent", "tail" : "(): TypeComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Type.getTypeComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityProperty.html#getTypeComponent:it.unibo.osmos.redux.ecs.components.TypeComponent", "kind" : "abstract def"}, {"label" : "getMassComponent", "tail" : "(): MassComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Mass.getMassComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityProperty.html#getMassComponent:it.unibo.osmos.redux.ecs.components.MassComponent", "kind" : "abstract def"}, {"label" : "getPositionComponent", "tail" : "(): PositionComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Position.getPositionComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityProperty.html#getPositionComponent:it.unibo.osmos.redux.ecs.components.PositionComponent", "kind" : "abstract def"}], "shortDescription" : "Trait representing the properties needed by an entity to exercise gravitational forces", "trait" : "it\/unibo\/osmos\/redux\/ecs\/entities\/GravityProperty.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.entities.InputProperty", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/InputProperty.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/InputProperty.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/InputProperty.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/InputProperty.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/InputProperty.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/InputProperty.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/InputProperty.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/InputProperty.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/InputProperty.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/InputProperty.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/InputProperty.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/InputProperty.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/InputProperty.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/InputProperty.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/InputProperty.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/InputProperty.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/InputProperty.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/InputProperty.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/InputProperty.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "getDimensionComponent", "tail" : "(): DimensionComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Dimension.getDimensionComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/InputProperty.html#getDimensionComponent:it.unibo.osmos.redux.ecs.components.DimensionComponent", "kind" : "abstract def"}, {"label" : "getSpawnerComponent", "tail" : "(): SpawnerComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Spawner.getSpawnerComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/InputProperty.html#getSpawnerComponent:it.unibo.osmos.redux.ecs.components.SpawnerComponent", "kind" : "abstract def"}, {"label" : "getAccelerationComponent", "tail" : "(): AccelerationComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Acceleration.getAccelerationComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/InputProperty.html#getAccelerationComponent:it.unibo.osmos.redux.ecs.components.AccelerationComponent", "kind" : "abstract def"}, {"label" : "getSpeedComponent", "tail" : "(): SpeedComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Speed.getSpeedComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/InputProperty.html#getSpeedComponent:it.unibo.osmos.redux.ecs.components.SpeedComponent", "kind" : "abstract def"}, {"label" : "getPositionComponent", "tail" : "(): PositionComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Position.getPositionComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/InputProperty.html#getPositionComponent:it.unibo.osmos.redux.ecs.components.PositionComponent", "kind" : "abstract def"}], "shortDescription" : "Trait representing the properties needed by an entity to handle input", "trait" : "it\/unibo\/osmos\/redux\/ecs\/entities\/InputProperty.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.entities.Mass", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Mass.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Mass.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Mass.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Mass.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Mass.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Mass.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Mass.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Mass.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Mass.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Mass.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Mass.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Mass.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Mass.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Mass.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Mass.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Mass.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Mass.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Mass.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Mass.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "getMassComponent", "tail" : "(): MassComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Mass.getMassComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Mass.html#getMassComponent:it.unibo.osmos.redux.ecs.components.MassComponent", "kind" : "abstract def"}], "shortDescription" : "Trait representing the entity's mass property", "trait" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Mass.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.entities.MovableProperty", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/MovableProperty.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/MovableProperty.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/MovableProperty.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/MovableProperty.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/MovableProperty.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/MovableProperty.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/MovableProperty.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/MovableProperty.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/MovableProperty.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/MovableProperty.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/MovableProperty.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/MovableProperty.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/MovableProperty.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/MovableProperty.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/MovableProperty.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/MovableProperty.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/MovableProperty.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/MovableProperty.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/MovableProperty.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "getDimensionComponent", "tail" : "(): DimensionComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Dimension.getDimensionComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/MovableProperty.html#getDimensionComponent:it.unibo.osmos.redux.ecs.components.DimensionComponent", "kind" : "abstract def"}, {"label" : "getSpeedComponent", "tail" : "(): SpeedComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Speed.getSpeedComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/MovableProperty.html#getSpeedComponent:it.unibo.osmos.redux.ecs.components.SpeedComponent", "kind" : "abstract def"}, {"label" : "getPositionComponent", "tail" : "(): PositionComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Position.getPositionComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/MovableProperty.html#getPositionComponent:it.unibo.osmos.redux.ecs.components.PositionComponent", "kind" : "abstract def"}, {"label" : "getAccelerationComponent", "tail" : "(): AccelerationComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Acceleration.getAccelerationComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/MovableProperty.html#getAccelerationComponent:it.unibo.osmos.redux.ecs.components.AccelerationComponent", "kind" : "abstract def"}], "shortDescription" : "Trait representing the properties needed by an entity to be movable", "trait" : "it\/unibo\/osmos\/redux\/ecs\/entities\/MovableProperty.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.entities.Observable", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observable.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observable.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observable.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observable.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observable.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observable.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observable.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observable.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observable.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observable.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observable.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observable.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observable.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observable.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observable.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observable.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observable.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observable.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observable.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "subscribe", "tail" : "(observer: Observer, managedEntities: EntityManager.ManagedEntity): Unit", "member" : "it.unibo.osmos.redux.ecs.entities.Observable.subscribe", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observable.html#subscribe(observer:it.unibo.osmos.redux.ecs.entities.Observer,managedEntities:it.unibo.osmos.redux.ecs.entities.EntityManager.ManagedEntity):Unit", "kind" : "abstract def"}], "shortDescription" : "Define an observable interface for entity manager", "trait" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observable.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.entities.Observer", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observer.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observer.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observer.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observer.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observer.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observer.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observer.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observer.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observer.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observer.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observer.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observer.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observer.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observer.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observer.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observer.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observer.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observer.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observer.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "notify", "tail" : "(event: EntityManagerEvent): Unit", "member" : "it.unibo.osmos.redux.ecs.entities.Observer.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observer.html#notify(event:it.unibo.osmos.redux.ecs.entities.EMEvents.EntityManagerEvent):Unit", "kind" : "abstract def"}], "shortDescription" : "Define an Observer interface for entity manager", "trait" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Observer.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.entities.PlayerCellEntity", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "getSpawnerComponent", "tail" : "(): SpawnerComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Spawner.getSpawnerComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity.html#getSpawnerComponent:it.unibo.osmos.redux.ecs.components.SpawnerComponent", "kind" : "abstract def"}, {"label" : "getVisibleComponent", "tail" : "(): VisibleComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Visible.getVisibleComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity.html#getVisibleComponent:it.unibo.osmos.redux.ecs.components.VisibleComponent", "kind" : "abstract def"}, {"label" : "getTypeComponent", "tail" : "(): TypeComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Type.getTypeComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity.html#getTypeComponent:it.unibo.osmos.redux.ecs.components.TypeComponent", "kind" : "abstract def"}, {"label" : "getCollidableComponent", "tail" : "(): CollidableComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Collidable.getCollidableComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity.html#getCollidableComponent:it.unibo.osmos.redux.ecs.components.CollidableComponent", "kind" : "abstract def"}, {"label" : "getDimensionComponent", "tail" : "(): DimensionComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Dimension.getDimensionComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity.html#getDimensionComponent:it.unibo.osmos.redux.ecs.components.DimensionComponent", "kind" : "abstract def"}, {"label" : "getSpeedComponent", "tail" : "(): SpeedComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Speed.getSpeedComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity.html#getSpeedComponent:it.unibo.osmos.redux.ecs.components.SpeedComponent", "kind" : "abstract def"}, {"label" : "getPositionComponent", "tail" : "(): PositionComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Position.getPositionComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity.html#getPositionComponent:it.unibo.osmos.redux.ecs.components.PositionComponent", "kind" : "abstract def"}, {"label" : "getAccelerationComponent", "tail" : "(): AccelerationComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Acceleration.getAccelerationComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity.html#getAccelerationComponent:it.unibo.osmos.redux.ecs.components.AccelerationComponent", "kind" : "abstract def"}, {"label" : "getUUID", "tail" : "(): UUID", "member" : "it.unibo.osmos.redux.ecs.entities.AbstractEntity.getUUID", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity.html#getUUID:java.util.UUID", "kind" : "abstract def"}], "shortDescription" : "Trait representing a CellEntity controllable by the player", "object" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity$.html", "members_object" : [{"label" : "apply", "tail" : "(builder: CellBuilder, spawner: SpawnerComponent): PlayerCellEntity", "member" : "it.unibo.osmos.redux.ecs.entities.PlayerCellEntity.apply", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity$.html#apply(builder:it.unibo.osmos.redux.ecs.entities.CellBuilder,spawner:it.unibo.osmos.redux.ecs.components.SpawnerComponent):it.unibo.osmos.redux.ecs.entities.PlayerCellEntity", "kind" : "def"}, {"label" : "apply", "tail" : "(cell: CellEntity, spawner: SpawnerComponent): PlayerCellEntity", "member" : "it.unibo.osmos.redux.ecs.entities.PlayerCellEntity.apply", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity$.html#apply(cell:it.unibo.osmos.redux.ecs.entities.CellEntity,spawner:it.unibo.osmos.redux.ecs.components.SpawnerComponent):it.unibo.osmos.redux.ecs.entities.PlayerCellEntity", "kind" : "def"}, {"label" : "apply", "tail" : "(acceleration: AccelerationComponent, collidable: CollidableComponent, dimension: DimensionComponent, position: PositionComponent, speed: SpeedComponent, visible: VisibleComponent, typeEntity: TypeComponent, spawner: SpawnerComponent): PlayerCellEntity", "member" : "it.unibo.osmos.redux.ecs.entities.PlayerCellEntity.apply", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity$.html#apply(acceleration:it.unibo.osmos.redux.ecs.components.AccelerationComponent,collidable:it.unibo.osmos.redux.ecs.components.CollidableComponent,dimension:it.unibo.osmos.redux.ecs.components.DimensionComponent,position:it.unibo.osmos.redux.ecs.components.PositionComponent,speed:it.unibo.osmos.redux.ecs.components.SpeedComponent,visible:it.unibo.osmos.redux.ecs.components.VisibleComponent,typeEntity:it.unibo.osmos.redux.ecs.components.TypeComponent,spawner:it.unibo.osmos.redux.ecs.components.SpawnerComponent):it.unibo.osmos.redux.ecs.entities.PlayerCellEntity", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity$.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity$.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "trait" : "it\/unibo\/osmos\/redux\/ecs\/entities\/PlayerCellEntity.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.entities.Position", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Position.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Position.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Position.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Position.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Position.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Position.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Position.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Position.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Position.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Position.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Position.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Position.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Position.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Position.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Position.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Position.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Position.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Position.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Position.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "getPositionComponent", "tail" : "(): PositionComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Position.getPositionComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Position.html#getPositionComponent:it.unibo.osmos.redux.ecs.components.PositionComponent", "kind" : "abstract def"}], "shortDescription" : "Trait representing the entity's position property", "trait" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Position.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.entities.Property", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Property.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Property.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Property.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Property.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Property.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Property.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Property.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Property.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Property.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Property.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Property.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Property.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Property.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Property.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Property.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Property.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Property.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Property.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Property.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "shortDescription" : "Property base trait", "trait" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Property.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.entities.SentientCellEntity", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "getVisibleComponent", "tail" : "(): VisibleComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Visible.getVisibleComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity.html#getVisibleComponent:it.unibo.osmos.redux.ecs.components.VisibleComponent", "kind" : "abstract def"}, {"label" : "getTypeComponent", "tail" : "(): TypeComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Type.getTypeComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity.html#getTypeComponent:it.unibo.osmos.redux.ecs.components.TypeComponent", "kind" : "abstract def"}, {"label" : "getCollidableComponent", "tail" : "(): CollidableComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Collidable.getCollidableComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity.html#getCollidableComponent:it.unibo.osmos.redux.ecs.components.CollidableComponent", "kind" : "abstract def"}, {"label" : "getDimensionComponent", "tail" : "(): DimensionComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Dimension.getDimensionComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity.html#getDimensionComponent:it.unibo.osmos.redux.ecs.components.DimensionComponent", "kind" : "abstract def"}, {"label" : "getSpeedComponent", "tail" : "(): SpeedComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Speed.getSpeedComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity.html#getSpeedComponent:it.unibo.osmos.redux.ecs.components.SpeedComponent", "kind" : "abstract def"}, {"label" : "getPositionComponent", "tail" : "(): PositionComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Position.getPositionComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity.html#getPositionComponent:it.unibo.osmos.redux.ecs.components.PositionComponent", "kind" : "abstract def"}, {"label" : "getAccelerationComponent", "tail" : "(): AccelerationComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Acceleration.getAccelerationComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity.html#getAccelerationComponent:it.unibo.osmos.redux.ecs.components.AccelerationComponent", "kind" : "abstract def"}, {"label" : "getUUID", "tail" : "(): UUID", "member" : "it.unibo.osmos.redux.ecs.entities.AbstractEntity.getUUID", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity.html#getUUID:java.util.UUID", "kind" : "abstract def"}], "shortDescription" : "Trait representing a sentient cell", "object" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity$.html", "members_object" : [{"label" : "apply", "tail" : "(acceleration: AccelerationComponent, collidable: CollidableComponent, dimension: DimensionComponent, position: PositionComponent, speed: SpeedComponent, visible: VisibleComponent): SentientCellEntity", "member" : "it.unibo.osmos.redux.ecs.entities.SentientCellEntity.apply", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity$.html#apply(acceleration:it.unibo.osmos.redux.ecs.components.AccelerationComponent,collidable:it.unibo.osmos.redux.ecs.components.CollidableComponent,dimension:it.unibo.osmos.redux.ecs.components.DimensionComponent,position:it.unibo.osmos.redux.ecs.components.PositionComponent,speed:it.unibo.osmos.redux.ecs.components.SpeedComponent,visible:it.unibo.osmos.redux.ecs.components.VisibleComponent):it.unibo.osmos.redux.ecs.entities.SentientCellEntity", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity$.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity$.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "trait" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientCellEntity.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.entities.SentientEnemyProperty", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientEnemyProperty.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientEnemyProperty.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientEnemyProperty.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientEnemyProperty.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientEnemyProperty.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientEnemyProperty.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientEnemyProperty.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientEnemyProperty.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientEnemyProperty.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientEnemyProperty.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientEnemyProperty.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientEnemyProperty.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientEnemyProperty.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientEnemyProperty.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientEnemyProperty.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientEnemyProperty.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientEnemyProperty.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientEnemyProperty.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientEnemyProperty.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "getTypeComponent", "tail" : "(): TypeComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Type.getTypeComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientEnemyProperty.html#getTypeComponent:it.unibo.osmos.redux.ecs.components.TypeComponent", "kind" : "abstract def"}, {"label" : "getDimensionComponent", "tail" : "(): DimensionComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Dimension.getDimensionComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientEnemyProperty.html#getDimensionComponent:it.unibo.osmos.redux.ecs.components.DimensionComponent", "kind" : "abstract def"}, {"label" : "getSpeedComponent", "tail" : "(): SpeedComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Speed.getSpeedComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientEnemyProperty.html#getSpeedComponent:it.unibo.osmos.redux.ecs.components.SpeedComponent", "kind" : "abstract def"}, {"label" : "getPositionComponent", "tail" : "(): PositionComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Position.getPositionComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientEnemyProperty.html#getPositionComponent:it.unibo.osmos.redux.ecs.components.PositionComponent", "kind" : "abstract def"}], "shortDescription" : "Trait representing the properties needed by an entityto be seen as an enemy by the sentient cells", "trait" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientEnemyProperty.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.entities.SentientProperty", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientProperty.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientProperty.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientProperty.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientProperty.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientProperty.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientProperty.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientProperty.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientProperty.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientProperty.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientProperty.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientProperty.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientProperty.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientProperty.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientProperty.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientProperty.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientProperty.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientProperty.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientProperty.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientProperty.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "getDimensionComponent", "tail" : "(): DimensionComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Dimension.getDimensionComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientProperty.html#getDimensionComponent:it.unibo.osmos.redux.ecs.components.DimensionComponent", "kind" : "abstract def"}, {"label" : "getAccelerationComponent", "tail" : "(): AccelerationComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Acceleration.getAccelerationComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientProperty.html#getAccelerationComponent:it.unibo.osmos.redux.ecs.components.AccelerationComponent", "kind" : "abstract def"}, {"label" : "getSpeedComponent", "tail" : "(): SpeedComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Speed.getSpeedComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientProperty.html#getSpeedComponent:it.unibo.osmos.redux.ecs.components.SpeedComponent", "kind" : "abstract def"}, {"label" : "getPositionComponent", "tail" : "(): PositionComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Position.getPositionComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientProperty.html#getPositionComponent:it.unibo.osmos.redux.ecs.components.PositionComponent", "kind" : "abstract def"}], "shortDescription" : "Trait representing the properties needed by an entity to be sentient", "trait" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SentientProperty.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.entities.Spawner", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Spawner.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Spawner.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Spawner.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Spawner.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Spawner.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Spawner.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Spawner.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Spawner.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Spawner.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Spawner.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Spawner.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Spawner.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Spawner.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Spawner.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Spawner.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Spawner.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Spawner.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Spawner.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Spawner.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "getSpawnerComponent", "tail" : "(): SpawnerComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Spawner.getSpawnerComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Spawner.html#getSpawnerComponent:it.unibo.osmos.redux.ecs.components.SpawnerComponent", "kind" : "abstract def"}], "shortDescription" : "Trait representing the entity's spawn property", "trait" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Spawner.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.entities.SpecificWeight", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SpecificWeight.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SpecificWeight.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SpecificWeight.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SpecificWeight.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SpecificWeight.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SpecificWeight.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SpecificWeight.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SpecificWeight.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SpecificWeight.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SpecificWeight.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SpecificWeight.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SpecificWeight.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SpecificWeight.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SpecificWeight.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SpecificWeight.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SpecificWeight.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SpecificWeight.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SpecificWeight.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SpecificWeight.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "getSpecificWeightComponent", "tail" : "(): SpecificWeightComponent", "member" : "it.unibo.osmos.redux.ecs.entities.SpecificWeight.getSpecificWeightComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SpecificWeight.html#getSpecificWeightComponent:it.unibo.osmos.redux.ecs.components.SpecificWeightComponent", "kind" : "abstract def"}], "shortDescription" : "Trait representing the entity's specific weight property.", "trait" : "it\/unibo\/osmos\/redux\/ecs\/entities\/SpecificWeight.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.entities.Speed", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Speed.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Speed.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Speed.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Speed.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Speed.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Speed.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Speed.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Speed.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Speed.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Speed.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Speed.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Speed.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Speed.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Speed.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Speed.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Speed.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Speed.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Speed.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Speed.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "getSpeedComponent", "tail" : "(): SpeedComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Speed.getSpeedComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Speed.html#getSpeedComponent:it.unibo.osmos.redux.ecs.components.SpeedComponent", "kind" : "abstract def"}], "shortDescription" : "Trait representing the entity's speed property", "trait" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Speed.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.entities.Type", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Type.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Type.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Type.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Type.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Type.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Type.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Type.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Type.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Type.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Type.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Type.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Type.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Type.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Type.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Type.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Type.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Type.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Type.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Type.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "getTypeComponent", "tail" : "(): TypeComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Type.getTypeComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Type.html#getTypeComponent:it.unibo.osmos.redux.ecs.components.TypeComponent", "kind" : "abstract def"}], "shortDescription" : "Trait representing the entity's type property", "trait" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Type.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.entities.Visible", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Visible.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Visible.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Visible.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Visible.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Visible.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Visible.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Visible.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Visible.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Visible.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Visible.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Visible.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Visible.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Visible.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Visible.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Visible.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Visible.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Visible.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Visible.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Visible.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "getVisibleComponent", "tail" : "(): VisibleComponent", "member" : "it.unibo.osmos.redux.ecs.entities.Visible.getVisibleComponent", "link" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Visible.html#getVisibleComponent:it.unibo.osmos.redux.ecs.components.VisibleComponent", "kind" : "abstract def"}], "shortDescription" : "Trait representing the entity's visible property", "trait" : "it\/unibo\/osmos\/redux\/ecs\/entities\/Visible.html", "kind" : "trait"}], "it.unibo.osmos.redux.utils" : [{"name" : "it.unibo.osmos.redux.utils.InputEventQueue", "shortDescription" : "Singleton that stores all input events.", "object" : "it\/unibo\/osmos\/redux\/utils\/InputEventQueue$.html", "members_object" : [{"label" : "dequeueAll", "tail" : "(): Seq[MouseEventWrapper]", "member" : "it.unibo.osmos.redux.utils.InputEventQueue.dequeueAll", "link" : "it\/unibo\/osmos\/redux\/utils\/InputEventQueue$.html#dequeueAll():Seq[it.unibo.osmos.redux.mvc.view.events.MouseEventWrapper]", "kind" : "def"}, {"label" : "dequeue", "tail" : "(): Option[MouseEventWrapper]", "member" : "it.unibo.osmos.redux.utils.InputEventQueue.dequeue", "link" : "it\/unibo\/osmos\/redux\/utils\/InputEventQueue$.html#dequeue():Option[it.unibo.osmos.redux.mvc.view.events.MouseEventWrapper]", "kind" : "def"}, {"label" : "enqueue", "tail" : "(events: MouseEventWrapper*): Unit", "member" : "it.unibo.osmos.redux.utils.InputEventQueue.enqueue", "link" : "it\/unibo\/osmos\/redux\/utils\/InputEventQueue$.html#enqueue(events:it.unibo.osmos.redux.mvc.view.events.MouseEventWrapper*):Unit", "kind" : "def"}, {"label" : "queue", "tail" : ": Queue[MouseEventWrapper]", "member" : "it.unibo.osmos.redux.utils.InputEventQueue.queue", "link" : "it\/unibo\/osmos\/redux\/utils\/InputEventQueue$.html#queue:scala.collection.mutable.Queue[it.unibo.osmos.redux.mvc.view.events.MouseEventWrapper]", "kind" : "var"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/utils\/InputEventQueue$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/utils\/InputEventQueue$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/utils\/InputEventQueue$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/utils\/InputEventQueue$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/utils\/InputEventQueue$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/utils\/InputEventQueue$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/utils\/InputEventQueue$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/utils\/InputEventQueue$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/utils\/InputEventQueue$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/utils\/InputEventQueue$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/utils\/InputEventQueue$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/utils\/InputEventQueue$.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/utils\/InputEventQueue$.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/utils\/InputEventQueue$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/utils\/InputEventQueue$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/utils\/InputEventQueue$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/utils\/InputEventQueue$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/utils\/InputEventQueue$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/utils\/InputEventQueue$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "kind" : "object"}, {"name" : "it.unibo.osmos.redux.utils.MathUtils", "shortDescription" : "Utility class that offers math related useful methods", "object" : "it\/unibo\/osmos\/redux\/utils\/MathUtils$.html", "members_object" : [{"label" : "isPointBetweenPoints", "tail" : "(p: Point, p1: Point, p2: Point): Boolean", "member" : "it.unibo.osmos.redux.utils.MathUtils.isPointBetweenPoints", "link" : "it\/unibo\/osmos\/redux\/utils\/MathUtils$.html#isPointBetweenPoints(p:it.unibo.osmos.redux.utils.Point,p1:it.unibo.osmos.redux.utils.Point,p2:it.unibo.osmos.redux.utils.Point):Boolean", "kind" : "def"}, {"label" : "circleArea", "tail" : "(radius: Double): Double", "member" : "it.unibo.osmos.redux.utils.MathUtils.circleArea", "link" : "it\/unibo\/osmos\/redux\/utils\/MathUtils$.html#circleArea(radius:Double):Double", "kind" : "def"}, {"label" : "euclideanDistance", "tail" : "(position1: PositionComponent, position2: PositionComponent): Double", "member" : "it.unibo.osmos.redux.utils.MathUtils.euclideanDistance", "link" : "it\/unibo\/osmos\/redux\/utils\/MathUtils$.html#euclideanDistance(position1:it.unibo.osmos.redux.ecs.components.PositionComponent,position2:it.unibo.osmos.redux.ecs.components.PositionComponent):Double", "kind" : "def"}, {"label" : "euclideanDistance", "tail" : "(point1: Point, point2: Point): Double", "member" : "it.unibo.osmos.redux.utils.MathUtils.euclideanDistance", "link" : "it\/unibo\/osmos\/redux\/utils\/MathUtils$.html#euclideanDistance(point1:it.unibo.osmos.redux.utils.Point,point2:it.unibo.osmos.redux.utils.Point):Double", "kind" : "def"}, {"label" : "unitVector", "tail" : "(point1: Point, point2: Point): Vector", "member" : "it.unibo.osmos.redux.utils.MathUtils.unitVector", "link" : "it\/unibo\/osmos\/redux\/utils\/MathUtils$.html#unitVector(point1:it.unibo.osmos.redux.utils.Point,point2:it.unibo.osmos.redux.utils.Point):it.unibo.osmos.redux.utils.Vector", "kind" : "def"}, {"label" : "normalizePoint", "tail" : "(point: Point): Point", "member" : "it.unibo.osmos.redux.utils.MathUtils.normalizePoint", "link" : "it\/unibo\/osmos\/redux\/utils\/MathUtils$.html#normalizePoint(point:it.unibo.osmos.redux.utils.Point):it.unibo.osmos.redux.utils.Point", "kind" : "def"}, {"label" : "normalize", "tail" : "(number: Double, min: Double, max: Double): Double", "member" : "it.unibo.osmos.redux.utils.MathUtils.normalize", "link" : "it\/unibo\/osmos\/redux\/utils\/MathUtils$.html#normalize(number:Double,min:Double,max:Double):Double", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/utils\/MathUtils$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/utils\/MathUtils$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/utils\/MathUtils$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/utils\/MathUtils$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/utils\/MathUtils$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/utils\/MathUtils$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/utils\/MathUtils$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/utils\/MathUtils$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/utils\/MathUtils$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/utils\/MathUtils$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/utils\/MathUtils$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/utils\/MathUtils$.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/utils\/MathUtils$.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/utils\/MathUtils$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/utils\/MathUtils$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/utils\/MathUtils$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/utils\/MathUtils$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/utils\/MathUtils$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/utils\/MathUtils$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "kind" : "object"}, {"name" : "it.unibo.osmos.redux.utils.Point", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/utils\/Point.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/utils\/Point.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/utils\/Point.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/utils\/Point.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/utils\/Point.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/utils\/Point.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/utils\/Point.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/utils\/Point.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/utils\/Point.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/utils\/Point.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/utils\/Point.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/utils\/Point.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/utils\/Point.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/utils\/Point.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/utils\/Point.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/utils\/Point.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/utils\/Point.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/utils\/Point.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/utils\/Point.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "subtract", "tail" : "(v: Vector): Vector", "member" : "it.unibo.osmos.redux.utils.Point.subtract", "link" : "it\/unibo\/osmos\/redux\/utils\/Point.html#subtract(v:it.unibo.osmos.redux.utils.Vector):it.unibo.osmos.redux.utils.Vector", "kind" : "abstract def"}, {"label" : "subtract", "tail" : "(p: Point): Vector", "member" : "it.unibo.osmos.redux.utils.Point.subtract", "link" : "it\/unibo\/osmos\/redux\/utils\/Point.html#subtract(p:it.unibo.osmos.redux.utils.Point):it.unibo.osmos.redux.utils.Vector", "kind" : "abstract def"}, {"label" : "add", "tail" : "(v: Vector): Point", "member" : "it.unibo.osmos.redux.utils.Point.add", "link" : "it\/unibo\/osmos\/redux\/utils\/Point.html#add(v:it.unibo.osmos.redux.utils.Vector):it.unibo.osmos.redux.utils.Point", "kind" : "abstract def"}, {"label" : "y", "tail" : "(): Double", "member" : "it.unibo.osmos.redux.utils.Point.y", "link" : "it\/unibo\/osmos\/redux\/utils\/Point.html#y:Double", "kind" : "abstract def"}, {"label" : "x", "tail" : "(): Double", "member" : "it.unibo.osmos.redux.utils.Point.x", "link" : "it\/unibo\/osmos\/redux\/utils\/Point.html#x:Double", "kind" : "abstract def"}], "shortDescription" : "Cartesian point", "object" : "it\/unibo\/osmos\/redux\/utils\/Point$.html", "members_object" : [{"label" : "apply", "tail" : "(x: Double, y: Double): Point", "member" : "it.unibo.osmos.redux.utils.Point.apply", "link" : "it\/unibo\/osmos\/redux\/utils\/Point$.html#apply(x:Double,y:Double):it.unibo.osmos.redux.utils.Point", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/utils\/Point$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/utils\/Point$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/utils\/Point$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/utils\/Point$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/utils\/Point$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/utils\/Point$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/utils\/Point$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/utils\/Point$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/utils\/Point$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/utils\/Point$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/utils\/Point$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/utils\/Point$.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/utils\/Point$.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/utils\/Point$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/utils\/Point$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/utils\/Point$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/utils\/Point$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/utils\/Point$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/utils\/Point$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "trait" : "it\/unibo\/osmos\/redux\/utils\/Point.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.utils.PrologRules", "shortDescription" : "", "object" : "it\/unibo\/osmos\/redux\/utils\/PrologRules$.html", "members_object" : [{"label" : "rules", "tail" : ": String", "member" : "it.unibo.osmos.redux.utils.PrologRules.rules", "link" : "it\/unibo\/osmos\/redux\/utils\/PrologRules$.html#rules:String", "kind" : "val"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/utils\/PrologRules$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/utils\/PrologRules$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/utils\/PrologRules$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/utils\/PrologRules$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/utils\/PrologRules$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/utils\/PrologRules$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/utils\/PrologRules$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/utils\/PrologRules$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/utils\/PrologRules$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/utils\/PrologRules$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/utils\/PrologRules$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/utils\/PrologRules$.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/utils\/PrologRules$.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/utils\/PrologRules$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/utils\/PrologRules$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/utils\/PrologRules$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/utils\/PrologRules$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/utils\/PrologRules$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/utils\/PrologRules$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "kind" : "object"}, {"name" : "it.unibo.osmos.redux.utils.Scala2P", "shortDescription" : "", "object" : "it\/unibo\/osmos\/redux\/utils\/Scala2P$.html", "members_object" : [{"label" : "solveOneAndGetTerm", "tail" : "(engine: (Term) ⇒ Stream[SolveInfo], goal: Term, term: String): Term", "member" : "it.unibo.osmos.redux.utils.Scala2P.solveOneAndGetTerm", "link" : "it\/unibo\/osmos\/redux\/utils\/Scala2P$.html#solveOneAndGetTerm(engine:alice.tuprolog.Term=>Stream[alice.tuprolog.SolveInfo],goal:alice.tuprolog.Term,term:String):alice.tuprolog.Term", "kind" : "def"}, {"label" : "solveWithSuccess", "tail" : "(engine: (Term) ⇒ Stream[SolveInfo], goal: Term): Boolean", "member" : "it.unibo.osmos.redux.utils.Scala2P.solveWithSuccess", "link" : "it\/unibo\/osmos\/redux\/utils\/Scala2P$.html#solveWithSuccess(engine:alice.tuprolog.Term=>Stream[alice.tuprolog.SolveInfo],goal:alice.tuprolog.Term):Boolean", "kind" : "def"}, {"label" : "mkPrologEngine", "tail" : "(theory: Theory): (Term) ⇒ Stream[SolveInfo]", "member" : "it.unibo.osmos.redux.utils.Scala2P.mkPrologEngine", "link" : "it\/unibo\/osmos\/redux\/utils\/Scala2P$.html#mkPrologEngine(theory:alice.tuprolog.Theory):alice.tuprolog.Term=>Stream[alice.tuprolog.SolveInfo]", "kind" : "def"}, {"label" : "sentientPropertyListToTerm", "tail" : "(sentientEnemies: ListBuffer[SentientProperty]): Term", "member" : "it.unibo.osmos.redux.utils.Scala2P.sentientPropertyListToTerm", "link" : "it\/unibo\/osmos\/redux\/utils\/Scala2P$.html#sentientPropertyListToTerm(sentientEnemies:scala.collection.mutable.ListBuffer[it.unibo.osmos.redux.ecs.entities.SentientProperty]):alice.tuprolog.Term", "kind" : "implicit def"}, {"label" : "sentientPropertyToTerm", "tail" : "(s: SentientProperty): Term", "member" : "it.unibo.osmos.redux.utils.Scala2P.sentientPropertyToTerm", "link" : "it\/unibo\/osmos\/redux\/utils\/Scala2P$.html#sentientPropertyToTerm(s:it.unibo.osmos.redux.ecs.entities.SentientProperty):alice.tuprolog.Term", "kind" : "implicit def"}, {"label" : "sentientEnemyPropertyListToTerm", "tail" : "(sentientEnemies: ListBuffer[SentientEnemyProperty]): Term", "member" : "it.unibo.osmos.redux.utils.Scala2P.sentientEnemyPropertyListToTerm", "link" : "it\/unibo\/osmos\/redux\/utils\/Scala2P$.html#sentientEnemyPropertyListToTerm(sentientEnemies:scala.collection.mutable.ListBuffer[it.unibo.osmos.redux.ecs.entities.SentientEnemyProperty]):alice.tuprolog.Term", "kind" : "implicit def"}, {"label" : "sentientEnemyPropertyToTerm", "tail" : "(s: SentientEnemyProperty): Term", "member" : "it.unibo.osmos.redux.utils.Scala2P.sentientEnemyPropertyToTerm", "link" : "it\/unibo\/osmos\/redux\/utils\/Scala2P$.html#sentientEnemyPropertyToTerm(s:it.unibo.osmos.redux.ecs.entities.SentientEnemyProperty):alice.tuprolog.Term", "kind" : "implicit def"}, {"label" : "stringToTheory", "tail" : "(s: String): Theory", "member" : "it.unibo.osmos.redux.utils.Scala2P.stringToTheory", "link" : "it\/unibo\/osmos\/redux\/utils\/Scala2P$.html#stringToTheory[T](s:String):alice.tuprolog.Theory", "kind" : "implicit def"}, {"label" : "seqToTerm", "tail" : "(s: Seq[T]): Term", "member" : "it.unibo.osmos.redux.utils.Scala2P.seqToTerm", "link" : "it\/unibo\/osmos\/redux\/utils\/Scala2P$.html#seqToTerm[T](s:Seq[T]):alice.tuprolog.Term", "kind" : "implicit def"}, {"label" : "stringToTerm", "tail" : "(s: String): Term", "member" : "it.unibo.osmos.redux.utils.Scala2P.stringToTerm", "link" : "it\/unibo\/osmos\/redux\/utils\/Scala2P$.html#stringToTerm(s:String):alice.tuprolog.Term", "kind" : "implicit def"}, {"label" : "wrap", "tail" : "(element: E): String", "member" : "it.unibo.osmos.redux.utils.Scala2P.wrap", "link" : "it\/unibo\/osmos\/redux\/utils\/Scala2P$.html#wrap[E](element:E):String", "kind" : "def"}, {"label" : "separate", "tail" : "(element1: E1, element2: E2): String", "member" : "it.unibo.osmos.redux.utils.Scala2P.separate", "link" : "it\/unibo\/osmos\/redux\/utils\/Scala2P$.html#separate[E1,E2](element1:E1,element2:E2):String", "kind" : "def"}, {"label" : "extractTerm", "tail" : "(solveInfo: SolveInfo, s: String): Term", "member" : "it.unibo.osmos.redux.utils.Scala2P.extractTerm", "link" : "it\/unibo\/osmos\/redux\/utils\/Scala2P$.html#extractTerm(solveInfo:alice.tuprolog.SolveInfo,s:String):alice.tuprolog.Term", "kind" : "def"}, {"label" : "extractTerm", "tail" : "(solveInfo: SolveInfo, i: Integer): Term", "member" : "it.unibo.osmos.redux.utils.Scala2P.extractTerm", "link" : "it\/unibo\/osmos\/redux\/utils\/Scala2P$.html#extractTerm(solveInfo:alice.tuprolog.SolveInfo,i:Integer):alice.tuprolog.Term", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/utils\/Scala2P$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/utils\/Scala2P$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/utils\/Scala2P$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/utils\/Scala2P$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/utils\/Scala2P$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/utils\/Scala2P$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/utils\/Scala2P$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/utils\/Scala2P$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/utils\/Scala2P$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/utils\/Scala2P$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/utils\/Scala2P$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/utils\/Scala2P$.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/utils\/Scala2P$.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/utils\/Scala2P$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/utils\/Scala2P$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/utils\/Scala2P$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/utils\/Scala2P$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/utils\/Scala2P$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/utils\/Scala2P$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "kind" : "object"}, {"name" : "it.unibo.osmos.redux.utils.Vector", "members_trait" : [{"label" : "normalized", "tail" : "(): Vector", "member" : "it.unibo.osmos.redux.utils.Vector.normalized", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector.html#normalized():it.unibo.osmos.redux.utils.Vector", "kind" : "def"}, {"label" : "dot", "tail" : "(v: Vector): Double", "member" : "it.unibo.osmos.redux.utils.Vector.dot", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector.html#dot(v:it.unibo.osmos.redux.utils.Vector):Double", "kind" : "def"}, {"label" : "limit", "tail" : "(maxLength: Double): Vector", "member" : "it.unibo.osmos.redux.utils.Vector.limit", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector.html#limit(maxLength:Double):it.unibo.osmos.redux.utils.Vector", "kind" : "def"}, {"label" : "getNewLength", "tail" : "(newLength: Double): Vector", "member" : "it.unibo.osmos.redux.utils.Vector.getNewLength", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector.html#getNewLength(newLength:Double):it.unibo.osmos.redux.utils.Vector", "kind" : "def"}, {"label" : "getLength", "tail" : "(): Double", "member" : "it.unibo.osmos.redux.utils.Vector.getLength", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector.html#getLength:Double", "kind" : "def"}, {"label" : "divide", "tail" : "(v: Double): Vector", "member" : "it.unibo.osmos.redux.utils.Vector.divide", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector.html#divide(v:Double):it.unibo.osmos.redux.utils.Vector", "kind" : "def"}, {"label" : "multiply", "tail" : "(v: Double): Vector", "member" : "it.unibo.osmos.redux.utils.Vector.multiply", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector.html#multiply(v:Double):it.unibo.osmos.redux.utils.Vector", "kind" : "def"}, {"label" : "multiply", "tail" : "(v: Vector): Vector", "member" : "it.unibo.osmos.redux.utils.Vector.multiply", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector.html#multiply(v:it.unibo.osmos.redux.utils.Vector):it.unibo.osmos.redux.utils.Vector", "kind" : "def"}, {"label" : "subtract", "tail" : "(p: Point): Vector", "member" : "it.unibo.osmos.redux.utils.Vector.subtract", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector.html#subtract(p:it.unibo.osmos.redux.utils.Point):it.unibo.osmos.redux.utils.Vector", "kind" : "def"}, {"label" : "subtract", "tail" : "(v: Vector): Vector", "member" : "it.unibo.osmos.redux.utils.Vector.subtract", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector.html#subtract(v:it.unibo.osmos.redux.utils.Vector):it.unibo.osmos.redux.utils.Vector", "kind" : "def"}, {"label" : "add", "tail" : "(v: Vector): Vector", "member" : "it.unibo.osmos.redux.utils.Vector.add", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector.html#add(v:it.unibo.osmos.redux.utils.Vector):it.unibo.osmos.redux.utils.Vector", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "y_", "tail" : "(newY: Double): Unit", "member" : "it.unibo.osmos.redux.utils.Vector.y_", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector.html#y_(newY:Double):Unit", "kind" : "abstract def"}, {"label" : "x_", "tail" : "(newX: Double): Unit", "member" : "it.unibo.osmos.redux.utils.Vector.x_", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector.html#x_(newX:Double):Unit", "kind" : "abstract def"}, {"label" : "y", "tail" : "(): Double", "member" : "it.unibo.osmos.redux.utils.Vector.y", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector.html#y:Double", "kind" : "abstract def"}, {"label" : "x", "tail" : "(): Double", "member" : "it.unibo.osmos.redux.utils.Vector.x", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector.html#x:Double", "kind" : "abstract def"}], "shortDescription" : "2D vector", "object" : "it\/unibo\/osmos\/redux\/utils\/Vector$.html", "members_object" : [{"label" : "zero", "tail" : "(): Vector", "member" : "it.unibo.osmos.redux.utils.Vector.zero", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector$.html#zero():it.unibo.osmos.redux.utils.Vector", "kind" : "def"}, {"label" : "apply", "tail" : "(x: Double, y: Double): Vector", "member" : "it.unibo.osmos.redux.utils.Vector.apply", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector$.html#apply(x:Double,y:Double):it.unibo.osmos.redux.utils.Vector", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector$.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector$.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/utils\/Vector$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "trait" : "it\/unibo\/osmos\/redux\/utils\/Vector.html", "kind" : "trait"}], "it" : [], "it.unibo.osmos" : [], "it.unibo.osmos.redux.mvc.view.events" : [{"name" : "it.unibo.osmos.redux.mvc.view.events.EventWrapper", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapper.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapper.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapper.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapper.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapper.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapper.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapper.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapper.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapper.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapper.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapper.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapper.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapper.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapper.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapper.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapper.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapper.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapper.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapper.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "shortDescription" : "Basic event wrapper", "trait" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapper.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.mvc.view.events.EventWrapperObservable", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObservable.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObservable.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObservable.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObservable.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObservable.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObservable.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObservable.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObservable.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObservable.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObservable.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObservable.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObservable.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObservable.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObservable.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObservable.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObservable.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObservable.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObservable.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObservable.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "unsubscribe", "tail" : "(eventWrapperObserver: EventWrapperObserver[T]): Unit", "member" : "it.unibo.osmos.redux.mvc.view.events.EventWrapperObservable.unsubscribe", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObservable.html#unsubscribe(eventWrapperObserver:it.unibo.osmos.redux.mvc.view.events.EventWrapperObserver[T]):Unit", "kind" : "abstract def"}, {"label" : "subscribe", "tail" : "(eventWrapperObserver: EventWrapperObserver[T]): Unit", "member" : "it.unibo.osmos.redux.mvc.view.events.EventWrapperObservable.subscribe", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObservable.html#subscribe(eventWrapperObserver:it.unibo.osmos.redux.mvc.view.events.EventWrapperObserver[T]):Unit", "kind" : "abstract def"}], "shortDescription" : "This trait models a generic EventWrapper observable", "trait" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObservable.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.mvc.view.events.EventWrapperObserver", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObserver.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObserver.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObserver.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObserver.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObserver.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObserver.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObserver.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObserver.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObserver.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObserver.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObserver.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObserver.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObserver.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObserver.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObserver.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObserver.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObserver.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObserver.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObserver.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "notify", "tail" : "(event: T): Unit", "member" : "it.unibo.osmos.redux.mvc.view.events.EventWrapperObserver.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObserver.html#notify(event:T):Unit", "kind" : "abstract def"}], "shortDescription" : "A basic observer to a EventWrapper", "trait" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/EventWrapperObserver.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.mvc.view.events.GameLost", "shortDescription" : "", "object" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameLost$.html", "members_object" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameLost$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameLost$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameLost$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameLost$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameLost$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameLost$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameLost$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameLost$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameLost$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameLost$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameLost$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameLost$.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameLost$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameLost$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameLost$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameLost$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameLost$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "kind" : "object"}, {"name" : "it.unibo.osmos.redux.mvc.view.events.GamePending", "shortDescription" : "", "object" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GamePending$.html", "members_object" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GamePending$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GamePending$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GamePending$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GamePending$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GamePending$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GamePending$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GamePending$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GamePending$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GamePending$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GamePending$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GamePending$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GamePending$.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GamePending$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GamePending$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GamePending$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GamePending$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GamePending$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "kind" : "object"}, {"name" : "it.unibo.osmos.redux.mvc.view.events.GameStateEventWrapper", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameStateEventWrapper.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameStateEventWrapper.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameStateEventWrapper.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameStateEventWrapper.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameStateEventWrapper.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameStateEventWrapper.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameStateEventWrapper.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameStateEventWrapper.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameStateEventWrapper.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameStateEventWrapper.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameStateEventWrapper.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameStateEventWrapper.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameStateEventWrapper.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameStateEventWrapper.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameStateEventWrapper.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameStateEventWrapper.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameStateEventWrapper.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameStateEventWrapper.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameStateEventWrapper.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "shortDescription" : "Possible game events", "trait" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameStateEventWrapper.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.mvc.view.events.GameWon", "shortDescription" : "", "object" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameWon$.html", "members_object" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameWon$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameWon$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameWon$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameWon$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameWon$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameWon$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameWon$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameWon$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameWon$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameWon$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameWon$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameWon$.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameWon$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameWon$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameWon$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameWon$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/GameWon$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "kind" : "object"}, {"name" : "it.unibo.osmos.redux.mvc.view.events.MouseEventWrapper", "shortDescription" : "Case class which wraps a mouse event", "members_case class" : [{"member" : "it.unibo.osmos.redux.mvc.view.events.MouseEventWrapper#", "error" : "unsupported entity"}, {"label" : "point", "tail" : ": Point", "member" : "it.unibo.osmos.redux.mvc.view.events.MouseEventWrapper.point", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/MouseEventWrapper.html#point:it.unibo.osmos.redux.utils.Point", "kind" : "val"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/MouseEventWrapper.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/MouseEventWrapper.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/MouseEventWrapper.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/MouseEventWrapper.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/MouseEventWrapper.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/MouseEventWrapper.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/MouseEventWrapper.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/MouseEventWrapper.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/MouseEventWrapper.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/MouseEventWrapper.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/MouseEventWrapper.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/MouseEventWrapper.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/MouseEventWrapper.html#clone():Object", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/MouseEventWrapper.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/MouseEventWrapper.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/MouseEventWrapper.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "case class" : "it\/unibo\/osmos\/redux\/mvc\/view\/events\/MouseEventWrapper.html", "kind" : "case class"}], "it.unibo.osmos.redux.ecs" : [], "it.unibo.osmos.redux.ecs.engine" : [{"name" : "it.unibo.osmos.redux.ecs.engine.ExceededTickTimeException", "shortDescription" : "Custom exception to handle game loop tick time overrun", "members_case class" : [{"member" : "it.unibo.osmos.redux.ecs.engine.ExceededTickTimeException#", "error" : "unsupported entity"}, {"label" : "getSuppressed", "tail" : "(): Array[Throwable]", "member" : "java.lang.Throwable.getSuppressed", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/ExceededTickTimeException.html#getSuppressed():Array[Throwable]", "kind" : "final def"}, {"label" : "addSuppressed", "tail" : "(arg0: Throwable): Unit", "member" : "java.lang.Throwable.addSuppressed", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/ExceededTickTimeException.html#addSuppressed(x$1:Throwable):Unit", "kind" : "final def"}, {"label" : "setStackTrace", "tail" : "(arg0: Array[StackTraceElement]): Unit", "member" : "java.lang.Throwable.setStackTrace", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/ExceededTickTimeException.html#setStackTrace(x$1:Array[StackTraceElement]):Unit", "kind" : "def"}, {"label" : "getStackTrace", "tail" : "(): Array[StackTraceElement]", "member" : "java.lang.Throwable.getStackTrace", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/ExceededTickTimeException.html#getStackTrace():Array[StackTraceElement]", "kind" : "def"}, {"label" : "fillInStackTrace", "tail" : "(): Throwable", "member" : "java.lang.Throwable.fillInStackTrace", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/ExceededTickTimeException.html#fillInStackTrace():Throwable", "kind" : "def"}, {"label" : "printStackTrace", "tail" : "(arg0: PrintWriter): Unit", "member" : "java.lang.Throwable.printStackTrace", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/ExceededTickTimeException.html#printStackTrace(x$1:java.io.PrintWriter):Unit", "kind" : "def"}, {"label" : "printStackTrace", "tail" : "(arg0: PrintStream): Unit", "member" : "java.lang.Throwable.printStackTrace", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/ExceededTickTimeException.html#printStackTrace(x$1:java.io.PrintStream):Unit", "kind" : "def"}, {"label" : "printStackTrace", "tail" : "(): Unit", "member" : "java.lang.Throwable.printStackTrace", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/ExceededTickTimeException.html#printStackTrace():Unit", "kind" : "def"}, {"label" : "toString", "tail" : "(): String", "member" : "java.lang.Throwable.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/ExceededTickTimeException.html#toString():String", "kind" : "def"}, {"label" : "initCause", "tail" : "(arg0: Throwable): Throwable", "member" : "java.lang.Throwable.initCause", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/ExceededTickTimeException.html#initCause(x$1:Throwable):Throwable", "kind" : "def"}, {"label" : "getCause", "tail" : "(): Throwable", "member" : "java.lang.Throwable.getCause", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/ExceededTickTimeException.html#getCause():Throwable", "kind" : "def"}, {"label" : "getLocalizedMessage", "tail" : "(): String", "member" : "java.lang.Throwable.getLocalizedMessage", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/ExceededTickTimeException.html#getLocalizedMessage():String", "kind" : "def"}, {"label" : "getMessage", "tail" : "(): String", "member" : "java.lang.Throwable.getMessage", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/ExceededTickTimeException.html#getMessage():String", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/ExceededTickTimeException.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/ExceededTickTimeException.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/ExceededTickTimeException.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/ExceededTickTimeException.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/ExceededTickTimeException.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/ExceededTickTimeException.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/ExceededTickTimeException.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/ExceededTickTimeException.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/ExceededTickTimeException.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/ExceededTickTimeException.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/ExceededTickTimeException.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/ExceededTickTimeException.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/ExceededTickTimeException.html#clone():Object", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/ExceededTickTimeException.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/ExceededTickTimeException.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/ExceededTickTimeException.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "case class" : "it\/unibo\/osmos\/redux\/ecs\/engine\/ExceededTickTimeException.html", "kind" : "case class"}, {"name" : "it.unibo.osmos.redux.ecs.engine.GameEngine", "members_trait" : [{"label" : "GameStatus", "tail" : "", "member" : "it.unibo.osmos.redux.ecs.engine.GameEngine.GameStatus", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine.html#GameStatus=it.unibo.osmos.redux.ecs.engine.GameStatus.Value", "kind" : "type"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "getFps", "tail" : "(): Int", "member" : "it.unibo.osmos.redux.ecs.engine.GameEngine.getFps", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine.html#getFps:Int", "kind" : "abstract def"}, {"label" : "getStatus", "tail" : "(): GameStatus", "member" : "it.unibo.osmos.redux.ecs.engine.GameEngine.getStatus", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine.html#getStatus:GameEngine.this.GameStatus", "kind" : "abstract def"}, {"label" : "clear", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.ecs.engine.GameEngine.clear", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine.html#clear():Unit", "kind" : "abstract def"}, {"label" : "stop", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.ecs.engine.GameEngine.stop", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine.html#stop():Unit", "kind" : "abstract def"}, {"label" : "resume", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.ecs.engine.GameEngine.resume", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine.html#resume():Unit", "kind" : "abstract def"}, {"label" : "pause", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.ecs.engine.GameEngine.pause", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine.html#pause():Unit", "kind" : "abstract def"}, {"label" : "start", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.ecs.engine.GameEngine.start", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine.html#start():Unit", "kind" : "abstract def"}, {"label" : "init", "tail" : "(level: Level, levelContext: LevelContext): Unit", "member" : "it.unibo.osmos.redux.ecs.engine.GameEngine.init", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine.html#init(level:it.unibo.osmos.redux.mvc.model.Level,levelContext:it.unibo.osmos.redux.mvc.view.levels.LevelContext):Unit", "kind" : "abstract def"}], "shortDescription" : "Game engine, the game loop manager.", "object" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine$.html", "members_object" : [{"label" : "apply", "tail" : "(): GameEngine", "member" : "it.unibo.osmos.redux.ecs.engine.GameEngine.apply", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine$.html#apply():it.unibo.osmos.redux.ecs.engine.GameEngine", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine$.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine$.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "trait" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameEngine.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.engine.GameLoop", "shortDescription" : "Implementation of the game loop.", "members_class" : [{"label" : "getStatus", "tail" : "(): GameStatus", "member" : "it.unibo.osmos.redux.ecs.engine.GameLoop.getStatus", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#getStatus:GameLoop.this.GameStatus", "kind" : "def"}, {"label" : "kill", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.ecs.engine.GameLoop.kill", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#kill():Unit", "kind" : "def"}, {"label" : "unpause", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.ecs.engine.GameLoop.unpause", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#unpause():Unit", "kind" : "def"}, {"label" : "pause", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.ecs.engine.GameLoop.pause", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#pause():Unit", "kind" : "def"}, {"label" : "run", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.ecs.engine.GameLoop.run", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#run():Unit", "kind" : "def"}, {"label" : "GameStatus", "tail" : "", "member" : "it.unibo.osmos.redux.ecs.engine.GameLoop.GameStatus", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#GameStatus=it.unibo.osmos.redux.ecs.engine.GameStatus.Value", "kind" : "type"}, {"member" : "it.unibo.osmos.redux.ecs.engine.GameLoop#", "error" : "unsupported entity"}, {"label" : "systems", "tail" : ": List[System]", "member" : "it.unibo.osmos.redux.ecs.engine.GameLoop.systems", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#systems:List[it.unibo.osmos.redux.ecs.systems.System]", "kind" : "var"}, {"label" : "engine", "tail" : ": GameEngine", "member" : "it.unibo.osmos.redux.ecs.engine.GameLoop.engine", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#engine:it.unibo.osmos.redux.ecs.engine.GameEngine", "kind" : "val"}, {"label" : "setUncaughtExceptionHandler", "tail" : "(arg0: UncaughtExceptionHandler): Unit", "member" : "java.lang.Thread.setUncaughtExceptionHandler", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#setUncaughtExceptionHandler(x$1:java.lang.Thread.UncaughtExceptionHandler):Unit", "kind" : "def"}, {"label" : "getUncaughtExceptionHandler", "tail" : "(): UncaughtExceptionHandler", "member" : "java.lang.Thread.getUncaughtExceptionHandler", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#getUncaughtExceptionHandler():java.lang.Thread.UncaughtExceptionHandler", "kind" : "def"}, {"label" : "getState", "tail" : "(): State", "member" : "java.lang.Thread.getState", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#getState():java.lang.Thread.State", "kind" : "def"}, {"label" : "getId", "tail" : "(): Long", "member" : "java.lang.Thread.getId", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#getId():Long", "kind" : "def"}, {"label" : "getStackTrace", "tail" : "(): Array[StackTraceElement]", "member" : "java.lang.Thread.getStackTrace", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#getStackTrace():Array[StackTraceElement]", "kind" : "def"}, {"label" : "setContextClassLoader", "tail" : "(arg0: ClassLoader): Unit", "member" : "java.lang.Thread.setContextClassLoader", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#setContextClassLoader(x$1:ClassLoader):Unit", "kind" : "def"}, {"label" : "getContextClassLoader", "tail" : "(): ClassLoader", "member" : "java.lang.Thread.getContextClassLoader", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#getContextClassLoader():ClassLoader", "kind" : "def"}, {"label" : "toString", "tail" : "(): String", "member" : "java.lang.Thread.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#toString():String", "kind" : "def"}, {"label" : "checkAccess", "tail" : "(): Unit", "member" : "java.lang.Thread.checkAccess", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#checkAccess():Unit", "kind" : "final def"}, {"label" : "isDaemon", "tail" : "(): Boolean", "member" : "java.lang.Thread.isDaemon", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#isDaemon():Boolean", "kind" : "final def"}, {"label" : "setDaemon", "tail" : "(arg0: Boolean): Unit", "member" : "java.lang.Thread.setDaemon", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#setDaemon(x$1:Boolean):Unit", "kind" : "final def"}, {"label" : "join", "tail" : "(): Unit", "member" : "java.lang.Thread.join", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#join():Unit", "kind" : "final def"}, {"label" : "join", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "java.lang.Thread.join", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#join(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "join", "tail" : "(arg0: Long): Unit", "member" : "java.lang.Thread.join", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#join(x$1:Long):Unit", "kind" : "final def"}, {"label" : "countStackFrames", "tail" : "(): Int", "member" : "java.lang.Thread.countStackFrames", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#countStackFrames():Int", "kind" : "def"}, {"label" : "getThreadGroup", "tail" : "(): ThreadGroup", "member" : "java.lang.Thread.getThreadGroup", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#getThreadGroup():ThreadGroup", "kind" : "final def"}, {"label" : "getName", "tail" : "(): String", "member" : "java.lang.Thread.getName", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#getName():String", "kind" : "final def"}, {"label" : "setName", "tail" : "(arg0: String): Unit", "member" : "java.lang.Thread.setName", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#setName(x$1:String):Unit", "kind" : "final def"}, {"label" : "getPriority", "tail" : "(): Int", "member" : "java.lang.Thread.getPriority", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#getPriority():Int", "kind" : "final def"}, {"label" : "setPriority", "tail" : "(arg0: Int): Unit", "member" : "java.lang.Thread.setPriority", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#setPriority(x$1:Int):Unit", "kind" : "final def"}, {"label" : "resume", "tail" : "(): Unit", "member" : "java.lang.Thread.resume", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#resume():Unit", "kind" : "final def"}, {"label" : "suspend", "tail" : "(): Unit", "member" : "java.lang.Thread.suspend", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#suspend():Unit", "kind" : "final def"}, {"label" : "isAlive", "tail" : "(): Boolean", "member" : "java.lang.Thread.isAlive", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#isAlive():Boolean", "kind" : "final def"}, {"label" : "destroy", "tail" : "(): Unit", "member" : "java.lang.Thread.destroy", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#destroy():Unit", "kind" : "def"}, {"label" : "isInterrupted", "tail" : "(): Boolean", "member" : "java.lang.Thread.isInterrupted", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#isInterrupted():Boolean", "kind" : "def"}, {"label" : "interrupt", "tail" : "(): Unit", "member" : "java.lang.Thread.interrupt", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#interrupt():Unit", "kind" : "def"}, {"label" : "stop", "tail" : "(arg0: Throwable): Unit", "member" : "java.lang.Thread.stop", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#stop(x$1:Throwable):Unit", "kind" : "final def"}, {"label" : "stop", "tail" : "(): Unit", "member" : "java.lang.Thread.stop", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#stop():Unit", "kind" : "final def"}, {"label" : "start", "tail" : "(): Unit", "member" : "java.lang.Thread.start", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#start():Unit", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "java.lang.Thread.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#clone():Object", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#notify():Unit", "kind" : "final def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "class" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameLoop.html", "kind" : "class"}, {"name" : "it.unibo.osmos.redux.ecs.engine.GameStatus", "shortDescription" : "", "object" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html", "members_object" : [{"label" : "Val", "tail" : "", "member" : "scala.Enumeration.Val", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#ValextendsEnumeration.this.ValuewithSerializable", "kind" : "class"}, {"label" : "ValueSet", "tail" : "", "member" : "scala.Enumeration.ValueSet", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#ValueSetextendsAbstractSet[Enumeration.this.Value]withSortedSet[Enumeration.this.Value]withSortedSetLike[Enumeration.this.Value,Enumeration.this.ValueSet]withSerializable", "kind" : "class"}, {"label" : "Value", "tail" : "", "member" : "scala.Enumeration.Value", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#ValueextendsOrdered[Enumeration.this.Value]withSerializable", "kind" : "abstract class"}, {"label" : "Stopped", "tail" : ": Value", "member" : "it.unibo.osmos.redux.ecs.engine.GameStatus.Stopped", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#Stopped:it.unibo.osmos.redux.ecs.engine.GameStatus.Value", "kind" : "val"}, {"label" : "Paused", "tail" : ": Value", "member" : "it.unibo.osmos.redux.ecs.engine.GameStatus.Paused", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#Paused:it.unibo.osmos.redux.ecs.engine.GameStatus.Value", "kind" : "val"}, {"label" : "Running", "tail" : ": Value", "member" : "it.unibo.osmos.redux.ecs.engine.GameStatus.Running", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#Running:it.unibo.osmos.redux.ecs.engine.GameStatus.Value", "kind" : "val"}, {"label" : "Idle", "tail" : ": Value", "member" : "it.unibo.osmos.redux.ecs.engine.GameStatus.Idle", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#Idle:it.unibo.osmos.redux.ecs.engine.GameStatus.Value", "kind" : "val"}, {"label" : "Value", "tail" : "(i: Int, name: String): Value", "member" : "scala.Enumeration.Value", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#Value(i:Int,name:String):Enumeration.this.Value", "kind" : "final def"}, {"label" : "Value", "tail" : "(name: String): Value", "member" : "scala.Enumeration.Value", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#Value(name:String):Enumeration.this.Value", "kind" : "final def"}, {"label" : "Value", "tail" : "(i: Int): Value", "member" : "scala.Enumeration.Value", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#Value(i:Int):Enumeration.this.Value", "kind" : "final def"}, {"label" : "Value", "tail" : "(): Value", "member" : "scala.Enumeration.Value", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#Value:Enumeration.this.Value", "kind" : "final def"}, {"label" : "withName", "tail" : "(s: String): Value", "member" : "scala.Enumeration.withName", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#withName(s:String):Enumeration.this.Value", "kind" : "final def"}, {"label" : "apply", "tail" : "(x: Int): Value", "member" : "scala.Enumeration.apply", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#apply(x:Int):Enumeration.this.Value", "kind" : "final def"}, {"label" : "maxId", "tail" : "(): Int", "member" : "scala.Enumeration.maxId", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#maxId:Int", "kind" : "final def"}, {"label" : "nextName", "tail" : ": Iterator[String]", "member" : "scala.Enumeration.nextName", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#nextName:Iterator[String]", "kind" : "var"}, {"label" : "nextId", "tail" : ": Int", "member" : "scala.Enumeration.nextId", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#nextId:Int", "kind" : "var"}, {"label" : "values", "tail" : "(): ValueSet", "member" : "scala.Enumeration.values", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#values:Enumeration.this.ValueSet", "kind" : "def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.Enumeration.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#toString():String", "kind" : "def"}, {"label" : "readResolve", "tail" : "(): AnyRef", "member" : "scala.Enumeration.readResolve", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#readResolve():AnyRef", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/engine\/GameStatus$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "kind" : "object"}], "it.unibo.osmos.redux.mvc.view.levels" : [{"name" : "it.unibo.osmos.redux.mvc.view.levels.GameStateHolder", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/GameStateHolder.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/GameStateHolder.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/GameStateHolder.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/GameStateHolder.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/GameStateHolder.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/GameStateHolder.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/GameStateHolder.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/GameStateHolder.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/GameStateHolder.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/GameStateHolder.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/GameStateHolder.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/GameStateHolder.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/GameStateHolder.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/GameStateHolder.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/GameStateHolder.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/GameStateHolder.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/GameStateHolder.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/GameStateHolder.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/GameStateHolder.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "gameCurrentState", "tail" : "(): GameStateEventWrapper", "member" : "it.unibo.osmos.redux.mvc.view.levels.GameStateHolder.gameCurrentState", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/GameStateHolder.html#gameCurrentState:it.unibo.osmos.redux.mvc.view.events.GameStateEventWrapper", "kind" : "abstract def"}, {"label" : "notify", "tail" : "(event: GameStateEventWrapper): Unit", "member" : "it.unibo.osmos.redux.mvc.view.events.EventWrapperObserver.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/GameStateHolder.html#notify(event:T):Unit", "kind" : "abstract def"}], "shortDescription" : "Trait modelling an object which holds the current game state and reacts when it gets changed", "trait" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/GameStateHolder.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.mvc.view.levels.LevelContext", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "notifyMouseEvent", "tail" : "(event: MouseEventWrapper): Unit", "member" : "it.unibo.osmos.redux.mvc.view.levels.LevelContext.notifyMouseEvent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext.html#notifyMouseEvent(event:it.unibo.osmos.redux.mvc.view.events.MouseEventWrapper):Unit", "kind" : "abstract def"}, {"label" : "setupLevel", "tail" : "(mapShape: MapShape): Unit", "member" : "it.unibo.osmos.redux.mvc.view.levels.LevelContext.setupLevel", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext.html#setupLevel(mapShape:it.unibo.osmos.redux.mvc.model.MapShape):Unit", "kind" : "abstract def"}, {"label" : "gameCurrentState", "tail" : "(): GameStateEventWrapper", "member" : "it.unibo.osmos.redux.mvc.view.levels.GameStateHolder.gameCurrentState", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext.html#gameCurrentState:it.unibo.osmos.redux.mvc.view.events.GameStateEventWrapper", "kind" : "abstract def"}, {"label" : "notify", "tail" : "(event: GameStateEventWrapper): Unit", "member" : "it.unibo.osmos.redux.mvc.view.events.EventWrapperObserver.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext.html#notify(event:T):Unit", "kind" : "abstract def"}, {"label" : "drawEntities", "tail" : "(playerEntity: Option[DrawableWrapper], entities: Seq[DrawableWrapper]): Unit", "member" : "it.unibo.osmos.redux.mvc.view.drawables.EntitiesDrawer.drawEntities", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext.html#drawEntities(playerEntity:Option[it.unibo.osmos.redux.mvc.view.drawables.DrawableWrapper],entities:Seq[it.unibo.osmos.redux.mvc.view.drawables.DrawableWrapper]):Unit", "kind" : "abstract def"}, {"label" : "unsubscribe", "tail" : "(eventWrapperObserver: EventWrapperObserver[MouseEventWrapper]): Unit", "member" : "it.unibo.osmos.redux.mvc.view.events.EventWrapperObservable.unsubscribe", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext.html#unsubscribe(eventWrapperObserver:it.unibo.osmos.redux.mvc.view.events.EventWrapperObserver[T]):Unit", "kind" : "abstract def"}, {"label" : "subscribe", "tail" : "(eventWrapperObserver: EventWrapperObserver[MouseEventWrapper]): Unit", "member" : "it.unibo.osmos.redux.mvc.view.events.EventWrapperObservable.subscribe", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext.html#subscribe(eventWrapperObserver:it.unibo.osmos.redux.mvc.view.events.EventWrapperObserver[T]):Unit", "kind" : "abstract def"}], "shortDescription" : "Trait modelling the context of a level", "object" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext$.html", "members_object" : [{"label" : "apply", "tail" : "(listener: LevelContextListener, simulation: Boolean): LevelContext", "member" : "it.unibo.osmos.redux.mvc.view.levels.LevelContext.apply", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext$.html#apply(listener:it.unibo.osmos.redux.mvc.view.levels.LevelContextListener,simulation:Boolean):it.unibo.osmos.redux.mvc.view.levels.LevelContext", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext$.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext$.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "trait" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContext.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.mvc.view.levels.LevelContextListener", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContextListener.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContextListener.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContextListener.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContextListener.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContextListener.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContextListener.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContextListener.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContextListener.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContextListener.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContextListener.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContextListener.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContextListener.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContextListener.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContextListener.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContextListener.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContextListener.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContextListener.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContextListener.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContextListener.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "onLevelEnd", "tail" : "(levelResult: Boolean): Unit", "member" : "it.unibo.osmos.redux.mvc.view.levels.LevelContextListener.onLevelEnd", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContextListener.html#onLevelEnd(levelResult:Boolean):Unit", "kind" : "abstract def"}, {"label" : "onLevelSetup", "tail" : "(mapShape: MapShape): Unit", "member" : "it.unibo.osmos.redux.mvc.view.levels.LevelContextListener.onLevelSetup", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContextListener.html#onLevelSetup(mapShape:it.unibo.osmos.redux.mvc.model.MapShape):Unit", "kind" : "abstract def"}, {"label" : "onDrawEntities", "tail" : "(playerEntity: Option[DrawableWrapper], entities: Seq[DrawableWrapper]): Unit", "member" : "it.unibo.osmos.redux.mvc.view.levels.LevelContextListener.onDrawEntities", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContextListener.html#onDrawEntities(playerEntity:Option[it.unibo.osmos.redux.mvc.view.drawables.DrawableWrapper],entities:Seq[it.unibo.osmos.redux.mvc.view.drawables.DrawableWrapper]):Unit", "kind" : "abstract def"}], "shortDescription" : "Trait which gets notified when a LevelContext event occurs", "trait" : "it\/unibo\/osmos\/redux\/mvc\/view\/levels\/LevelContextListener.html", "kind" : "trait"}], "it.unibo.osmos.redux" : [], "it.unibo.osmos.redux.mvc.view.loaders" : [{"name" : "it.unibo.osmos.redux.mvc.view.loaders.ImageLoader", "shortDescription" : "Loader which caches the already requested images", "object" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/ImageLoader$.html", "members_object" : [{"label" : "getImage", "tail" : "(path: String): Image", "member" : "it.unibo.osmos.redux.mvc.view.loaders.ImageLoader.getImage", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/ImageLoader$.html#getImage(path:String):scalafx.scene.image.Image", "kind" : "def"}, {"label" : "get", "tail" : "(a: String, f: (String) ⇒ Image): Image", "member" : "it.unibo.osmos.redux.mvc.view.loaders.Loader.get", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/ImageLoader$.html#get(a:A,f:A=>B):B", "kind" : "def"}, {"label" : "cache", "tail" : ": HashMap[String, Image]", "member" : "it.unibo.osmos.redux.mvc.view.loaders.Loader.cache", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/ImageLoader$.html#cache:scala.collection.mutable.HashMap[A,B]", "kind" : "val"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/ImageLoader$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/ImageLoader$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/ImageLoader$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/ImageLoader$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/ImageLoader$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/ImageLoader$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/ImageLoader$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/ImageLoader$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/ImageLoader$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/ImageLoader$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/ImageLoader$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/ImageLoader$.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/ImageLoader$.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/ImageLoader$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/ImageLoader$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/ImageLoader$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/ImageLoader$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/ImageLoader$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/ImageLoader$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "kind" : "object"}, {"name" : "it.unibo.osmos.redux.mvc.view.loaders.Loader", "members_trait" : [{"label" : "get", "tail" : "(a: A, f: (A) ⇒ B): B", "member" : "it.unibo.osmos.redux.mvc.view.loaders.Loader.get", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/Loader.html#get(a:A,f:A=>B):B", "kind" : "def"}, {"label" : "cache", "tail" : ": HashMap[A, B]", "member" : "it.unibo.osmos.redux.mvc.view.loaders.Loader.cache", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/Loader.html#cache:scala.collection.mutable.HashMap[A,B]", "kind" : "val"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/Loader.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/Loader.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/Loader.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/Loader.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/Loader.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/Loader.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/Loader.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/Loader.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/Loader.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/Loader.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/Loader.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/Loader.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/Loader.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/Loader.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/Loader.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/Loader.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/Loader.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/Loader.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/Loader.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "shortDescription" : "Basic flyweight loader that caches the requested values in a map", "trait" : "it\/unibo\/osmos\/redux\/mvc\/view\/loaders\/Loader.html", "kind" : "trait"}], "it.unibo.osmos.redux.ecs.components" : [{"name" : "it.unibo.osmos.redux.ecs.components.AccelerationComponent", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "reset", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.ecs.components.AccelerationComponent.reset", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent.html#reset():Unit", "kind" : "abstract def"}, {"label" : "vector_", "tail" : "(vector: Vector): Unit", "member" : "it.unibo.osmos.redux.ecs.components.VectorComponent.vector_", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent.html#vector_(vector:it.unibo.osmos.redux.utils.Vector):Unit", "kind" : "abstract def"}, {"label" : "vector", "tail" : "(): Vector", "member" : "it.unibo.osmos.redux.ecs.components.VectorComponent.vector", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent.html#vector:it.unibo.osmos.redux.utils.Vector", "kind" : "abstract def"}], "shortDescription" : "Component of the acceleration vector", "object" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent$.html", "members_object" : [{"label" : "apply", "tail" : "(acceleration: Vector): AccelerationComponent", "member" : "it.unibo.osmos.redux.ecs.components.AccelerationComponent.apply", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent$.html#apply(acceleration:it.unibo.osmos.redux.utils.Vector):it.unibo.osmos.redux.ecs.components.AccelerationComponent", "kind" : "def"}, {"label" : "apply", "tail" : "(accelerationX: Double, accelerationY: Double): AccelerationComponent", "member" : "it.unibo.osmos.redux.ecs.components.AccelerationComponent.apply", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent$.html#apply(accelerationX:Double,accelerationY:Double):it.unibo.osmos.redux.ecs.components.AccelerationComponent", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent$.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent$.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "trait" : "it\/unibo\/osmos\/redux\/ecs\/components\/AccelerationComponent.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.components.CollidableComponent", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "setCollidable", "tail" : "(collidable: Boolean): Unit", "member" : "it.unibo.osmos.redux.ecs.components.CollidableComponent.setCollidable", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent.html#setCollidable(collidable:Boolean):Unit", "kind" : "abstract def"}, {"label" : "isCollidable", "tail" : "(): Boolean", "member" : "it.unibo.osmos.redux.ecs.components.CollidableComponent.isCollidable", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent.html#isCollidable():Boolean", "kind" : "abstract def"}], "shortDescription" : "Component for entity able to be collided.", "object" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent$.html", "members_object" : [{"label" : "apply", "tail" : "(collidable: Boolean): CollidableComponent", "member" : "it.unibo.osmos.redux.ecs.components.CollidableComponent.apply", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent$.html#apply(collidable:Boolean):it.unibo.osmos.redux.ecs.components.CollidableComponent", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent$.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent$.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "trait" : "it\/unibo\/osmos\/redux\/ecs\/components\/CollidableComponent.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.components.Component", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/Component.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/Component.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/Component.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/Component.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/Component.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/Component.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/Component.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/Component.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/Component.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/Component.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/Component.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/Component.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/Component.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/Component.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/Component.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/Component.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/Component.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/Component.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/Component.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "shortDescription" : "Component base trait", "trait" : "it\/unibo\/osmos\/redux\/ecs\/components\/Component.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.components.DimensionComponent", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "radius_", "tail" : "(radius: Double): Unit", "member" : "it.unibo.osmos.redux.ecs.components.DimensionComponent.radius_", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent.html#radius_(radius:Double):Unit", "kind" : "abstract def"}, {"label" : "radius", "tail" : "(): Double", "member" : "it.unibo.osmos.redux.ecs.components.DimensionComponent.radius", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent.html#radius:Double", "kind" : "abstract def"}], "shortDescription" : "Component Dimension (radius of the sphere)", "object" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent$.html", "members_object" : [{"label" : "apply", "tail" : "(radius: Double): DimensionComponent", "member" : "it.unibo.osmos.redux.ecs.components.DimensionComponent.apply", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent$.html#apply(radius:Double):it.unibo.osmos.redux.ecs.components.DimensionComponent", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent$.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent$.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "trait" : "it\/unibo\/osmos\/redux\/ecs\/components\/DimensionComponent.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.components.EntityType", "shortDescription" : "Enumeration which holds the different entity types", "object" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html", "members_object" : [{"label" : "Val", "tail" : "", "member" : "scala.Enumeration.Val", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#ValextendsEnumeration.this.ValuewithSerializable", "kind" : "class"}, {"label" : "ValueSet", "tail" : "", "member" : "scala.Enumeration.ValueSet", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#ValueSetextendsAbstractSet[Enumeration.this.Value]withSortedSet[Enumeration.this.Value]withSortedSetLike[Enumeration.this.Value,Enumeration.this.ValueSet]withSerializable", "kind" : "class"}, {"label" : "Value", "tail" : "", "member" : "scala.Enumeration.Value", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#ValueextendsOrdered[Enumeration.this.Value]withSerializable", "kind" : "abstract class"}, {"label" : "Sentient", "tail" : ": Value", "member" : "it.unibo.osmos.redux.ecs.components.EntityType.Sentient", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#Sentient:it.unibo.osmos.redux.ecs.components.EntityType.Value", "kind" : "val"}, {"label" : "Repulse", "tail" : ": Value", "member" : "it.unibo.osmos.redux.ecs.components.EntityType.Repulse", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#Repulse:it.unibo.osmos.redux.ecs.components.EntityType.Value", "kind" : "val"}, {"label" : "Attractive", "tail" : ": Value", "member" : "it.unibo.osmos.redux.ecs.components.EntityType.Attractive", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#Attractive:it.unibo.osmos.redux.ecs.components.EntityType.Value", "kind" : "val"}, {"label" : "AntiMatter", "tail" : ": Value", "member" : "it.unibo.osmos.redux.ecs.components.EntityType.AntiMatter", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#AntiMatter:it.unibo.osmos.redux.ecs.components.EntityType.Value", "kind" : "val"}, {"label" : "Matter", "tail" : ": Value", "member" : "it.unibo.osmos.redux.ecs.components.EntityType.Matter", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#Matter:it.unibo.osmos.redux.ecs.components.EntityType.Value", "kind" : "val"}, {"label" : "Value", "tail" : "(i: Int, name: String): Value", "member" : "scala.Enumeration.Value", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#Value(i:Int,name:String):Enumeration.this.Value", "kind" : "final def"}, {"label" : "Value", "tail" : "(name: String): Value", "member" : "scala.Enumeration.Value", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#Value(name:String):Enumeration.this.Value", "kind" : "final def"}, {"label" : "Value", "tail" : "(i: Int): Value", "member" : "scala.Enumeration.Value", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#Value(i:Int):Enumeration.this.Value", "kind" : "final def"}, {"label" : "Value", "tail" : "(): Value", "member" : "scala.Enumeration.Value", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#Value:Enumeration.this.Value", "kind" : "final def"}, {"label" : "withName", "tail" : "(s: String): Value", "member" : "scala.Enumeration.withName", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#withName(s:String):Enumeration.this.Value", "kind" : "final def"}, {"label" : "apply", "tail" : "(x: Int): Value", "member" : "scala.Enumeration.apply", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#apply(x:Int):Enumeration.this.Value", "kind" : "final def"}, {"label" : "maxId", "tail" : "(): Int", "member" : "scala.Enumeration.maxId", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#maxId:Int", "kind" : "final def"}, {"label" : "nextName", "tail" : ": Iterator[String]", "member" : "scala.Enumeration.nextName", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#nextName:Iterator[String]", "kind" : "var"}, {"label" : "nextId", "tail" : ": Int", "member" : "scala.Enumeration.nextId", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#nextId:Int", "kind" : "var"}, {"label" : "values", "tail" : "(): ValueSet", "member" : "scala.Enumeration.values", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#values:Enumeration.this.ValueSet", "kind" : "def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.Enumeration.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#toString():String", "kind" : "def"}, {"label" : "readResolve", "tail" : "(): AnyRef", "member" : "scala.Enumeration.readResolve", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#readResolve():AnyRef", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/EntityType$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "kind" : "object"}, {"name" : "it.unibo.osmos.redux.ecs.components.MassComponent", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "mass", "tail" : "(): Double", "member" : "it.unibo.osmos.redux.ecs.components.MassComponent.mass", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent.html#mass:Double", "kind" : "abstract def"}], "shortDescription" : "Component for entity's mass", "object" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent$.html", "members_object" : [{"label" : "MassComponentImpl", "tail" : "", "member" : "it.unibo.osmos.redux.ecs.components.MassComponent.MassComponentImpl", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent$.html#MassComponentImplextendsMassComponentwithProductwithSerializable", "kind" : "case class"}, {"label" : "apply", "tail" : "(dimension: DimensionComponent, specificWeight: SpecificWeightComponent): MassComponent", "member" : "it.unibo.osmos.redux.ecs.components.MassComponent.apply", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent$.html#apply(dimension:it.unibo.osmos.redux.ecs.components.DimensionComponent,specificWeight:it.unibo.osmos.redux.ecs.components.SpecificWeightComponent):it.unibo.osmos.redux.ecs.components.MassComponent", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent$.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent$.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "trait" : "it\/unibo\/osmos\/redux\/ecs\/components\/MassComponent.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.components.PositionComponent", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "point_", "tail" : "(point: Point): Unit", "member" : "it.unibo.osmos.redux.ecs.components.PositionComponent.point_", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent.html#point_(point:it.unibo.osmos.redux.utils.Point):Unit", "kind" : "abstract def"}, {"label" : "point", "tail" : "(): Point", "member" : "it.unibo.osmos.redux.ecs.components.PositionComponent.point", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent.html#point:it.unibo.osmos.redux.utils.Point", "kind" : "abstract def"}], "shortDescription" : "Component Position (coordinates of the sphere's center)", "object" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent$.html", "members_object" : [{"label" : "apply", "tail" : "(point: Point): PositionComponent", "member" : "it.unibo.osmos.redux.ecs.components.PositionComponent.apply", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent$.html#apply(point:it.unibo.osmos.redux.utils.Point):it.unibo.osmos.redux.ecs.components.PositionComponent", "kind" : "def"}, {"label" : "apply", "tail" : "(x: Double, y: Double): PositionComponent", "member" : "it.unibo.osmos.redux.ecs.components.PositionComponent.apply", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent$.html#apply(x:Double,y:Double):it.unibo.osmos.redux.ecs.components.PositionComponent", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent$.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent$.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "trait" : "it\/unibo\/osmos\/redux\/ecs\/components\/PositionComponent.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.components.SpawnAction", "shortDescription" : "Represents a spawn action of a spawner.", "members_case class" : [{"member" : "it.unibo.osmos.redux.ecs.components.SpawnAction#", "error" : "unsupported entity"}, {"label" : "speed", "tail" : ": SpeedComponent", "member" : "it.unibo.osmos.redux.ecs.components.SpawnAction.speed", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnAction.html#speed:it.unibo.osmos.redux.ecs.components.SpeedComponent", "kind" : "var"}, {"label" : "dimension", "tail" : ": DimensionComponent", "member" : "it.unibo.osmos.redux.ecs.components.SpawnAction.dimension", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnAction.html#dimension:it.unibo.osmos.redux.ecs.components.DimensionComponent", "kind" : "var"}, {"label" : "position", "tail" : ": PositionComponent", "member" : "it.unibo.osmos.redux.ecs.components.SpawnAction.position", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnAction.html#position:it.unibo.osmos.redux.ecs.components.PositionComponent", "kind" : "var"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnAction.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnAction.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnAction.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnAction.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnAction.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnAction.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnAction.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnAction.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnAction.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnAction.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnAction.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnAction.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnAction.html#clone():Object", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnAction.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnAction.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnAction.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "case class" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnAction.html", "kind" : "case class"}, {"name" : "it.unibo.osmos.redux.ecs.components.SpawnerComponent", "members_trait" : [{"label" : "actionQueue", "tail" : ": Queue[SpawnAction]", "member" : "it.unibo.osmos.redux.ecs.components.SpawnerComponent.actionQueue", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent.html#actionQueue:scala.collection.mutable.Queue[it.unibo.osmos.redux.ecs.components.SpawnAction]", "kind" : "val"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "clearActions", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.ecs.components.SpawnerComponent.clearActions", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent.html#clearActions():Unit", "kind" : "abstract def"}, {"label" : "dequeueActions", "tail" : "(): List[SpawnAction]", "member" : "it.unibo.osmos.redux.ecs.components.SpawnerComponent.dequeueActions", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent.html#dequeueActions():List[it.unibo.osmos.redux.ecs.components.SpawnAction]", "kind" : "abstract def"}, {"label" : "dequeueAction", "tail" : "(): Option[SpawnAction]", "member" : "it.unibo.osmos.redux.ecs.components.SpawnerComponent.dequeueAction", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent.html#dequeueAction():Option[it.unibo.osmos.redux.ecs.components.SpawnAction]", "kind" : "abstract def"}, {"label" : "enqueueActions", "tail" : "(actions: SpawnAction*): Unit", "member" : "it.unibo.osmos.redux.ecs.components.SpawnerComponent.enqueueActions", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent.html#enqueueActions(actions:it.unibo.osmos.redux.ecs.components.SpawnAction*):Unit", "kind" : "abstract def"}, {"label" : "canSpawn_", "tail" : "(value: Boolean): Unit", "member" : "it.unibo.osmos.redux.ecs.components.SpawnerComponent.canSpawn_", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent.html#canSpawn_(value:Boolean):Unit", "kind" : "abstract def"}, {"label" : "canSpawn", "tail" : "(): Boolean", "member" : "it.unibo.osmos.redux.ecs.components.SpawnerComponent.canSpawn", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent.html#canSpawn:Boolean", "kind" : "abstract def"}], "shortDescription" : "Spawner Component", "object" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent$.html", "members_object" : [{"label" : "apply", "tail" : "(canSpawn: Boolean): SpawnerComponent", "member" : "it.unibo.osmos.redux.ecs.components.SpawnerComponent.apply", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent$.html#apply(canSpawn:Boolean):it.unibo.osmos.redux.ecs.components.SpawnerComponent", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent$.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent$.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "trait" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpawnerComponent.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.components.SpecificWeightComponent", "shortDescription" : "Component for the specific weight of the entity", "members_case class" : [{"member" : "it.unibo.osmos.redux.ecs.components.SpecificWeightComponent#", "error" : "unsupported entity"}, {"label" : "specificWeight", "tail" : ": Double", "member" : "it.unibo.osmos.redux.ecs.components.SpecificWeightComponent.specificWeight", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpecificWeightComponent.html#specificWeight:Double", "kind" : "val"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpecificWeightComponent.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpecificWeightComponent.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpecificWeightComponent.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpecificWeightComponent.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpecificWeightComponent.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpecificWeightComponent.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpecificWeightComponent.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpecificWeightComponent.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpecificWeightComponent.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpecificWeightComponent.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpecificWeightComponent.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpecificWeightComponent.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpecificWeightComponent.html#clone():Object", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpecificWeightComponent.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpecificWeightComponent.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpecificWeightComponent.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "case class" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpecificWeightComponent.html", "kind" : "case class"}, {"name" : "it.unibo.osmos.redux.ecs.components.SpeedComponent", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "vector_", "tail" : "(vector: Vector): Unit", "member" : "it.unibo.osmos.redux.ecs.components.VectorComponent.vector_", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent.html#vector_(vector:it.unibo.osmos.redux.utils.Vector):Unit", "kind" : "abstract def"}, {"label" : "vector", "tail" : "(): Vector", "member" : "it.unibo.osmos.redux.ecs.components.VectorComponent.vector", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent.html#vector:it.unibo.osmos.redux.utils.Vector", "kind" : "abstract def"}], "shortDescription" : "Component of the speed vector", "object" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent$.html", "members_object" : [{"label" : "apply", "tail" : "(speed: Vector): SpeedComponent", "member" : "it.unibo.osmos.redux.ecs.components.SpeedComponent.apply", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent$.html#apply(speed:it.unibo.osmos.redux.utils.Vector):it.unibo.osmos.redux.ecs.components.SpeedComponent", "kind" : "def"}, {"label" : "apply", "tail" : "(speedX: Double, speedY: Double): SpeedComponent", "member" : "it.unibo.osmos.redux.ecs.components.SpeedComponent.apply", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent$.html#apply(speedX:Double,speedY:Double):it.unibo.osmos.redux.ecs.components.SpeedComponent", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent$.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent$.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "trait" : "it\/unibo\/osmos\/redux\/ecs\/components\/SpeedComponent.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.components.TypeComponent", "shortDescription" : "Component for entity's type", "members_case class" : [{"member" : "it.unibo.osmos.redux.ecs.components.TypeComponent#", "error" : "unsupported entity"}, {"label" : "typeEntity", "tail" : ": EntityType.Value", "member" : "it.unibo.osmos.redux.ecs.components.TypeComponent.typeEntity", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/TypeComponent.html#typeEntity:it.unibo.osmos.redux.ecs.components.EntityType.Value", "kind" : "val"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/TypeComponent.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/TypeComponent.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/TypeComponent.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/TypeComponent.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/TypeComponent.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/TypeComponent.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/TypeComponent.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/TypeComponent.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/TypeComponent.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/TypeComponent.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/TypeComponent.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/TypeComponent.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/TypeComponent.html#clone():Object", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/TypeComponent.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/TypeComponent.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/TypeComponent.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "case class" : "it\/unibo\/osmos\/redux\/ecs\/components\/TypeComponent.html", "kind" : "case class"}, {"name" : "it.unibo.osmos.redux.ecs.components.VectorComponent", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VectorComponent.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VectorComponent.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VectorComponent.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VectorComponent.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VectorComponent.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VectorComponent.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VectorComponent.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VectorComponent.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VectorComponent.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VectorComponent.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VectorComponent.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VectorComponent.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VectorComponent.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VectorComponent.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VectorComponent.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VectorComponent.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VectorComponent.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VectorComponent.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VectorComponent.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "vector_", "tail" : "(vector: Vector): Unit", "member" : "it.unibo.osmos.redux.ecs.components.VectorComponent.vector_", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VectorComponent.html#vector_(vector:it.unibo.osmos.redux.utils.Vector):Unit", "kind" : "abstract def"}, {"label" : "vector", "tail" : "(): Vector", "member" : "it.unibo.osmos.redux.ecs.components.VectorComponent.vector", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VectorComponent.html#vector:it.unibo.osmos.redux.utils.Vector", "kind" : "abstract def"}], "shortDescription" : "", "trait" : "it\/unibo\/osmos\/redux\/ecs\/components\/VectorComponent.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.ecs.components.VisibleComponent", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "setVisible", "tail" : "(visible: Boolean): Unit", "member" : "it.unibo.osmos.redux.ecs.components.VisibleComponent.setVisible", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent.html#setVisible(visible:Boolean):Unit", "kind" : "abstract def"}, {"label" : "isVisible", "tail" : "(): Boolean", "member" : "it.unibo.osmos.redux.ecs.components.VisibleComponent.isVisible", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent.html#isVisible():Boolean", "kind" : "abstract def"}], "shortDescription" : "Component for visible entity", "object" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent$.html", "members_object" : [{"label" : "apply", "tail" : "(visible: Boolean): VisibleComponent", "member" : "it.unibo.osmos.redux.ecs.components.VisibleComponent.apply", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent$.html#apply(visible:Boolean):it.unibo.osmos.redux.ecs.components.VisibleComponent", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent$.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent$.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "trait" : "it\/unibo\/osmos\/redux\/ecs\/components\/VisibleComponent.html", "kind" : "trait"}], "it.unibo.osmos.redux.mvc" : [], "it.unibo.osmos.redux.mvc.view.stages" : [{"name" : "it.unibo.osmos.redux.mvc.view.stages.OsmosReduxPrimaryStage", "members_trait" : [{"label" : "FilterMagnet", "tail" : "", "member" : "scalafx.event.EventHandlerDelegate.FilterMagnet", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#FilterMagnet[J<:,S<:]extendsAnyRef", "kind" : "sealed trait"}, {"label" : "HandlerMagnet", "tail" : "", "member" : "scalafx.event.EventHandlerDelegate.HandlerMagnet", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#HandlerMagnet[J<:,S<:]extendsAnyRef", "kind" : "sealed trait"}, {"label" : "toFront", "tail" : "(): Unit", "member" : "scalafx.stage.Stage.toFront", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#toFront():Unit", "kind" : "def"}, {"label" : "toBack", "tail" : "(): Unit", "member" : "scalafx.stage.Stage.toBack", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#toBack():Unit", "kind" : "def"}, {"label" : "showAndWait", "tail" : "(): Unit", "member" : "scalafx.stage.Stage.showAndWait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#showAndWait():Unit", "kind" : "def"}, {"label" : "show", "tail" : "(): Unit", "member" : "scalafx.stage.Stage.show", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#show():Unit", "kind" : "def"}, {"label" : "initStyle", "tail" : "(style: StageStyle): Unit", "member" : "scalafx.stage.Stage.initStyle", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#initStyle(style:scalafx.stage.StageStyle):Unit", "kind" : "def"}, {"label" : "initOwner", "tail" : "(owner: Window): Unit", "member" : "scalafx.stage.Stage.initOwner", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#initOwner(owner:scalafx.stage.Window):Unit", "kind" : "def"}, {"label" : "initModality", "tail" : "(modality: Modality): Unit", "member" : "scalafx.stage.Stage.initModality", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#initModality(modality:scalafx.stage.Modality):Unit", "kind" : "def"}, {"label" : "owner", "tail" : "(): Option[Window]", "member" : "scalafx.stage.Stage.owner", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#owner:Option[scalafx.stage.Window]", "kind" : "def"}, {"label" : "modality", "tail" : "(): Modality", "member" : "scalafx.stage.Stage.modality", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#modality:scalafx.stage.Modality", "kind" : "def"}, {"label" : "close", "tail" : "(): Unit", "member" : "scalafx.stage.Stage.close", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#close():Unit", "kind" : "def"}, {"label" : "style", "tail" : "(): StageStyle", "member" : "scalafx.stage.Stage.style", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#style:scalafx.stage.StageStyle", "kind" : "def"}, {"label" : "showing_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.stage.Stage.showing_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#showing_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "maxHeight_=", "tail" : "(h: Double): Unit", "member" : "scalafx.stage.Stage.maxHeight_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#maxHeight_=(h:Double):Unit", "kind" : "def"}, {"label" : "maxHeight", "tail" : "(): Double", "member" : "scalafx.stage.Stage.maxHeight", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#maxHeight:Double", "kind" : "def"}, {"label" : "maxWidth_=", "tail" : "(w: Double): Unit", "member" : "scalafx.stage.Stage.maxWidth_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#maxWidth_=(w:Double):Unit", "kind" : "def"}, {"label" : "maxWidth", "tail" : "(): Double", "member" : "scalafx.stage.Stage.maxWidth", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#maxWidth:Double", "kind" : "def"}, {"label" : "minHeight_=", "tail" : "(h: Double): Unit", "member" : "scalafx.stage.Stage.minHeight_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#minHeight_=(h:Double):Unit", "kind" : "def"}, {"label" : "minHeight", "tail" : "(): Double", "member" : "scalafx.stage.Stage.minHeight", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#minHeight:Double", "kind" : "def"}, {"label" : "minWidth_=", "tail" : "(w: Double): Unit", "member" : "scalafx.stage.Stage.minWidth_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#minWidth_=(w:Double):Unit", "kind" : "def"}, {"label" : "minWidth", "tail" : "(): Double", "member" : "scalafx.stage.Stage.minWidth", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#minWidth:Double", "kind" : "def"}, {"label" : "scene_=", "tail" : "(s: Scene): Unit", "member" : "scalafx.stage.Stage.scene_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#scene_=(s:scalafx.scene.Scene):Unit", "kind" : "def"}, {"label" : "resizable_=", "tail" : "(v: Boolean): Unit", "member" : "scalafx.stage.Stage.resizable_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#resizable_=(v:Boolean):Unit", "kind" : "def"}, {"label" : "resizable", "tail" : "(): BooleanProperty", "member" : "scalafx.stage.Stage.resizable", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#resizable:scalafx.beans.property.BooleanProperty", "kind" : "def"}, {"label" : "iconified", "tail" : "(): ReadOnlyBooleanProperty", "member" : "scalafx.stage.Stage.iconified", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#iconified:scalafx.beans.property.ReadOnlyBooleanProperty", "kind" : "def"}, {"label" : "icons", "tail" : "(): ObservableList[Image]", "member" : "scalafx.stage.Stage.icons", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#icons:javafx.collections.ObservableList[javafx.scene.image.Image]", "kind" : "def"}, {"label" : "title_=", "tail" : "(v: String): Unit", "member" : "scalafx.stage.Stage.title_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#title_=(v:String):Unit", "kind" : "def"}, {"label" : "title", "tail" : "(): StringProperty", "member" : "scalafx.stage.Stage.title", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#title:scalafx.beans.property.StringProperty", "kind" : "def"}, {"label" : "maximized_=", "tail" : "(value: Boolean): Unit", "member" : "scalafx.stage.Stage.maximized_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#maximized_=(value:Boolean):Unit", "kind" : "def"}, {"label" : "maximized", "tail" : "(): ReadOnlyBooleanProperty", "member" : "scalafx.stage.Stage.maximized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#maximized:scalafx.beans.property.ReadOnlyBooleanProperty", "kind" : "def"}, {"label" : "fullScreen_=", "tail" : "(value: Boolean): Unit", "member" : "scalafx.stage.Stage.fullScreen_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#fullScreen_=(value:Boolean):Unit", "kind" : "def"}, {"label" : "fullScreen", "tail" : "(): ReadOnlyBooleanProperty", "member" : "scalafx.stage.Stage.fullScreen", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#fullScreen:scalafx.beans.property.ReadOnlyBooleanProperty", "kind" : "def"}, {"label" : "fullScreenExitKey_=", "tail" : "(value: KeyCombination): Unit", "member" : "scalafx.stage.Stage.fullScreenExitKey_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#fullScreenExitKey_=(value:scalafx.scene.input.KeyCombination):Unit", "kind" : "def"}, {"label" : "fullScreenExitKey", "tail" : "(): ObjectProperty[KeyCombination]", "member" : "scalafx.stage.Stage.fullScreenExitKey", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#fullScreenExitKey:scalafx.beans.property.ObjectProperty[javafx.scene.input.KeyCombination]", "kind" : "def"}, {"label" : "fullScreenExitHint_=", "tail" : "(value: String): Unit", "member" : "scalafx.stage.Stage.fullScreenExitHint_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#fullScreenExitHint_=(value:String):Unit", "kind" : "def"}, {"label" : "fullScreenExitHint", "tail" : "(): ObjectProperty[String]", "member" : "scalafx.stage.Stage.fullScreenExitHint", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#fullScreenExitHint:scalafx.beans.property.ObjectProperty[String]", "kind" : "def"}, {"label" : "alwaysOnTop_=", "tail" : "(value: Boolean): Unit", "member" : "scalafx.stage.Stage.alwaysOnTop_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#alwaysOnTop_=(value:Boolean):Unit", "kind" : "def"}, {"label" : "alwaysOnTop", "tail" : "(): ReadOnlyBooleanProperty", "member" : "scalafx.stage.Stage.alwaysOnTop", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#alwaysOnTop:scalafx.beans.property.ReadOnlyBooleanProperty", "kind" : "def"}, {"label" : "delegate", "tail" : ": Stage", "member" : "scalafx.stage.Stage.delegate", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#delegate:javafx.stage.Stage", "kind" : "val"}, {"label" : "eventHandlerDelegate", "tail" : "(): EventHandled", "member" : "scalafx.stage.Window.eventHandlerDelegate", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#eventHandlerDelegate:Window.this.EventHandled", "kind" : "def"}, {"label" : "sizeToScene", "tail" : "(): Unit", "member" : "scalafx.stage.Window.sizeToScene", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#sizeToScene():Unit", "kind" : "def"}, {"label" : "requestFocus", "tail" : "(): Unit", "member" : "scalafx.stage.Window.requestFocus", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#requestFocus():Unit", "kind" : "def"}, {"label" : "hide", "tail" : "(): Unit", "member" : "scalafx.stage.Window.hide", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#hide():Unit", "kind" : "def"}, {"label" : "fireEvent", "tail" : "(event: Event): Unit", "member" : "scalafx.stage.Window.fireEvent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#fireEvent(event:scalafx.event.Event):Unit", "kind" : "def"}, {"label" : "centerOnScreen", "tail" : "(): Unit", "member" : "scalafx.stage.Window.centerOnScreen", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#centerOnScreen():Unit", "kind" : "def"}, {"label" : "y_=", "tail" : "(value: Double): Unit", "member" : "scalafx.stage.Window.y_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#y_=(value:Double):Unit", "kind" : "def"}, {"label" : "y", "tail" : "(): ReadOnlyDoubleProperty", "member" : "scalafx.stage.Window.y", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#y:scalafx.beans.property.ReadOnlyDoubleProperty", "kind" : "def"}, {"label" : "x_=", "tail" : "(value: Double): Unit", "member" : "scalafx.stage.Window.x_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#x_=(value:Double):Unit", "kind" : "def"}, {"label" : "x", "tail" : "(): ReadOnlyDoubleProperty", "member" : "scalafx.stage.Window.x", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#x:scalafx.beans.property.ReadOnlyDoubleProperty", "kind" : "def"}, {"label" : "width_=", "tail" : "(w: Double): Unit", "member" : "scalafx.stage.Window.width_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#width_=(w:Double):Unit", "kind" : "def"}, {"label" : "width", "tail" : "(): ReadOnlyDoubleProperty", "member" : "scalafx.stage.Window.width", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#width:scalafx.beans.property.ReadOnlyDoubleProperty", "kind" : "def"}, {"label" : "showing", "tail" : "(): ReadOnlyBooleanProperty", "member" : "scalafx.stage.Window.showing", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#showing:scalafx.beans.property.ReadOnlyBooleanProperty", "kind" : "def"}, {"label" : "scene", "tail" : "(): ReadOnlyObjectProperty[Scene]", "member" : "scalafx.stage.Window.scene", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#scene:scalafx.beans.property.ReadOnlyObjectProperty[javafx.scene.Scene]", "kind" : "def"}, {"label" : "opacity_=", "tail" : "(v: Double): Unit", "member" : "scalafx.stage.Window.opacity_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#opacity_=(v:Double):Unit", "kind" : "def"}, {"label" : "opacity", "tail" : "(): DoubleProperty", "member" : "scalafx.stage.Window.opacity", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#opacity:scalafx.beans.property.DoubleProperty", "kind" : "def"}, {"label" : "onShown_=", "tail" : "(v: EventHandler[WindowEvent]): Unit", "member" : "scalafx.stage.Window.onShown_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#onShown_=(v:javafx.event.EventHandler[javafx.stage.WindowEvent]):Unit", "kind" : "def"}, {"label" : "onShown", "tail" : "(): ObjectProperty[EventHandler[WindowEvent]]", "member" : "scalafx.stage.Window.onShown", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#onShown:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[javafx.stage.WindowEvent]]", "kind" : "def"}, {"label" : "onShowing_=", "tail" : "(v: EventHandler[WindowEvent]): Unit", "member" : "scalafx.stage.Window.onShowing_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#onShowing_=(v:javafx.event.EventHandler[javafx.stage.WindowEvent]):Unit", "kind" : "def"}, {"label" : "onShowing", "tail" : "(): ObjectProperty[EventHandler[WindowEvent]]", "member" : "scalafx.stage.Window.onShowing", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#onShowing:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[javafx.stage.WindowEvent]]", "kind" : "def"}, {"label" : "onHiding_=", "tail" : "(v: EventHandler[WindowEvent]): Unit", "member" : "scalafx.stage.Window.onHiding_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#onHiding_=(v:javafx.event.EventHandler[javafx.stage.WindowEvent]):Unit", "kind" : "def"}, {"label" : "onHiding", "tail" : "(): ObjectProperty[EventHandler[WindowEvent]]", "member" : "scalafx.stage.Window.onHiding", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#onHiding:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[javafx.stage.WindowEvent]]", "kind" : "def"}, {"label" : "onHidden_=", "tail" : "(v: EventHandler[WindowEvent]): Unit", "member" : "scalafx.stage.Window.onHidden_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#onHidden_=(v:javafx.event.EventHandler[javafx.stage.WindowEvent]):Unit", "kind" : "def"}, {"label" : "onHidden", "tail" : "(): ObjectProperty[EventHandler[WindowEvent]]", "member" : "scalafx.stage.Window.onHidden", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#onHidden:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[javafx.stage.WindowEvent]]", "kind" : "def"}, {"label" : "onCloseRequest_=", "tail" : "(v: EventHandler[WindowEvent]): Unit", "member" : "scalafx.stage.Window.onCloseRequest_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#onCloseRequest_=(v:javafx.event.EventHandler[javafx.stage.WindowEvent]):Unit", "kind" : "def"}, {"label" : "onCloseRequest", "tail" : "(): ObjectProperty[EventHandler[WindowEvent]]", "member" : "scalafx.stage.Window.onCloseRequest", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#onCloseRequest:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[javafx.stage.WindowEvent]]", "kind" : "def"}, {"label" : "height_=", "tail" : "(h: Double): Unit", "member" : "scalafx.stage.Window.height_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#height_=(h:Double):Unit", "kind" : "def"}, {"label" : "height", "tail" : "(): ReadOnlyDoubleProperty", "member" : "scalafx.stage.Window.height", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#height:scalafx.beans.property.ReadOnlyDoubleProperty", "kind" : "def"}, {"label" : "focused", "tail" : "(): ReadOnlyBooleanProperty", "member" : "scalafx.stage.Window.focused", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#focused:scalafx.beans.property.ReadOnlyBooleanProperty", "kind" : "def"}, {"label" : "eventDispatcher_=", "tail" : "(v: EventDispatcher): Unit", "member" : "scalafx.stage.Window.eventDispatcher_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#eventDispatcher_=(v:javafx.event.EventDispatcher):Unit", "kind" : "def"}, {"label" : "eventDispatcher", "tail" : "(): ObjectProperty[EventDispatcher]", "member" : "scalafx.stage.Window.eventDispatcher", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#eventDispatcher:scalafx.beans.property.ObjectProperty[javafx.event.EventDispatcher]", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scalafx.delegate.SFXDelegate.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#hashCode():Int", "kind" : "def"}, {"label" : "equals", "tail" : "(ref: Any): Boolean", "member" : "scalafx.delegate.SFXDelegate.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#equals(ref:Any):Boolean", "kind" : "def"}, {"label" : "toString", "tail" : "(): String", "member" : "scalafx.delegate.SFXDelegate.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#toString():String", "kind" : "def"}, {"label" : "buildEventDispatchChain", "tail" : "(chain: EventDispatchChain): EventDispatchChain", "member" : "scalafx.event.EventHandlerDelegate.buildEventDispatchChain", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#buildEventDispatchChain(chain:javafx.event.EventDispatchChain):javafx.event.EventDispatchChain", "kind" : "def"}, {"label" : "removeEventFilter", "tail" : "(eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit", "member" : "scalafx.event.EventHandlerDelegate.removeEventFilter", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#removeEventFilter[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_>:E]):Unit", "kind" : "def"}, {"label" : "filterEvent", "tail" : "(eventType: EventType[J])(filter: FilterMagnet[J, S]): Subscription", "member" : "scalafx.event.EventHandlerDelegate.filterEvent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#filterEvent[J<:javafx.event.Event,S<:scalafx.event.Eventwithscalafx.delegate.SFXDelegate[J]](eventType:scalafx.event.EventType[J])(filter:EventHandlerDelegate.this.FilterMagnet[J,S]):scalafx.event.subscriptions.Subscription", "kind" : "def"}, {"label" : "addEventFilter", "tail" : "(eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit", "member" : "scalafx.event.EventHandlerDelegate.addEventFilter", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#addEventFilter[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_>:E]):Unit", "kind" : "def"}, {"label" : "removeEventHandler", "tail" : "(eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit", "member" : "scalafx.event.EventHandlerDelegate.removeEventHandler", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#removeEventHandler[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_>:E]):Unit", "kind" : "def"}, {"label" : "handleEvent", "tail" : "(eventType: EventType[J])(handler: HandlerMagnet[J, S]): Subscription", "member" : "scalafx.event.EventHandlerDelegate.handleEvent", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#handleEvent[J<:javafx.event.Event,S<:scalafx.event.Eventwithscalafx.delegate.SFXDelegate[J]](eventType:scalafx.event.EventType[J])(handler:EventHandlerDelegate.this.HandlerMagnet[J,S]):scalafx.event.subscriptions.Subscription", "kind" : "def"}, {"label" : "addEventHandler", "tail" : "(eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit", "member" : "scalafx.event.EventHandlerDelegate.addEventHandler", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#addEventHandler[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_>:E]):Unit", "kind" : "def"}, {"label" : "EventHandled", "tail" : "", "member" : "scalafx.event.EventHandlerDelegate.EventHandled", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#EventHandled=AnyRef{defaddEventHandler[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_]):Unit;defremoveEventHandler[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_]):Unit;defaddEventFilter[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_]):Unit;defremoveEventFilter[E<:javafx.event.Event](eventType:javafx.event.EventType[E],eventHandler:javafx.event.EventHandler[_]):Unit;defbuildEventDispatchChain(chain:javafx.event.EventDispatchChain):javafx.event.EventDispatchChain}", "kind" : "type"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#clone():Object", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "shortDescription" : "Primary stage which holds and manages all the different game scenes", "object" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage$.html", "members_object" : [{"label" : "OsmosReduxPrimaryStageImpl", "tail" : "", "member" : "it.unibo.osmos.redux.mvc.view.stages.OsmosReduxPrimaryStage.OsmosReduxPrimaryStageImpl", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage$.html#OsmosReduxPrimaryStageImplextendsJFXApp.PrimaryStagewithOsmosReduxPrimaryStagewithMainSceneListenerwithLevelSelectionSceneListener", "kind" : "class"}, {"label" : "apply", "tail" : "(listener: PrimaryStageListener, fullScreenEnabled: Boolean, windowWidth: Double, windowHeight: Double): OsmosReduxPrimaryStageImpl", "member" : "it.unibo.osmos.redux.mvc.view.stages.OsmosReduxPrimaryStage.apply", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage$.html#apply(listener:it.unibo.osmos.redux.mvc.view.stages.PrimaryStageListener,fullScreenEnabled:Boolean,windowWidth:Double,windowHeight:Double):it.unibo.osmos.redux.mvc.view.stages.OsmosReduxPrimaryStage.OsmosReduxPrimaryStageImpl", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage$.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage$.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "trait" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/OsmosReduxPrimaryStage.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.mvc.view.stages.PrimaryStageListener", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/PrimaryStageListener.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/PrimaryStageListener.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/PrimaryStageListener.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/PrimaryStageListener.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/PrimaryStageListener.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/PrimaryStageListener.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/PrimaryStageListener.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/PrimaryStageListener.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/PrimaryStageListener.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/PrimaryStageListener.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/PrimaryStageListener.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/PrimaryStageListener.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/PrimaryStageListener.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/PrimaryStageListener.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/PrimaryStageListener.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/PrimaryStageListener.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/PrimaryStageListener.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/PrimaryStageListener.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/PrimaryStageListener.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "onLevelContextCreated", "tail" : "(levelContext: LevelContext, level: Int, simulation: Boolean): Unit", "member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelSelectionSceneListener.onLevelContextCreated", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/PrimaryStageListener.html#onLevelContextCreated(levelContext:it.unibo.osmos.redux.mvc.view.levels.LevelContext,level:Int,simulation:Boolean):Unit", "kind" : "abstract def"}, {"label" : "onStopLevel", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelSceneListener.onStopLevel", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/PrimaryStageListener.html#onStopLevel():Unit", "kind" : "abstract def"}, {"label" : "onResumeLevel", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelSceneListener.onResumeLevel", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/PrimaryStageListener.html#onResumeLevel():Unit", "kind" : "abstract def"}, {"label" : "onPauseLevel", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelSceneListener.onPauseLevel", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/PrimaryStageListener.html#onPauseLevel():Unit", "kind" : "abstract def"}, {"label" : "onStartLevel", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelSceneListener.onStartLevel", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/PrimaryStageListener.html#onStartLevel():Unit", "kind" : "abstract def"}], "shortDescription" : "Listener that manages all the events managed by the primary scene", "trait" : "it\/unibo\/osmos\/redux\/mvc\/view\/stages\/PrimaryStageListener.html", "kind" : "trait"}], "it.unibo.osmos.redux.mvc.controller" : [{"name" : "it.unibo.osmos.redux.mvc.controller.Controller", "members_trait" : [{"label" : "getSinglePlayerLevels", "tail" : "(): List[(Int, Boolean)]", "member" : "it.unibo.osmos.redux.mvc.controller.Controller.getSinglePlayerLevels", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/Controller.html#getSinglePlayerLevels:List[(Int,Boolean)]", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/Controller.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/Controller.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/Controller.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/Controller.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/Controller.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/Controller.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/Controller.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/Controller.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/Controller.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/Controller.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/Controller.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/Controller.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/Controller.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/Controller.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/Controller.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/Controller.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/Controller.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/Controller.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/Controller.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "initCustomLevel", "tail" : "(levelContext: LevelContext, chosenLevel: String, isSimulation: Boolean): Unit", "member" : "it.unibo.osmos.redux.mvc.controller.Controller.initCustomLevel", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/Controller.html#initCustomLevel(levelContext:it.unibo.osmos.redux.mvc.view.levels.LevelContext,chosenLevel:String,isSimulation:Boolean):Unit", "kind" : "abstract def"}, {"label" : "getCustomLevels", "tail" : "(): List[String]", "member" : "it.unibo.osmos.redux.mvc.controller.Controller.getCustomLevels", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/Controller.html#getCustomLevels:List[String]", "kind" : "abstract def"}, {"label" : "resumeLevel", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.controller.Controller.resumeLevel", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/Controller.html#resumeLevel():Unit", "kind" : "abstract def"}, {"label" : "pauseLevel", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.controller.Controller.pauseLevel", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/Controller.html#pauseLevel():Unit", "kind" : "abstract def"}, {"label" : "stopLevel", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.controller.Controller.stopLevel", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/Controller.html#stopLevel():Unit", "kind" : "abstract def"}, {"label" : "startLevel", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.controller.Controller.startLevel", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/Controller.html#startLevel():Unit", "kind" : "abstract def"}, {"label" : "initLevel", "tail" : "(levelContext: LevelContext, chosenLevel: Int, isSimulation: Boolean): Unit", "member" : "it.unibo.osmos.redux.mvc.controller.Controller.initLevel", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/Controller.html#initLevel(levelContext:it.unibo.osmos.redux.mvc.view.levels.LevelContext,chosenLevel:Int,isSimulation:Boolean):Unit", "kind" : "abstract def"}], "shortDescription" : "Controller base trait", "trait" : "it\/unibo\/osmos\/redux\/mvc\/controller\/Controller.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.mvc.controller.ControllerImpl", "shortDescription" : "", "members_case class" : [{"label" : "getCustomLevels", "tail" : "(): List[String]", "member" : "it.unibo.osmos.redux.mvc.controller.ControllerImpl.getCustomLevels", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/ControllerImpl.html#getCustomLevels:List[String]", "kind" : "def"}, {"label" : "resumeLevel", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.controller.ControllerImpl.resumeLevel", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/ControllerImpl.html#resumeLevel():Unit", "kind" : "def"}, {"label" : "pauseLevel", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.controller.ControllerImpl.pauseLevel", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/ControllerImpl.html#pauseLevel():Unit", "kind" : "def"}, {"label" : "stopLevel", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.controller.ControllerImpl.stopLevel", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/ControllerImpl.html#stopLevel():Unit", "kind" : "def"}, {"label" : "startLevel", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.controller.ControllerImpl.startLevel", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/ControllerImpl.html#startLevel():Unit", "kind" : "def"}, {"label" : "initCustomLevel", "tail" : "(levelContext: LevelContext, chosenLevel: String, isSimulation: Boolean): Unit", "member" : "it.unibo.osmos.redux.mvc.controller.ControllerImpl.initCustomLevel", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/ControllerImpl.html#initCustomLevel(levelContext:it.unibo.osmos.redux.mvc.view.levels.LevelContext,chosenLevel:String,isSimulation:Boolean):Unit", "kind" : "def"}, {"label" : "initLevel", "tail" : "(levelContext: LevelContext, chosenLevel: Int, isSimulation: Boolean): Unit", "member" : "it.unibo.osmos.redux.mvc.controller.ControllerImpl.initLevel", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/ControllerImpl.html#initLevel(levelContext:it.unibo.osmos.redux.mvc.view.levels.LevelContext,chosenLevel:Int,isSimulation:Boolean):Unit", "kind" : "def"}, {"label" : "engine", "tail" : ": Option[GameEngine]", "member" : "it.unibo.osmos.redux.mvc.controller.ControllerImpl.engine", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/ControllerImpl.html#engine:Option[it.unibo.osmos.redux.ecs.engine.GameEngine]", "kind" : "var"}, {"member" : "it.unibo.osmos.redux.mvc.controller.ControllerImpl#", "error" : "unsupported entity"}, {"label" : "getSinglePlayerLevels", "tail" : "(): List[(Int, Boolean)]", "member" : "it.unibo.osmos.redux.mvc.controller.Controller.getSinglePlayerLevels", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/ControllerImpl.html#getSinglePlayerLevels:List[(Int,Boolean)]", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/ControllerImpl.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/ControllerImpl.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/ControllerImpl.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/ControllerImpl.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/ControllerImpl.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/ControllerImpl.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/ControllerImpl.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/ControllerImpl.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/ControllerImpl.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/ControllerImpl.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/ControllerImpl.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/ControllerImpl.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/ControllerImpl.html#clone():Object", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/ControllerImpl.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/ControllerImpl.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/ControllerImpl.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "case class" : "it\/unibo\/osmos\/redux\/mvc\/controller\/ControllerImpl.html", "kind" : "case class"}, {"name" : "it.unibo.osmos.redux.mvc.controller.FileManager", "shortDescription" : "", "object" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html", "members_object" : [{"label" : "customLevelsFilesName", "tail" : "(): List[String]", "member" : "it.unibo.osmos.redux.mvc.controller.FileManager.customLevelsFilesName", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#customLevelsFilesName:List[String]", "kind" : "def"}, {"label" : "textToLevel", "tail" : "(text: String): Try[Level]", "member" : "it.unibo.osmos.redux.mvc.controller.FileManager.textToLevel", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#textToLevel(text:String):scala.util.Try[it.unibo.osmos.redux.mvc.model.Level]", "kind" : "def"}, {"label" : "createDirectoriesTree", "tail" : "(file: File): Boolean", "member" : "it.unibo.osmos.redux.mvc.controller.FileManager.createDirectoriesTree", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#createDirectoriesTree(file:java.io.File):Boolean", "kind" : "def"}, {"label" : "loadFile", "tail" : "(filePath: String): Option[String]", "member" : "it.unibo.osmos.redux.mvc.controller.FileManager.loadFile", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#loadFile(filePath:String):Option[String]", "kind" : "def"}, {"label" : "saveToFile", "tail" : "(file: File, text: String): Boolean", "member" : "it.unibo.osmos.redux.mvc.controller.FileManager.saveToFile", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#saveToFile(file:java.io.File,text:String):Boolean", "kind" : "def"}, {"label" : "loadCustomLevel", "tail" : "(fileName: String): Option[Level]", "member" : "it.unibo.osmos.redux.mvc.controller.FileManager.loadCustomLevel", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#loadCustomLevel(fileName:String):Option[it.unibo.osmos.redux.mvc.model.Level]", "kind" : "def"}, {"label" : "loadUserProgress", "tail" : "(): Option[UserStat]", "member" : "it.unibo.osmos.redux.mvc.controller.FileManager.loadUserProgress", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#loadUserProgress():Option[it.unibo.osmos.redux.mvc.model.UserProgress.UserStat]", "kind" : "def"}, {"label" : "saveUserProgress", "tail" : "(userProgress: UserStat): Option[Path]", "member" : "it.unibo.osmos.redux.mvc.controller.FileManager.saveUserProgress", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#saveUserProgress(userProgress:it.unibo.osmos.redux.mvc.model.UserProgress.UserStat):Option[java.nio.file.Path]", "kind" : "def"}, {"label" : "saveLevel", "tail" : "(level: Level, fileName: String): Option[Path]", "member" : "it.unibo.osmos.redux.mvc.controller.FileManager.saveLevel", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#saveLevel(level:it.unibo.osmos.redux.mvc.model.Level,fileName:String):Option[java.nio.file.Path]", "kind" : "def"}, {"label" : "loadResource", "tail" : "(isSimulation: Boolean, chosenLevel: Int): Try[Level]", "member" : "it.unibo.osmos.redux.mvc.controller.FileManager.loadResource", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#loadResource(isSimulation:Boolean,chosenLevel:Int):scala.util.Try[it.unibo.osmos.redux.mvc.model.Level]", "kind" : "def"}, {"label" : "userProgressDirectory", "tail" : ": String", "member" : "it.unibo.osmos.redux.mvc.controller.FileManager.userProgressDirectory", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#userProgressDirectory:String", "kind" : "val"}, {"label" : "userProgressFileName", "tail" : ": String", "member" : "it.unibo.osmos.redux.mvc.controller.FileManager.userProgressFileName", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#userProgressFileName:String", "kind" : "val"}, {"label" : "levelsDirectory", "tail" : ": String", "member" : "it.unibo.osmos.redux.mvc.controller.FileManager.levelsDirectory", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#levelsDirectory:String", "kind" : "val"}, {"label" : "gameDirectory", "tail" : ": String", "member" : "it.unibo.osmos.redux.mvc.controller.FileManager.gameDirectory", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#gameDirectory:String", "kind" : "val"}, {"label" : "userHome", "tail" : ": String", "member" : "it.unibo.osmos.redux.mvc.controller.FileManager.userHome", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#userHome:String", "kind" : "val"}, {"label" : "systemSeparator", "tail" : ": String", "member" : "it.unibo.osmos.redux.mvc.controller.FileManager.systemSeparator", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#systemSeparator:String", "kind" : "val"}, {"label" : "defaultFS", "tail" : ": FileSystem", "member" : "it.unibo.osmos.redux.mvc.controller.FileManager.defaultFS", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#defaultFS:java.nio.file.FileSystem", "kind" : "val"}, {"label" : "jsonExtension", "tail" : ": String", "member" : "it.unibo.osmos.redux.mvc.controller.FileManager.jsonExtension", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#jsonExtension:String", "kind" : "val"}, {"label" : "levelStartPath", "tail" : ": String", "member" : "it.unibo.osmos.redux.mvc.controller.FileManager.levelStartPath", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#levelStartPath:String", "kind" : "val"}, {"label" : "separator", "tail" : ": String", "member" : "it.unibo.osmos.redux.mvc.controller.FileManager.separator", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#separator:String", "kind" : "val"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/controller\/FileManager$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "kind" : "object"}], "it.unibo.osmos.redux.mvc.view.drawables" : [{"name" : "it.unibo.osmos.redux.mvc.view.drawables.CellDrawable", "shortDescription" : "Drawable implementation that shows a cell on the screen", "members_class" : [{"label" : "draw", "tail" : "(dw: DrawableWrapper, color: Color): Unit", "member" : "it.unibo.osmos.redux.mvc.view.drawables.CellDrawable.draw", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellDrawable.html#draw(dw:it.unibo.osmos.redux.mvc.view.drawables.DrawableWrapper,color:scalafx.scene.paint.Color):Unit", "kind" : "def"}, {"member" : "it.unibo.osmos.redux.mvc.view.drawables.CellDrawable#", "error" : "unsupported entity"}, {"label" : "graphicsContext", "tail" : ": GraphicsContext", "member" : "it.unibo.osmos.redux.mvc.view.drawables.CellDrawable.graphicsContext", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellDrawable.html#graphicsContext:scalafx.scene.canvas.GraphicsContext", "kind" : "val"}, {"label" : "image", "tail" : ": Image", "member" : "it.unibo.osmos.redux.mvc.view.drawables.CellDrawable.image", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellDrawable.html#image:scalafx.scene.image.Image", "kind" : "val"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellDrawable.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellDrawable.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellDrawable.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellDrawable.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellDrawable.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellDrawable.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellDrawable.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellDrawable.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellDrawable.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellDrawable.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellDrawable.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellDrawable.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellDrawable.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellDrawable.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellDrawable.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellDrawable.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellDrawable.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellDrawable.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellDrawable.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "class" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellDrawable.html", "kind" : "class"}, {"name" : "it.unibo.osmos.redux.mvc.view.drawables.CellWithSpeedDrawable", "shortDescription" : "Drawable implementation that shows a tintable cell on the screen", "members_class" : [{"label" : "draw", "tail" : "(dw: DrawableWrapper, color: Color): Unit", "member" : "it.unibo.osmos.redux.mvc.view.drawables.CellWithSpeedDrawable.draw", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellWithSpeedDrawable.html#draw(dw:it.unibo.osmos.redux.mvc.view.drawables.DrawableWrapper,color:scalafx.scene.paint.Color):Unit", "kind" : "def"}, {"member" : "it.unibo.osmos.redux.mvc.view.drawables.CellWithSpeedDrawable#", "error" : "unsupported entity"}, {"label" : "graphicsContext", "tail" : ": GraphicsContext", "member" : "it.unibo.osmos.redux.mvc.view.drawables.CellWithSpeedDrawable.graphicsContext", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellWithSpeedDrawable.html#graphicsContext:scalafx.scene.canvas.GraphicsContext", "kind" : "val"}, {"label" : "image", "tail" : ": Image", "member" : "it.unibo.osmos.redux.mvc.view.drawables.CellDrawable.image", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellWithSpeedDrawable.html#image:scalafx.scene.image.Image", "kind" : "val"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellWithSpeedDrawable.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellWithSpeedDrawable.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellWithSpeedDrawable.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellWithSpeedDrawable.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellWithSpeedDrawable.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellWithSpeedDrawable.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellWithSpeedDrawable.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellWithSpeedDrawable.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellWithSpeedDrawable.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellWithSpeedDrawable.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellWithSpeedDrawable.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellWithSpeedDrawable.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellWithSpeedDrawable.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellWithSpeedDrawable.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellWithSpeedDrawable.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellWithSpeedDrawable.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellWithSpeedDrawable.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellWithSpeedDrawable.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellWithSpeedDrawable.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "class" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CellWithSpeedDrawable.html", "kind" : "class"}, {"name" : "it.unibo.osmos.redux.mvc.view.drawables.CircleDrawable", "shortDescription" : "Drawable implementation that shows a circle on the screen", "members_class" : [{"label" : "draw", "tail" : "(dw: DrawableWrapper, color: Color): Unit", "member" : "it.unibo.osmos.redux.mvc.view.drawables.CircleDrawable.draw", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CircleDrawable.html#draw(dw:it.unibo.osmos.redux.mvc.view.drawables.DrawableWrapper,color:scalafx.scene.paint.Color):Unit", "kind" : "def"}, {"member" : "it.unibo.osmos.redux.mvc.view.drawables.CircleDrawable#", "error" : "unsupported entity"}, {"label" : "graphicsContext", "tail" : ": GraphicsContext", "member" : "it.unibo.osmos.redux.mvc.view.drawables.CircleDrawable.graphicsContext", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CircleDrawable.html#graphicsContext:scalafx.scene.canvas.GraphicsContext", "kind" : "val"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CircleDrawable.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CircleDrawable.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CircleDrawable.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CircleDrawable.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CircleDrawable.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CircleDrawable.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CircleDrawable.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CircleDrawable.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CircleDrawable.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CircleDrawable.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CircleDrawable.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CircleDrawable.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CircleDrawable.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CircleDrawable.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CircleDrawable.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CircleDrawable.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CircleDrawable.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CircleDrawable.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CircleDrawable.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "class" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/CircleDrawable.html", "kind" : "class"}, {"name" : "it.unibo.osmos.redux.mvc.view.drawables.Drawable", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/Drawable.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/Drawable.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/Drawable.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/Drawable.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/Drawable.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/Drawable.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/Drawable.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/Drawable.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/Drawable.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/Drawable.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/Drawable.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/Drawable.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/Drawable.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/Drawable.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/Drawable.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/Drawable.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/Drawable.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/Drawable.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/Drawable.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "shortDescription" : "Base trait which represent anything that can be drawn on the screen", "trait" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/Drawable.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.mvc.view.drawables.DrawableWrapper", "shortDescription" : "Wrapper of any entity that must be drawn", "members_case class" : [{"member" : "it.unibo.osmos.redux.mvc.view.drawables.DrawableWrapper#", "error" : "unsupported entity"}, {"label" : "entityType", "tail" : ": ecs.components.EntityType.Value", "member" : "it.unibo.osmos.redux.mvc.view.drawables.DrawableWrapper.entityType", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/DrawableWrapper.html#entityType:it.unibo.osmos.redux.ecs.components.EntityType.Value", "kind" : "val"}, {"label" : "speed", "tail" : ": (Double, Double)", "member" : "it.unibo.osmos.redux.mvc.view.drawables.DrawableWrapper.speed", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/DrawableWrapper.html#speed:(Double,Double)", "kind" : "val"}, {"label" : "radius", "tail" : ": Double", "member" : "it.unibo.osmos.redux.mvc.view.drawables.DrawableWrapper.radius", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/DrawableWrapper.html#radius:Double", "kind" : "val"}, {"label" : "center", "tail" : ": Point", "member" : "it.unibo.osmos.redux.mvc.view.drawables.DrawableWrapper.center", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/DrawableWrapper.html#center:it.unibo.osmos.redux.utils.Point", "kind" : "val"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/DrawableWrapper.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/DrawableWrapper.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/DrawableWrapper.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/DrawableWrapper.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/DrawableWrapper.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/DrawableWrapper.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/DrawableWrapper.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/DrawableWrapper.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/DrawableWrapper.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/DrawableWrapper.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/DrawableWrapper.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/DrawableWrapper.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/DrawableWrapper.html#clone():Object", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/DrawableWrapper.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/DrawableWrapper.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/DrawableWrapper.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "case class" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/DrawableWrapper.html", "kind" : "case class"}, {"name" : "it.unibo.osmos.redux.mvc.view.drawables.EntitiesDrawer", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/EntitiesDrawer.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/EntitiesDrawer.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/EntitiesDrawer.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/EntitiesDrawer.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/EntitiesDrawer.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/EntitiesDrawer.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/EntitiesDrawer.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/EntitiesDrawer.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/EntitiesDrawer.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/EntitiesDrawer.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/EntitiesDrawer.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/EntitiesDrawer.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/EntitiesDrawer.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/EntitiesDrawer.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/EntitiesDrawer.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/EntitiesDrawer.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/EntitiesDrawer.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/EntitiesDrawer.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/EntitiesDrawer.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "drawEntities", "tail" : "(playerEntity: Option[DrawableWrapper], entities: Seq[DrawableWrapper]): Unit", "member" : "it.unibo.osmos.redux.mvc.view.drawables.EntitiesDrawer.drawEntities", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/EntitiesDrawer.html#drawEntities(playerEntity:Option[it.unibo.osmos.redux.mvc.view.drawables.DrawableWrapper],entities:Seq[it.unibo.osmos.redux.mvc.view.drawables.DrawableWrapper]):Unit", "kind" : "abstract def"}], "shortDescription" : "Trait modelling an object which can draw entities", "trait" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/EntitiesDrawer.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.mvc.view.drawables.ImageDrawable", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/ImageDrawable.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/ImageDrawable.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/ImageDrawable.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/ImageDrawable.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/ImageDrawable.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/ImageDrawable.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/ImageDrawable.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/ImageDrawable.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/ImageDrawable.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/ImageDrawable.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/ImageDrawable.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/ImageDrawable.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/ImageDrawable.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/ImageDrawable.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/ImageDrawable.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/ImageDrawable.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/ImageDrawable.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/ImageDrawable.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/ImageDrawable.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "image", "tail" : "(): Image", "member" : "it.unibo.osmos.redux.mvc.view.drawables.ImageDrawable.image", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/ImageDrawable.html#image:scalafx.scene.image.Image", "kind" : "abstract def"}], "shortDescription" : "This trait represent a Drawable which holds an image", "trait" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/ImageDrawable.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.mvc.view.drawables.StaticImageDrawable", "shortDescription" : "Represent a static image", "members_class" : [{"label" : "draw", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.view.drawables.StaticImageDrawable.draw", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/StaticImageDrawable.html#draw():Unit", "kind" : "def"}, {"member" : "it.unibo.osmos.redux.mvc.view.drawables.StaticImageDrawable#", "error" : "unsupported entity"}, {"label" : "graphicsContext", "tail" : ": GraphicsContext", "member" : "it.unibo.osmos.redux.mvc.view.drawables.StaticImageDrawable.graphicsContext", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/StaticImageDrawable.html#graphicsContext:scalafx.scene.canvas.GraphicsContext", "kind" : "val"}, {"label" : "height", "tail" : ": Double", "member" : "it.unibo.osmos.redux.mvc.view.drawables.StaticImageDrawable.height", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/StaticImageDrawable.html#height:Double", "kind" : "val"}, {"label" : "width", "tail" : ": Double", "member" : "it.unibo.osmos.redux.mvc.view.drawables.StaticImageDrawable.width", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/StaticImageDrawable.html#width:Double", "kind" : "val"}, {"label" : "center", "tail" : ": Point", "member" : "it.unibo.osmos.redux.mvc.view.drawables.StaticImageDrawable.center", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/StaticImageDrawable.html#center:it.unibo.osmos.redux.utils.Point", "kind" : "val"}, {"label" : "image", "tail" : ": Image", "member" : "it.unibo.osmos.redux.mvc.view.drawables.StaticImageDrawable.image", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/StaticImageDrawable.html#image:scalafx.scene.image.Image", "kind" : "val"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/StaticImageDrawable.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/StaticImageDrawable.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/StaticImageDrawable.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/StaticImageDrawable.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/StaticImageDrawable.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/StaticImageDrawable.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/StaticImageDrawable.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/StaticImageDrawable.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/StaticImageDrawable.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/StaticImageDrawable.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/StaticImageDrawable.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/StaticImageDrawable.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/StaticImageDrawable.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/StaticImageDrawable.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/StaticImageDrawable.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/StaticImageDrawable.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/StaticImageDrawable.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/StaticImageDrawable.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/StaticImageDrawable.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "class" : "it\/unibo\/osmos\/redux\/mvc\/view\/drawables\/StaticImageDrawable.html", "kind" : "class"}], "it.unibo" : [], "it.unibo.osmos.redux.main" : [{"name" : "it.unibo.osmos.redux.main.AppLauncher", "shortDescription" : "Application entry point.", "object" : "it\/unibo\/osmos\/redux\/main\/AppLauncher$.html", "members_object" : [{"label" : "view", "tail" : ": View", "member" : "it.unibo.osmos.redux.main.AppLauncher.view", "link" : "it\/unibo\/osmos\/redux\/main\/AppLauncher$.html#view:it.unibo.osmos.redux.mvc.view.View", "kind" : "val"}, {"label" : "controller", "tail" : ": Controller", "member" : "it.unibo.osmos.redux.main.AppLauncher.controller", "link" : "it\/unibo\/osmos\/redux\/main\/AppLauncher$.html#controller:it.unibo.osmos.redux.mvc.controller.Controller", "kind" : "val"}, {"label" : "model", "tail" : ": Model", "member" : "it.unibo.osmos.redux.main.AppLauncher.model", "link" : "it\/unibo\/osmos\/redux\/main\/AppLauncher$.html#model:it.unibo.osmos.redux.mvc.model.Model", "kind" : "val"}, {"label" : "stopApp", "tail" : "(): Unit", "member" : "scalafx.application.JFXApp.stopApp", "link" : "it\/unibo\/osmos\/redux\/main\/AppLauncher$.html#stopApp():Unit", "kind" : "def"}, {"label" : "hostServices", "tail" : "(): HostServices", "member" : "scalafx.application.JFXApp.hostServices", "link" : "it\/unibo\/osmos\/redux\/main\/AppLauncher$.html#hostServices:scalafx.application.HostServices", "kind" : "def"}, {"label" : "main", "tail" : "(args: Array[String]): Unit", "member" : "scalafx.application.JFXApp.main", "link" : "it\/unibo\/osmos\/redux\/main\/AppLauncher$.html#main(args:Array[String]):Unit", "kind" : "def"}, {"label" : "delayedInit", "tail" : "(x: ⇒ Unit): Unit", "member" : "scalafx.application.JFXApp.delayedInit", "link" : "it\/unibo\/osmos\/redux\/main\/AppLauncher$.html#delayedInit(x:=>Unit):Unit", "kind" : "def"}, {"label" : "parameters", "tail" : ": Parameters", "member" : "scalafx.application.JFXApp.parameters", "link" : "it\/unibo\/osmos\/redux\/main\/AppLauncher$.html#parameters:scalafx.application.JFXApp.Parameters", "kind" : "lazy val"}, {"label" : "stage", "tail" : ": PrimaryStage", "member" : "scalafx.application.JFXApp.stage", "link" : "it\/unibo\/osmos\/redux\/main\/AppLauncher$.html#stage:scalafx.application.JFXApp.PrimaryStage", "kind" : "val"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/main\/AppLauncher$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/main\/AppLauncher$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/main\/AppLauncher$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/main\/AppLauncher$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/main\/AppLauncher$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/main\/AppLauncher$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/main\/AppLauncher$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/main\/AppLauncher$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/main\/AppLauncher$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/main\/AppLauncher$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/main\/AppLauncher$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/main\/AppLauncher$.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/main\/AppLauncher$.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/main\/AppLauncher$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/main\/AppLauncher$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/main\/AppLauncher$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/main\/AppLauncher$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/main\/AppLauncher$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/main\/AppLauncher$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "kind" : "object"}], "it.unibo.osmos.redux.mvc.view.scenes" : [{"name" : "it.unibo.osmos.redux.mvc.view.scenes.BaseScene", "shortDescription" : "BaseScene case class shich holds the reference to the parent Stage instance", "members_case class" : [{"member" : "it.unibo.osmos.redux.mvc.view.scenes.BaseScene#", "error" : "unsupported entity"}, {"label" : "parentStage", "tail" : ": Stage", "member" : "it.unibo.osmos.redux.mvc.view.scenes.BaseScene.parentStage", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#parentStage:scalafx.stage.Stage", "kind" : "val"}, {"label" : "snapshot", "tail" : "(callback: (SnapshotResult) ⇒ Unit, image: WritableImage): Unit", "member" : "scalafx.scene.Scene.snapshot", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#snapshot(callback:scalafx.scene.SnapshotResult=>Unit,image:scalafx.scene.image.WritableImage):Unit", "kind" : "def"}, {"label" : "snapshot", "tail" : "(image: WritableImage): WritableImage", "member" : "scalafx.scene.Scene.snapshot", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#snapshot(image:scalafx.scene.image.WritableImage):scalafx.scene.image.WritableImage", "kind" : "def"}, {"label" : "onTouchStationary_=", "tail" : "(v: EventHandler[_ >: TouchEvent]): Unit", "member" : "scalafx.scene.Scene.onTouchStationary_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onTouchStationary_=(v:javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]):Unit", "kind" : "def"}, {"label" : "onTouchStationary", "tail" : "(): ObjectProperty[EventHandler[_ >: TouchEvent]]", "member" : "scalafx.scene.Scene.onTouchStationary", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onTouchStationary:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]]", "kind" : "def"}, {"label" : "onTouchReleased_=", "tail" : "(v: EventHandler[_ >: TouchEvent]): Unit", "member" : "scalafx.scene.Scene.onTouchReleased_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onTouchReleased_=(v:javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]):Unit", "kind" : "def"}, {"label" : "onTouchReleased", "tail" : "(): ObjectProperty[EventHandler[_ >: TouchEvent]]", "member" : "scalafx.scene.Scene.onTouchReleased", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onTouchReleased:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]]", "kind" : "def"}, {"label" : "onTouchPressed_=", "tail" : "(v: EventHandler[_ >: TouchEvent]): Unit", "member" : "scalafx.scene.Scene.onTouchPressed_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onTouchPressed_=(v:javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]):Unit", "kind" : "def"}, {"label" : "onTouchPressed", "tail" : "(): ObjectProperty[EventHandler[_ >: TouchEvent]]", "member" : "scalafx.scene.Scene.onTouchPressed", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onTouchPressed:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]]", "kind" : "def"}, {"label" : "onTouchMoved_=", "tail" : "(v: EventHandler[_ >: TouchEvent]): Unit", "member" : "scalafx.scene.Scene.onTouchMoved_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onTouchMoved_=(v:javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]):Unit", "kind" : "def"}, {"label" : "onTouchMoved", "tail" : "(): ObjectProperty[EventHandler[_ >: TouchEvent]]", "member" : "scalafx.scene.Scene.onTouchMoved", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onTouchMoved:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]]", "kind" : "def"}, {"label" : "onZoomStarted_=", "tail" : "(v: EventHandler[_ >: ZoomEvent]): Unit", "member" : "scalafx.scene.Scene.onZoomStarted_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onZoomStarted_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]):Unit", "kind" : "def"}, {"label" : "onZoomStarted", "tail" : "(): ObjectProperty[EventHandler[_ >: ZoomEvent]]", "member" : "scalafx.scene.Scene.onZoomStarted", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onZoomStarted:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]]", "kind" : "def"}, {"label" : "onZoomFinished_=", "tail" : "(v: EventHandler[_ >: ZoomEvent]): Unit", "member" : "scalafx.scene.Scene.onZoomFinished_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onZoomFinished_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]):Unit", "kind" : "def"}, {"label" : "onZoomFinished", "tail" : "(): ObjectProperty[EventHandler[_ >: ZoomEvent]]", "member" : "scalafx.scene.Scene.onZoomFinished", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onZoomFinished:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]]", "kind" : "def"}, {"label" : "onZoom_=", "tail" : "(v: EventHandler[_ >: ZoomEvent]): Unit", "member" : "scalafx.scene.Scene.onZoom_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onZoom_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]):Unit", "kind" : "def"}, {"label" : "onZoom", "tail" : "(): ObjectProperty[EventHandler[_ >: ZoomEvent]]", "member" : "scalafx.scene.Scene.onZoom", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onZoom:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]]", "kind" : "def"}, {"label" : "onSwipeRight_=", "tail" : "(v: EventHandler[_ >: SwipeEvent]): Unit", "member" : "scalafx.scene.Scene.onSwipeRight_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onSwipeRight_=(v:javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]):Unit", "kind" : "def"}, {"label" : "onSwipeRight", "tail" : "(): ObjectProperty[EventHandler[_ >: SwipeEvent]]", "member" : "scalafx.scene.Scene.onSwipeRight", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onSwipeRight:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]]", "kind" : "def"}, {"label" : "onSwipeUp_=", "tail" : "(v: EventHandler[_ >: SwipeEvent]): Unit", "member" : "scalafx.scene.Scene.onSwipeUp_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onSwipeUp_=(v:javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]):Unit", "kind" : "def"}, {"label" : "onSwipeUp", "tail" : "(): ObjectProperty[EventHandler[_ >: SwipeEvent]]", "member" : "scalafx.scene.Scene.onSwipeUp", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onSwipeUp:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]]", "kind" : "def"}, {"label" : "onSwipeLeft_=", "tail" : "(v: EventHandler[_ >: SwipeEvent]): Unit", "member" : "scalafx.scene.Scene.onSwipeLeft_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onSwipeLeft_=(v:javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]):Unit", "kind" : "def"}, {"label" : "onSwipeLeft", "tail" : "(): ObjectProperty[EventHandler[_ >: SwipeEvent]]", "member" : "scalafx.scene.Scene.onSwipeLeft", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onSwipeLeft:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]]", "kind" : "def"}, {"label" : "onSwipeDown_=", "tail" : "(v: EventHandler[_ >: SwipeEvent]): Unit", "member" : "scalafx.scene.Scene.onSwipeDown_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onSwipeDown_=(v:javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]):Unit", "kind" : "def"}, {"label" : "onSwipeDown", "tail" : "(): ObjectProperty[EventHandler[_ >: SwipeEvent]]", "member" : "scalafx.scene.Scene.onSwipeDown", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onSwipeDown:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]]", "kind" : "def"}, {"label" : "onScrollStarted_=", "tail" : "(v: EventHandler[_ >: ScrollEvent]): Unit", "member" : "scalafx.scene.Scene.onScrollStarted_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onScrollStarted_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]):Unit", "kind" : "def"}, {"label" : "onScrollStarted", "tail" : "(): ObjectProperty[EventHandler[_ >: ScrollEvent]]", "member" : "scalafx.scene.Scene.onScrollStarted", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onScrollStarted:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]]", "kind" : "def"}, {"label" : "onScrollFinished_=", "tail" : "(v: EventHandler[_ >: ScrollEvent]): Unit", "member" : "scalafx.scene.Scene.onScrollFinished_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onScrollFinished_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]):Unit", "kind" : "def"}, {"label" : "onScrollFinished", "tail" : "(): ObjectProperty[EventHandler[_ >: ScrollEvent]]", "member" : "scalafx.scene.Scene.onScrollFinished", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onScrollFinished:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]]", "kind" : "def"}, {"label" : "onRotationStarted_=", "tail" : "(v: EventHandler[_ >: RotateEvent]): Unit", "member" : "scalafx.scene.Scene.onRotationStarted_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onRotationStarted_=(v:javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]):Unit", "kind" : "def"}, {"label" : "onRotationStarted", "tail" : "(): ObjectProperty[EventHandler[_ >: RotateEvent]]", "member" : "scalafx.scene.Scene.onRotationStarted", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onRotationStarted:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]]", "kind" : "def"}, {"label" : "onRotationFinished_=", "tail" : "(v: EventHandler[_ >: RotateEvent]): Unit", "member" : "scalafx.scene.Scene.onRotationFinished_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onRotationFinished_=(v:javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]):Unit", "kind" : "def"}, {"label" : "onRotationFinished", "tail" : "(): ObjectProperty[EventHandler[_ >: RotateEvent]]", "member" : "scalafx.scene.Scene.onRotationFinished", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onRotationFinished:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]]", "kind" : "def"}, {"label" : "onRotate_=", "tail" : "(v: EventHandler[_ >: RotateEvent]): Unit", "member" : "scalafx.scene.Scene.onRotate_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onRotate_=(v:javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]):Unit", "kind" : "def"}, {"label" : "onRotate", "tail" : "(): ObjectProperty[EventHandler[_ >: RotateEvent]]", "member" : "scalafx.scene.Scene.onRotate", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onRotate:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]]", "kind" : "def"}, {"label" : "focusOwner", "tail" : "(): ReadOnlyObjectProperty[Node]", "member" : "scalafx.scene.Scene.focusOwner", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#focusOwner:scalafx.beans.property.ReadOnlyObjectProperty[javafx.scene.Node]", "kind" : "def"}, {"label" : "startFullDrag", "tail" : "(): Unit", "member" : "scalafx.scene.Scene.startFullDrag", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#startFullDrag():Unit", "kind" : "def"}, {"label" : "startDragAndDrop", "tail" : "(transferModes: TransferMode*): Dragboard", "member" : "scalafx.scene.Scene.startDragAndDrop", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#startDragAndDrop(transferModes:scalafx.scene.input.TransferMode*):scalafx.scene.input.Dragboard", "kind" : "def"}, {"label" : "accelerators", "tail" : "(): ObservableMap[KeyCombination, Runnable]", "member" : "scalafx.scene.Scene.accelerators", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#accelerators:javafx.collections.ObservableMap[javafx.scene.input.KeyCombination,Runnable]", "kind" : "def"}, {"label" : "getMnemonics", "tail" : "(): ObservableMap[KeyCombination, ObservableList[Mnemonic]]", "member" : "scalafx.scene.Scene.getMnemonics", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#getMnemonics:javafx.collections.ObservableMap[javafx.scene.input.KeyCombination,javafx.collections.ObservableList[javafx.scene.input.Mnemonic]]", "kind" : "def"}, {"label" : "removeMnemonic", "tail" : "(m: Mnemonic): Unit", "member" : "scalafx.scene.Scene.removeMnemonic", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#removeMnemonic(m:scalafx.scene.input.Mnemonic):Unit", "kind" : "def"}, {"label" : "addMnemonic", "tail" : "(m: Mnemonic): Unit", "member" : "scalafx.scene.Scene.addMnemonic", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#addMnemonic(m:scalafx.scene.input.Mnemonic):Unit", "kind" : "def"}, {"label" : "lookup", "tail" : "(selector: String): Option[Node]", "member" : "scalafx.scene.Scene.lookup", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#lookup(selector:String):Option[scalafx.scene.Node]", "kind" : "def"}, {"label" : "stylesheets_=", "tail" : "(c: Iterable[String]): Unit", "member" : "scalafx.scene.Scene.stylesheets_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#stylesheets_=(c:Iterable[String]):Unit", "kind" : "def"}, {"label" : "stylesheets", "tail" : "(): ObservableList[String]", "member" : "scalafx.scene.Scene.stylesheets", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#stylesheets:javafx.collections.ObservableList[String]", "kind" : "def"}, {"label" : "depthBuffer", "tail" : "(): Boolean", "member" : "scalafx.scene.Scene.depthBuffer", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#depthBuffer:Boolean", "kind" : "def"}, {"label" : "y", "tail" : "(): ReadOnlyDoubleProperty", "member" : "scalafx.scene.Scene.y", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#y:scalafx.beans.property.ReadOnlyDoubleProperty", "kind" : "def"}, {"label" : "x", "tail" : "(): ReadOnlyDoubleProperty", "member" : "scalafx.scene.Scene.x", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#x:scalafx.beans.property.ReadOnlyDoubleProperty", "kind" : "def"}, {"label" : "window", "tail" : "(): ReadOnlyObjectProperty[Window]", "member" : "scalafx.scene.Scene.window", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#window:scalafx.beans.property.ReadOnlyObjectProperty[javafx.stage.Window]", "kind" : "def"}, {"label" : "userAgentStylesheet_=", "tail" : "(url: String): Unit", "member" : "scalafx.scene.Scene.userAgentStylesheet_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#userAgentStylesheet_=(url:String):Unit", "kind" : "def"}, {"label" : "userAgentStylesheet", "tail" : "(): ObjectProperty[String]", "member" : "scalafx.scene.Scene.userAgentStylesheet", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#userAgentStylesheet:scalafx.beans.property.ObjectProperty[String]", "kind" : "def"}, {"label" : "onScroll_=", "tail" : "(v: EventHandler[_ >: ScrollEvent]): Unit", "member" : "scalafx.scene.Scene.onScroll_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onScroll_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]):Unit", "kind" : "def"}, {"label" : "onScroll", "tail" : "(): ObjectProperty[EventHandler[_ >: ScrollEvent]]", "member" : "scalafx.scene.Scene.onScroll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onScroll:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]]", "kind" : "def"}, {"label" : "onMouseReleased_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseReleased_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onMouseReleased_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseReleased", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Scene.onMouseReleased", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onMouseReleased:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMousePressed_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Scene.onMousePressed_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onMousePressed_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMousePressed", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Scene.onMousePressed", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onMousePressed:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseMoved_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseMoved_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onMouseMoved_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseMoved", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Scene.onMouseMoved", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onMouseMoved:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseExited_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseExited_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onMouseExited_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseExited", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Scene.onMouseExited", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onMouseExited:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseEntered_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseEntered_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onMouseEntered_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseEntered", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Scene.onMouseEntered", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onMouseEntered:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseDragReleased_=", "tail" : "(v: EventHandler[_ >: MouseDragEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseDragReleased_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onMouseDragReleased_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragReleased", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseDragEvent]]", "member" : "scalafx.scene.Scene.onMouseDragReleased", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onMouseDragReleased:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]]", "kind" : "def"}, {"label" : "onMouseDragOver_=", "tail" : "(v: EventHandler[_ >: MouseDragEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseDragOver_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onMouseDragOver_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragOver", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseDragEvent]]", "member" : "scalafx.scene.Scene.onMouseDragOver", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onMouseDragOver:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]]", "kind" : "def"}, {"label" : "onMouseDragExited_=", "tail" : "(v: EventHandler[_ >: MouseDragEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseDragExited_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onMouseDragExited_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragExited", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseDragEvent]]", "member" : "scalafx.scene.Scene.onMouseDragExited", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onMouseDragExited:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]]", "kind" : "def"}, {"label" : "onMouseDragEntered_=", "tail" : "(v: EventHandler[_ >: MouseDragEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseDragEntered_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onMouseDragEntered_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragEntered", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseDragEvent]]", "member" : "scalafx.scene.Scene.onMouseDragEntered", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onMouseDragEntered:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]]", "kind" : "def"}, {"label" : "onMouseDragged_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseDragged_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onMouseDragged_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragged", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Scene.onMouseDragged", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onMouseDragged:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseClicked_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseClicked_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onMouseClicked_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseClicked", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Scene.onMouseClicked", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onMouseClicked:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onKeyTyped_=", "tail" : "(v: EventHandler[_ >: KeyEvent]): Unit", "member" : "scalafx.scene.Scene.onKeyTyped_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onKeyTyped_=(v:javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]):Unit", "kind" : "def"}, {"label" : "onKeyTyped", "tail" : "(): ObjectProperty[EventHandler[_ >: KeyEvent]]", "member" : "scalafx.scene.Scene.onKeyTyped", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onKeyTyped:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]]", "kind" : "def"}, {"label" : "onKeyReleased_=", "tail" : "(v: EventHandler[_ >: KeyEvent]): Unit", "member" : "scalafx.scene.Scene.onKeyReleased_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onKeyReleased_=(v:javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]):Unit", "kind" : "def"}, {"label" : "onKeyReleased", "tail" : "(): ObjectProperty[EventHandler[_ >: KeyEvent]]", "member" : "scalafx.scene.Scene.onKeyReleased", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onKeyReleased:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]]", "kind" : "def"}, {"label" : "onKeyPressed_=", "tail" : "(v: EventHandler[_ >: KeyEvent]): Unit", "member" : "scalafx.scene.Scene.onKeyPressed_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onKeyPressed_=(v:javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]):Unit", "kind" : "def"}, {"label" : "onKeyPressed", "tail" : "(): ObjectProperty[EventHandler[_ >: KeyEvent]]", "member" : "scalafx.scene.Scene.onKeyPressed", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onKeyPressed:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]]", "kind" : "def"}, {"label" : "onInputMethodTextChanged_=", "tail" : "(v: EventHandler[_ >: InputMethodEvent]): Unit", "member" : "scalafx.scene.Scene.onInputMethodTextChanged_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onInputMethodTextChanged_=(v:javafx.event.EventHandler[_>:javafx.scene.input.InputMethodEvent]):Unit", "kind" : "def"}, {"label" : "onInputMethodTextChanged", "tail" : "(): ObjectProperty[EventHandler[_ >: InputMethodEvent]]", "member" : "scalafx.scene.Scene.onInputMethodTextChanged", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onInputMethodTextChanged:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.InputMethodEvent]]", "kind" : "def"}, {"label" : "onDragOver_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Scene.onDragOver_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onDragOver_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragOver", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Scene.onDragOver", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onDragOver:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragExited_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Scene.onDragExited_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onDragExited_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragExited", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Scene.onDragExited", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onDragExited:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragEntered_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Scene.onDragEntered_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onDragEntered_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragEntered", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Scene.onDragEntered", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onDragEntered:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragDropped_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Scene.onDragDropped_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onDragDropped_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragDropped", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Scene.onDragDropped", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onDragDropped:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragDone_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Scene.onDragDone_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onDragDone_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragDone", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Scene.onDragDone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onDragDone:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragDetected_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Scene.onDragDetected_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onDragDetected_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onDragDetected", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Scene.onDragDetected", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onDragDetected:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onContextMenuRequested_=", "tail" : "(v: EventHandler[_ >: ContextMenuEvent]): Unit", "member" : "scalafx.scene.Scene.onContextMenuRequested_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onContextMenuRequested_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ContextMenuEvent]):Unit", "kind" : "def"}, {"label" : "onContextMenuRequested", "tail" : "(): ObjectProperty[EventHandler[_ >: ContextMenuEvent]]", "member" : "scalafx.scene.Scene.onContextMenuRequested", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#onContextMenuRequested:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ContextMenuEvent]]", "kind" : "def"}, {"label" : "nodeOrientation_=", "tail" : "(v: NodeOrientation): Unit", "member" : "scalafx.scene.Scene.nodeOrientation_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#nodeOrientation_=(v:scalafx.geometry.NodeOrientation):Unit", "kind" : "def"}, {"label" : "nodeOrientation", "tail" : "(): ObjectProperty[NodeOrientation]", "member" : "scalafx.scene.Scene.nodeOrientation", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#nodeOrientation:scalafx.beans.property.ObjectProperty[javafx.geometry.NodeOrientation]", "kind" : "def"}, {"label" : "width", "tail" : "(): ReadOnlyDoubleProperty", "member" : "scalafx.scene.Scene.width", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#width:scalafx.beans.property.ReadOnlyDoubleProperty", "kind" : "def"}, {"label" : "height", "tail" : "(): ReadOnlyDoubleProperty", "member" : "scalafx.scene.Scene.height", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#height:scalafx.beans.property.ReadOnlyDoubleProperty", "kind" : "def"}, {"label" : "fill_=", "tail" : "(v: Paint): Unit", "member" : "scalafx.scene.Scene.fill_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#fill_=(v:scalafx.scene.paint.Paint):Unit", "kind" : "def"}, {"label" : "fill", "tail" : "(): ObjectProperty[Paint]", "member" : "scalafx.scene.Scene.fill", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#fill:scalafx.beans.property.ObjectProperty[javafx.scene.paint.Paint]", "kind" : "def"}, {"label" : "eventDispatcher_=", "tail" : "(v: EventDispatcher): Unit", "member" : "scalafx.scene.Scene.eventDispatcher_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#eventDispatcher_=(v:javafx.event.EventDispatcher):Unit", "kind" : "def"}, {"label" : "eventDispatcher", "tail" : "(): ObjectProperty[EventDispatcher]", "member" : "scalafx.scene.Scene.eventDispatcher", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#eventDispatcher:scalafx.beans.property.ObjectProperty[javafx.event.EventDispatcher]", "kind" : "def"}, {"label" : "effectiveNodeOrientation", "tail" : "(): ReadOnlyObjectProperty[NodeOrientation]", "member" : "scalafx.scene.Scene.effectiveNodeOrientation", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#effectiveNodeOrientation:scalafx.beans.property.ReadOnlyObjectProperty[javafx.geometry.NodeOrientation]", "kind" : "def"}, {"label" : "cursor_=", "tail" : "(v: Cursor): Unit", "member" : "scalafx.scene.Scene.cursor_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#cursor_=(v:scalafx.scene.Cursor):Unit", "kind" : "def"}, {"label" : "cursor", "tail" : "(): ObjectProperty[Cursor]", "member" : "scalafx.scene.Scene.cursor", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#cursor:scalafx.beans.property.ObjectProperty[javafx.scene.Cursor]", "kind" : "def"}, {"label" : "camera_=", "tail" : "(v: Camera): Unit", "member" : "scalafx.scene.Scene.camera_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#camera_=(v:scalafx.scene.Camera):Unit", "kind" : "def"}, {"label" : "camera", "tail" : "(): ObjectProperty[Camera]", "member" : "scalafx.scene.Scene.camera", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#camera:scalafx.beans.property.ObjectProperty[javafx.scene.Camera]", "kind" : "def"}, {"label" : "content_=", "tail" : "(n: Node): Unit", "member" : "scalafx.scene.Scene.content_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#content_=(n:scalafx.scene.Node):Unit", "kind" : "def"}, {"label" : "content_=", "tail" : "(c: Iterable[Node]): Unit", "member" : "scalafx.scene.Scene.content_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#content_=(c:Iterable[scalafx.scene.Node]):Unit", "kind" : "def"}, {"label" : "content", "tail" : "(): ObservableList[Node]", "member" : "scalafx.scene.Scene.content", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#content:javafx.collections.ObservableList[javafx.scene.Node]", "kind" : "def"}, {"label" : "antialiasing", "tail" : "(): SceneAntialiasing", "member" : "scalafx.scene.Scene.antialiasing", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#antialiasing:scalafx.scene.SceneAntialiasing", "kind" : "def"}, {"label" : "getChildren", "tail" : "(): ObservableList[Node]", "member" : "scalafx.scene.Scene.getChildren", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#getChildren:javafx.collections.ObservableList[javafx.scene.Node]", "kind" : "def"}, {"label" : "root_=", "tail" : "(v: Parent): Unit", "member" : "scalafx.scene.Scene.root_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#root_=(v:scalafx.scene.Parent):Unit", "kind" : "def"}, {"label" : "root", "tail" : "(): ObjectProperty[Parent]", "member" : "scalafx.scene.Scene.root", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#root:scalafx.beans.property.ObjectProperty[javafx.scene.Parent]", "kind" : "def"}, {"label" : "delegate", "tail" : ": Scene", "member" : "scalafx.scene.Scene.delegate", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#delegate:javafx.scene.Scene", "kind" : "val"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scalafx.delegate.SFXDelegate.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#hashCode():Int", "kind" : "def"}, {"label" : "equals", "tail" : "(ref: Any): Boolean", "member" : "scalafx.delegate.SFXDelegate.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#equals(ref:Any):Boolean", "kind" : "def"}, {"label" : "toString", "tail" : "(): String", "member" : "scalafx.delegate.SFXDelegate.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#toString():String", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#clone():Object", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "case class" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/BaseScene.html", "kind" : "case class"}, {"name" : "it.unibo.osmos.redux.mvc.view.scenes.LevelScene", "shortDescription" : "This scene holds and manages a single level", "members_class" : [{"label" : "onLevelEnd", "tail" : "(levelResult: Boolean): Unit", "member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelScene.onLevelEnd", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onLevelEnd(levelResult:Boolean):Unit", "kind" : "def"}, {"label" : "onDrawEntities", "tail" : "(playerEntity: Option[DrawableWrapper], entities: Seq[DrawableWrapper]): Unit", "member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelScene.onDrawEntities", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onDrawEntities(playerEntity:Option[it.unibo.osmos.redux.mvc.view.drawables.DrawableWrapper],entities:Seq[it.unibo.osmos.redux.mvc.view.drawables.DrawableWrapper]):Unit", "kind" : "def"}, {"label" : "onLevelSetup", "tail" : "(mapShape: MapShape): Unit", "member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelScene.onLevelSetup", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onLevelSetup(mapShape:it.unibo.osmos.redux.mvc.model.MapShape):Unit", "kind" : "def"}, {"label" : "onExit", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelScene.onExit", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onExit():Unit", "kind" : "def"}, {"label" : "onResume", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelScene.onResume", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onResume():Unit", "kind" : "def"}, {"label" : "onPause", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelScene.onPause", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onPause():Unit", "kind" : "def"}, {"label" : "levelContext_=", "tail" : "(levelContext: LevelContext): Unit", "member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelScene.levelContext_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#levelContext_=(levelContext:it.unibo.osmos.redux.mvc.view.levels.LevelContext):Unit", "kind" : "def"}, {"label" : "levelContext", "tail" : "(): Option[LevelContext]", "member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelScene.levelContext", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#levelContext:Option[it.unibo.osmos.redux.mvc.view.levels.LevelContext]", "kind" : "def"}, {"member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelScene#", "error" : "unsupported entity"}, {"label" : "listener", "tail" : ": LevelSceneListener", "member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelScene.listener", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#listener:it.unibo.osmos.redux.mvc.view.scenes.LevelSceneListener", "kind" : "val"}, {"label" : "parentStage", "tail" : ": Stage", "member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelScene.parentStage", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#parentStage:scalafx.stage.Stage", "kind" : "val"}, {"label" : "snapshot", "tail" : "(callback: (SnapshotResult) ⇒ Unit, image: WritableImage): Unit", "member" : "scalafx.scene.Scene.snapshot", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#snapshot(callback:scalafx.scene.SnapshotResult=>Unit,image:scalafx.scene.image.WritableImage):Unit", "kind" : "def"}, {"label" : "snapshot", "tail" : "(image: WritableImage): WritableImage", "member" : "scalafx.scene.Scene.snapshot", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#snapshot(image:scalafx.scene.image.WritableImage):scalafx.scene.image.WritableImage", "kind" : "def"}, {"label" : "onTouchStationary_=", "tail" : "(v: EventHandler[_ >: TouchEvent]): Unit", "member" : "scalafx.scene.Scene.onTouchStationary_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onTouchStationary_=(v:javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]):Unit", "kind" : "def"}, {"label" : "onTouchStationary", "tail" : "(): ObjectProperty[EventHandler[_ >: TouchEvent]]", "member" : "scalafx.scene.Scene.onTouchStationary", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onTouchStationary:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]]", "kind" : "def"}, {"label" : "onTouchReleased_=", "tail" : "(v: EventHandler[_ >: TouchEvent]): Unit", "member" : "scalafx.scene.Scene.onTouchReleased_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onTouchReleased_=(v:javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]):Unit", "kind" : "def"}, {"label" : "onTouchReleased", "tail" : "(): ObjectProperty[EventHandler[_ >: TouchEvent]]", "member" : "scalafx.scene.Scene.onTouchReleased", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onTouchReleased:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]]", "kind" : "def"}, {"label" : "onTouchPressed_=", "tail" : "(v: EventHandler[_ >: TouchEvent]): Unit", "member" : "scalafx.scene.Scene.onTouchPressed_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onTouchPressed_=(v:javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]):Unit", "kind" : "def"}, {"label" : "onTouchPressed", "tail" : "(): ObjectProperty[EventHandler[_ >: TouchEvent]]", "member" : "scalafx.scene.Scene.onTouchPressed", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onTouchPressed:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]]", "kind" : "def"}, {"label" : "onTouchMoved_=", "tail" : "(v: EventHandler[_ >: TouchEvent]): Unit", "member" : "scalafx.scene.Scene.onTouchMoved_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onTouchMoved_=(v:javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]):Unit", "kind" : "def"}, {"label" : "onTouchMoved", "tail" : "(): ObjectProperty[EventHandler[_ >: TouchEvent]]", "member" : "scalafx.scene.Scene.onTouchMoved", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onTouchMoved:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]]", "kind" : "def"}, {"label" : "onZoomStarted_=", "tail" : "(v: EventHandler[_ >: ZoomEvent]): Unit", "member" : "scalafx.scene.Scene.onZoomStarted_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onZoomStarted_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]):Unit", "kind" : "def"}, {"label" : "onZoomStarted", "tail" : "(): ObjectProperty[EventHandler[_ >: ZoomEvent]]", "member" : "scalafx.scene.Scene.onZoomStarted", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onZoomStarted:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]]", "kind" : "def"}, {"label" : "onZoomFinished_=", "tail" : "(v: EventHandler[_ >: ZoomEvent]): Unit", "member" : "scalafx.scene.Scene.onZoomFinished_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onZoomFinished_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]):Unit", "kind" : "def"}, {"label" : "onZoomFinished", "tail" : "(): ObjectProperty[EventHandler[_ >: ZoomEvent]]", "member" : "scalafx.scene.Scene.onZoomFinished", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onZoomFinished:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]]", "kind" : "def"}, {"label" : "onZoom_=", "tail" : "(v: EventHandler[_ >: ZoomEvent]): Unit", "member" : "scalafx.scene.Scene.onZoom_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onZoom_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]):Unit", "kind" : "def"}, {"label" : "onZoom", "tail" : "(): ObjectProperty[EventHandler[_ >: ZoomEvent]]", "member" : "scalafx.scene.Scene.onZoom", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onZoom:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]]", "kind" : "def"}, {"label" : "onSwipeRight_=", "tail" : "(v: EventHandler[_ >: SwipeEvent]): Unit", "member" : "scalafx.scene.Scene.onSwipeRight_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onSwipeRight_=(v:javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]):Unit", "kind" : "def"}, {"label" : "onSwipeRight", "tail" : "(): ObjectProperty[EventHandler[_ >: SwipeEvent]]", "member" : "scalafx.scene.Scene.onSwipeRight", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onSwipeRight:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]]", "kind" : "def"}, {"label" : "onSwipeUp_=", "tail" : "(v: EventHandler[_ >: SwipeEvent]): Unit", "member" : "scalafx.scene.Scene.onSwipeUp_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onSwipeUp_=(v:javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]):Unit", "kind" : "def"}, {"label" : "onSwipeUp", "tail" : "(): ObjectProperty[EventHandler[_ >: SwipeEvent]]", "member" : "scalafx.scene.Scene.onSwipeUp", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onSwipeUp:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]]", "kind" : "def"}, {"label" : "onSwipeLeft_=", "tail" : "(v: EventHandler[_ >: SwipeEvent]): Unit", "member" : "scalafx.scene.Scene.onSwipeLeft_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onSwipeLeft_=(v:javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]):Unit", "kind" : "def"}, {"label" : "onSwipeLeft", "tail" : "(): ObjectProperty[EventHandler[_ >: SwipeEvent]]", "member" : "scalafx.scene.Scene.onSwipeLeft", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onSwipeLeft:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]]", "kind" : "def"}, {"label" : "onSwipeDown_=", "tail" : "(v: EventHandler[_ >: SwipeEvent]): Unit", "member" : "scalafx.scene.Scene.onSwipeDown_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onSwipeDown_=(v:javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]):Unit", "kind" : "def"}, {"label" : "onSwipeDown", "tail" : "(): ObjectProperty[EventHandler[_ >: SwipeEvent]]", "member" : "scalafx.scene.Scene.onSwipeDown", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onSwipeDown:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]]", "kind" : "def"}, {"label" : "onScrollStarted_=", "tail" : "(v: EventHandler[_ >: ScrollEvent]): Unit", "member" : "scalafx.scene.Scene.onScrollStarted_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onScrollStarted_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]):Unit", "kind" : "def"}, {"label" : "onScrollStarted", "tail" : "(): ObjectProperty[EventHandler[_ >: ScrollEvent]]", "member" : "scalafx.scene.Scene.onScrollStarted", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onScrollStarted:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]]", "kind" : "def"}, {"label" : "onScrollFinished_=", "tail" : "(v: EventHandler[_ >: ScrollEvent]): Unit", "member" : "scalafx.scene.Scene.onScrollFinished_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onScrollFinished_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]):Unit", "kind" : "def"}, {"label" : "onScrollFinished", "tail" : "(): ObjectProperty[EventHandler[_ >: ScrollEvent]]", "member" : "scalafx.scene.Scene.onScrollFinished", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onScrollFinished:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]]", "kind" : "def"}, {"label" : "onRotationStarted_=", "tail" : "(v: EventHandler[_ >: RotateEvent]): Unit", "member" : "scalafx.scene.Scene.onRotationStarted_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onRotationStarted_=(v:javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]):Unit", "kind" : "def"}, {"label" : "onRotationStarted", "tail" : "(): ObjectProperty[EventHandler[_ >: RotateEvent]]", "member" : "scalafx.scene.Scene.onRotationStarted", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onRotationStarted:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]]", "kind" : "def"}, {"label" : "onRotationFinished_=", "tail" : "(v: EventHandler[_ >: RotateEvent]): Unit", "member" : "scalafx.scene.Scene.onRotationFinished_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onRotationFinished_=(v:javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]):Unit", "kind" : "def"}, {"label" : "onRotationFinished", "tail" : "(): ObjectProperty[EventHandler[_ >: RotateEvent]]", "member" : "scalafx.scene.Scene.onRotationFinished", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onRotationFinished:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]]", "kind" : "def"}, {"label" : "onRotate_=", "tail" : "(v: EventHandler[_ >: RotateEvent]): Unit", "member" : "scalafx.scene.Scene.onRotate_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onRotate_=(v:javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]):Unit", "kind" : "def"}, {"label" : "onRotate", "tail" : "(): ObjectProperty[EventHandler[_ >: RotateEvent]]", "member" : "scalafx.scene.Scene.onRotate", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onRotate:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]]", "kind" : "def"}, {"label" : "focusOwner", "tail" : "(): ReadOnlyObjectProperty[Node]", "member" : "scalafx.scene.Scene.focusOwner", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#focusOwner:scalafx.beans.property.ReadOnlyObjectProperty[javafx.scene.Node]", "kind" : "def"}, {"label" : "startFullDrag", "tail" : "(): Unit", "member" : "scalafx.scene.Scene.startFullDrag", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#startFullDrag():Unit", "kind" : "def"}, {"label" : "startDragAndDrop", "tail" : "(transferModes: TransferMode*): Dragboard", "member" : "scalafx.scene.Scene.startDragAndDrop", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#startDragAndDrop(transferModes:scalafx.scene.input.TransferMode*):scalafx.scene.input.Dragboard", "kind" : "def"}, {"label" : "accelerators", "tail" : "(): ObservableMap[KeyCombination, Runnable]", "member" : "scalafx.scene.Scene.accelerators", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#accelerators:javafx.collections.ObservableMap[javafx.scene.input.KeyCombination,Runnable]", "kind" : "def"}, {"label" : "getMnemonics", "tail" : "(): ObservableMap[KeyCombination, ObservableList[Mnemonic]]", "member" : "scalafx.scene.Scene.getMnemonics", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#getMnemonics:javafx.collections.ObservableMap[javafx.scene.input.KeyCombination,javafx.collections.ObservableList[javafx.scene.input.Mnemonic]]", "kind" : "def"}, {"label" : "removeMnemonic", "tail" : "(m: Mnemonic): Unit", "member" : "scalafx.scene.Scene.removeMnemonic", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#removeMnemonic(m:scalafx.scene.input.Mnemonic):Unit", "kind" : "def"}, {"label" : "addMnemonic", "tail" : "(m: Mnemonic): Unit", "member" : "scalafx.scene.Scene.addMnemonic", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#addMnemonic(m:scalafx.scene.input.Mnemonic):Unit", "kind" : "def"}, {"label" : "lookup", "tail" : "(selector: String): Option[Node]", "member" : "scalafx.scene.Scene.lookup", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#lookup(selector:String):Option[scalafx.scene.Node]", "kind" : "def"}, {"label" : "stylesheets_=", "tail" : "(c: Iterable[String]): Unit", "member" : "scalafx.scene.Scene.stylesheets_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#stylesheets_=(c:Iterable[String]):Unit", "kind" : "def"}, {"label" : "stylesheets", "tail" : "(): ObservableList[String]", "member" : "scalafx.scene.Scene.stylesheets", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#stylesheets:javafx.collections.ObservableList[String]", "kind" : "def"}, {"label" : "depthBuffer", "tail" : "(): Boolean", "member" : "scalafx.scene.Scene.depthBuffer", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#depthBuffer:Boolean", "kind" : "def"}, {"label" : "y", "tail" : "(): ReadOnlyDoubleProperty", "member" : "scalafx.scene.Scene.y", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#y:scalafx.beans.property.ReadOnlyDoubleProperty", "kind" : "def"}, {"label" : "x", "tail" : "(): ReadOnlyDoubleProperty", "member" : "scalafx.scene.Scene.x", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#x:scalafx.beans.property.ReadOnlyDoubleProperty", "kind" : "def"}, {"label" : "window", "tail" : "(): ReadOnlyObjectProperty[Window]", "member" : "scalafx.scene.Scene.window", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#window:scalafx.beans.property.ReadOnlyObjectProperty[javafx.stage.Window]", "kind" : "def"}, {"label" : "userAgentStylesheet_=", "tail" : "(url: String): Unit", "member" : "scalafx.scene.Scene.userAgentStylesheet_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#userAgentStylesheet_=(url:String):Unit", "kind" : "def"}, {"label" : "userAgentStylesheet", "tail" : "(): ObjectProperty[String]", "member" : "scalafx.scene.Scene.userAgentStylesheet", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#userAgentStylesheet:scalafx.beans.property.ObjectProperty[String]", "kind" : "def"}, {"label" : "onScroll_=", "tail" : "(v: EventHandler[_ >: ScrollEvent]): Unit", "member" : "scalafx.scene.Scene.onScroll_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onScroll_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]):Unit", "kind" : "def"}, {"label" : "onScroll", "tail" : "(): ObjectProperty[EventHandler[_ >: ScrollEvent]]", "member" : "scalafx.scene.Scene.onScroll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onScroll:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]]", "kind" : "def"}, {"label" : "onMouseReleased_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseReleased_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onMouseReleased_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseReleased", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Scene.onMouseReleased", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onMouseReleased:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMousePressed_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Scene.onMousePressed_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onMousePressed_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMousePressed", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Scene.onMousePressed", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onMousePressed:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseMoved_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseMoved_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onMouseMoved_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseMoved", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Scene.onMouseMoved", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onMouseMoved:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseExited_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseExited_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onMouseExited_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseExited", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Scene.onMouseExited", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onMouseExited:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseEntered_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseEntered_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onMouseEntered_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseEntered", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Scene.onMouseEntered", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onMouseEntered:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseDragReleased_=", "tail" : "(v: EventHandler[_ >: MouseDragEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseDragReleased_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onMouseDragReleased_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragReleased", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseDragEvent]]", "member" : "scalafx.scene.Scene.onMouseDragReleased", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onMouseDragReleased:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]]", "kind" : "def"}, {"label" : "onMouseDragOver_=", "tail" : "(v: EventHandler[_ >: MouseDragEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseDragOver_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onMouseDragOver_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragOver", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseDragEvent]]", "member" : "scalafx.scene.Scene.onMouseDragOver", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onMouseDragOver:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]]", "kind" : "def"}, {"label" : "onMouseDragExited_=", "tail" : "(v: EventHandler[_ >: MouseDragEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseDragExited_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onMouseDragExited_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragExited", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseDragEvent]]", "member" : "scalafx.scene.Scene.onMouseDragExited", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onMouseDragExited:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]]", "kind" : "def"}, {"label" : "onMouseDragEntered_=", "tail" : "(v: EventHandler[_ >: MouseDragEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseDragEntered_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onMouseDragEntered_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragEntered", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseDragEvent]]", "member" : "scalafx.scene.Scene.onMouseDragEntered", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onMouseDragEntered:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]]", "kind" : "def"}, {"label" : "onMouseDragged_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseDragged_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onMouseDragged_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragged", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Scene.onMouseDragged", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onMouseDragged:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseClicked_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseClicked_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onMouseClicked_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseClicked", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Scene.onMouseClicked", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onMouseClicked:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onKeyTyped_=", "tail" : "(v: EventHandler[_ >: KeyEvent]): Unit", "member" : "scalafx.scene.Scene.onKeyTyped_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onKeyTyped_=(v:javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]):Unit", "kind" : "def"}, {"label" : "onKeyTyped", "tail" : "(): ObjectProperty[EventHandler[_ >: KeyEvent]]", "member" : "scalafx.scene.Scene.onKeyTyped", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onKeyTyped:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]]", "kind" : "def"}, {"label" : "onKeyReleased_=", "tail" : "(v: EventHandler[_ >: KeyEvent]): Unit", "member" : "scalafx.scene.Scene.onKeyReleased_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onKeyReleased_=(v:javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]):Unit", "kind" : "def"}, {"label" : "onKeyReleased", "tail" : "(): ObjectProperty[EventHandler[_ >: KeyEvent]]", "member" : "scalafx.scene.Scene.onKeyReleased", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onKeyReleased:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]]", "kind" : "def"}, {"label" : "onKeyPressed_=", "tail" : "(v: EventHandler[_ >: KeyEvent]): Unit", "member" : "scalafx.scene.Scene.onKeyPressed_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onKeyPressed_=(v:javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]):Unit", "kind" : "def"}, {"label" : "onKeyPressed", "tail" : "(): ObjectProperty[EventHandler[_ >: KeyEvent]]", "member" : "scalafx.scene.Scene.onKeyPressed", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onKeyPressed:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]]", "kind" : "def"}, {"label" : "onInputMethodTextChanged_=", "tail" : "(v: EventHandler[_ >: InputMethodEvent]): Unit", "member" : "scalafx.scene.Scene.onInputMethodTextChanged_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onInputMethodTextChanged_=(v:javafx.event.EventHandler[_>:javafx.scene.input.InputMethodEvent]):Unit", "kind" : "def"}, {"label" : "onInputMethodTextChanged", "tail" : "(): ObjectProperty[EventHandler[_ >: InputMethodEvent]]", "member" : "scalafx.scene.Scene.onInputMethodTextChanged", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onInputMethodTextChanged:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.InputMethodEvent]]", "kind" : "def"}, {"label" : "onDragOver_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Scene.onDragOver_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onDragOver_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragOver", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Scene.onDragOver", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onDragOver:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragExited_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Scene.onDragExited_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onDragExited_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragExited", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Scene.onDragExited", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onDragExited:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragEntered_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Scene.onDragEntered_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onDragEntered_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragEntered", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Scene.onDragEntered", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onDragEntered:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragDropped_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Scene.onDragDropped_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onDragDropped_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragDropped", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Scene.onDragDropped", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onDragDropped:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragDone_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Scene.onDragDone_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onDragDone_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragDone", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Scene.onDragDone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onDragDone:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragDetected_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Scene.onDragDetected_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onDragDetected_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onDragDetected", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Scene.onDragDetected", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onDragDetected:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onContextMenuRequested_=", "tail" : "(v: EventHandler[_ >: ContextMenuEvent]): Unit", "member" : "scalafx.scene.Scene.onContextMenuRequested_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onContextMenuRequested_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ContextMenuEvent]):Unit", "kind" : "def"}, {"label" : "onContextMenuRequested", "tail" : "(): ObjectProperty[EventHandler[_ >: ContextMenuEvent]]", "member" : "scalafx.scene.Scene.onContextMenuRequested", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#onContextMenuRequested:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ContextMenuEvent]]", "kind" : "def"}, {"label" : "nodeOrientation_=", "tail" : "(v: NodeOrientation): Unit", "member" : "scalafx.scene.Scene.nodeOrientation_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#nodeOrientation_=(v:scalafx.geometry.NodeOrientation):Unit", "kind" : "def"}, {"label" : "nodeOrientation", "tail" : "(): ObjectProperty[NodeOrientation]", "member" : "scalafx.scene.Scene.nodeOrientation", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#nodeOrientation:scalafx.beans.property.ObjectProperty[javafx.geometry.NodeOrientation]", "kind" : "def"}, {"label" : "width", "tail" : "(): ReadOnlyDoubleProperty", "member" : "scalafx.scene.Scene.width", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#width:scalafx.beans.property.ReadOnlyDoubleProperty", "kind" : "def"}, {"label" : "height", "tail" : "(): ReadOnlyDoubleProperty", "member" : "scalafx.scene.Scene.height", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#height:scalafx.beans.property.ReadOnlyDoubleProperty", "kind" : "def"}, {"label" : "fill_=", "tail" : "(v: Paint): Unit", "member" : "scalafx.scene.Scene.fill_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#fill_=(v:scalafx.scene.paint.Paint):Unit", "kind" : "def"}, {"label" : "fill", "tail" : "(): ObjectProperty[Paint]", "member" : "scalafx.scene.Scene.fill", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#fill:scalafx.beans.property.ObjectProperty[javafx.scene.paint.Paint]", "kind" : "def"}, {"label" : "eventDispatcher_=", "tail" : "(v: EventDispatcher): Unit", "member" : "scalafx.scene.Scene.eventDispatcher_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#eventDispatcher_=(v:javafx.event.EventDispatcher):Unit", "kind" : "def"}, {"label" : "eventDispatcher", "tail" : "(): ObjectProperty[EventDispatcher]", "member" : "scalafx.scene.Scene.eventDispatcher", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#eventDispatcher:scalafx.beans.property.ObjectProperty[javafx.event.EventDispatcher]", "kind" : "def"}, {"label" : "effectiveNodeOrientation", "tail" : "(): ReadOnlyObjectProperty[NodeOrientation]", "member" : "scalafx.scene.Scene.effectiveNodeOrientation", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#effectiveNodeOrientation:scalafx.beans.property.ReadOnlyObjectProperty[javafx.geometry.NodeOrientation]", "kind" : "def"}, {"label" : "cursor_=", "tail" : "(v: Cursor): Unit", "member" : "scalafx.scene.Scene.cursor_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#cursor_=(v:scalafx.scene.Cursor):Unit", "kind" : "def"}, {"label" : "cursor", "tail" : "(): ObjectProperty[Cursor]", "member" : "scalafx.scene.Scene.cursor", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#cursor:scalafx.beans.property.ObjectProperty[javafx.scene.Cursor]", "kind" : "def"}, {"label" : "camera_=", "tail" : "(v: Camera): Unit", "member" : "scalafx.scene.Scene.camera_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#camera_=(v:scalafx.scene.Camera):Unit", "kind" : "def"}, {"label" : "camera", "tail" : "(): ObjectProperty[Camera]", "member" : "scalafx.scene.Scene.camera", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#camera:scalafx.beans.property.ObjectProperty[javafx.scene.Camera]", "kind" : "def"}, {"label" : "content_=", "tail" : "(n: Node): Unit", "member" : "scalafx.scene.Scene.content_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#content_=(n:scalafx.scene.Node):Unit", "kind" : "def"}, {"label" : "content_=", "tail" : "(c: Iterable[Node]): Unit", "member" : "scalafx.scene.Scene.content_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#content_=(c:Iterable[scalafx.scene.Node]):Unit", "kind" : "def"}, {"label" : "content", "tail" : "(): ObservableList[Node]", "member" : "scalafx.scene.Scene.content", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#content:javafx.collections.ObservableList[javafx.scene.Node]", "kind" : "def"}, {"label" : "antialiasing", "tail" : "(): SceneAntialiasing", "member" : "scalafx.scene.Scene.antialiasing", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#antialiasing:scalafx.scene.SceneAntialiasing", "kind" : "def"}, {"label" : "getChildren", "tail" : "(): ObservableList[Node]", "member" : "scalafx.scene.Scene.getChildren", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#getChildren:javafx.collections.ObservableList[javafx.scene.Node]", "kind" : "def"}, {"label" : "root_=", "tail" : "(v: Parent): Unit", "member" : "scalafx.scene.Scene.root_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#root_=(v:scalafx.scene.Parent):Unit", "kind" : "def"}, {"label" : "root", "tail" : "(): ObjectProperty[Parent]", "member" : "scalafx.scene.Scene.root", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#root:scalafx.beans.property.ObjectProperty[javafx.scene.Parent]", "kind" : "def"}, {"label" : "delegate", "tail" : ": Scene", "member" : "scalafx.scene.Scene.delegate", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#delegate:javafx.scene.Scene", "kind" : "val"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scalafx.delegate.SFXDelegate.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#hashCode():Int", "kind" : "def"}, {"label" : "equals", "tail" : "(ref: Any): Boolean", "member" : "scalafx.delegate.SFXDelegate.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#equals(ref:Any):Boolean", "kind" : "def"}, {"label" : "toString", "tail" : "(): String", "member" : "scalafx.delegate.SFXDelegate.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#toString():String", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#clone():Object", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "class" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelScene.html", "kind" : "class"}, {"name" : "it.unibo.osmos.redux.mvc.view.scenes.LevelSceneListener", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSceneListener.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSceneListener.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSceneListener.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSceneListener.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSceneListener.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSceneListener.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSceneListener.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSceneListener.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSceneListener.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSceneListener.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSceneListener.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSceneListener.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSceneListener.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSceneListener.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSceneListener.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSceneListener.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSceneListener.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSceneListener.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSceneListener.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "onStopLevel", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelSceneListener.onStopLevel", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSceneListener.html#onStopLevel():Unit", "kind" : "abstract def"}, {"label" : "onResumeLevel", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelSceneListener.onResumeLevel", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSceneListener.html#onResumeLevel():Unit", "kind" : "abstract def"}, {"label" : "onPauseLevel", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelSceneListener.onPauseLevel", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSceneListener.html#onPauseLevel():Unit", "kind" : "abstract def"}, {"label" : "onStartLevel", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelSceneListener.onStartLevel", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSceneListener.html#onStartLevel():Unit", "kind" : "abstract def"}], "shortDescription" : "Trait which gets notified when a LevelScene event occurs", "trait" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSceneListener.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.mvc.view.scenes.LevelSelectionScene", "shortDescription" : "This scene lets the players choose which level they want to play", "members_class" : [{"label" : "onStopLevel", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelSelectionScene.onStopLevel", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onStopLevel():Unit", "kind" : "def"}, {"label" : "onResumeLevel", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelSelectionScene.onResumeLevel", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onResumeLevel():Unit", "kind" : "def"}, {"label" : "onPauseLevel", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelSelectionScene.onPauseLevel", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onPauseLevel():Unit", "kind" : "def"}, {"label" : "onStartLevel", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelSelectionScene.onStartLevel", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onStartLevel():Unit", "kind" : "def"}, {"label" : "onLevelPlayClick", "tail" : "(level: Int, simulation: Boolean): Unit", "member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelSelectionScene.onLevelPlayClick", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onLevelPlayClick(level:Int,simulation:Boolean):Unit", "kind" : "def"}, {"label" : "onFullScreenSettingClick", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelSelectionScene.onFullScreenSettingClick", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onFullScreenSettingClick():Unit", "kind" : "def"}, {"label" : "numLevels", "tail" : ": Int", "member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelSelectionScene.numLevels", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#numLevels:Int", "kind" : "val"}, {"member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelSelectionScene#", "error" : "unsupported entity"}, {"label" : "listener", "tail" : ": LevelSelectionSceneListener", "member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelSelectionScene.listener", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#listener:it.unibo.osmos.redux.mvc.view.scenes.LevelSelectionSceneListener", "kind" : "val"}, {"label" : "parentStage", "tail" : ": Stage", "member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelSelectionScene.parentStage", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#parentStage:scalafx.stage.Stage", "kind" : "val"}, {"label" : "snapshot", "tail" : "(callback: (SnapshotResult) ⇒ Unit, image: WritableImage): Unit", "member" : "scalafx.scene.Scene.snapshot", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#snapshot(callback:scalafx.scene.SnapshotResult=>Unit,image:scalafx.scene.image.WritableImage):Unit", "kind" : "def"}, {"label" : "snapshot", "tail" : "(image: WritableImage): WritableImage", "member" : "scalafx.scene.Scene.snapshot", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#snapshot(image:scalafx.scene.image.WritableImage):scalafx.scene.image.WritableImage", "kind" : "def"}, {"label" : "onTouchStationary_=", "tail" : "(v: EventHandler[_ >: TouchEvent]): Unit", "member" : "scalafx.scene.Scene.onTouchStationary_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onTouchStationary_=(v:javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]):Unit", "kind" : "def"}, {"label" : "onTouchStationary", "tail" : "(): ObjectProperty[EventHandler[_ >: TouchEvent]]", "member" : "scalafx.scene.Scene.onTouchStationary", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onTouchStationary:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]]", "kind" : "def"}, {"label" : "onTouchReleased_=", "tail" : "(v: EventHandler[_ >: TouchEvent]): Unit", "member" : "scalafx.scene.Scene.onTouchReleased_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onTouchReleased_=(v:javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]):Unit", "kind" : "def"}, {"label" : "onTouchReleased", "tail" : "(): ObjectProperty[EventHandler[_ >: TouchEvent]]", "member" : "scalafx.scene.Scene.onTouchReleased", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onTouchReleased:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]]", "kind" : "def"}, {"label" : "onTouchPressed_=", "tail" : "(v: EventHandler[_ >: TouchEvent]): Unit", "member" : "scalafx.scene.Scene.onTouchPressed_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onTouchPressed_=(v:javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]):Unit", "kind" : "def"}, {"label" : "onTouchPressed", "tail" : "(): ObjectProperty[EventHandler[_ >: TouchEvent]]", "member" : "scalafx.scene.Scene.onTouchPressed", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onTouchPressed:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]]", "kind" : "def"}, {"label" : "onTouchMoved_=", "tail" : "(v: EventHandler[_ >: TouchEvent]): Unit", "member" : "scalafx.scene.Scene.onTouchMoved_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onTouchMoved_=(v:javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]):Unit", "kind" : "def"}, {"label" : "onTouchMoved", "tail" : "(): ObjectProperty[EventHandler[_ >: TouchEvent]]", "member" : "scalafx.scene.Scene.onTouchMoved", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onTouchMoved:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]]", "kind" : "def"}, {"label" : "onZoomStarted_=", "tail" : "(v: EventHandler[_ >: ZoomEvent]): Unit", "member" : "scalafx.scene.Scene.onZoomStarted_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onZoomStarted_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]):Unit", "kind" : "def"}, {"label" : "onZoomStarted", "tail" : "(): ObjectProperty[EventHandler[_ >: ZoomEvent]]", "member" : "scalafx.scene.Scene.onZoomStarted", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onZoomStarted:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]]", "kind" : "def"}, {"label" : "onZoomFinished_=", "tail" : "(v: EventHandler[_ >: ZoomEvent]): Unit", "member" : "scalafx.scene.Scene.onZoomFinished_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onZoomFinished_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]):Unit", "kind" : "def"}, {"label" : "onZoomFinished", "tail" : "(): ObjectProperty[EventHandler[_ >: ZoomEvent]]", "member" : "scalafx.scene.Scene.onZoomFinished", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onZoomFinished:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]]", "kind" : "def"}, {"label" : "onZoom_=", "tail" : "(v: EventHandler[_ >: ZoomEvent]): Unit", "member" : "scalafx.scene.Scene.onZoom_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onZoom_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]):Unit", "kind" : "def"}, {"label" : "onZoom", "tail" : "(): ObjectProperty[EventHandler[_ >: ZoomEvent]]", "member" : "scalafx.scene.Scene.onZoom", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onZoom:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]]", "kind" : "def"}, {"label" : "onSwipeRight_=", "tail" : "(v: EventHandler[_ >: SwipeEvent]): Unit", "member" : "scalafx.scene.Scene.onSwipeRight_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onSwipeRight_=(v:javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]):Unit", "kind" : "def"}, {"label" : "onSwipeRight", "tail" : "(): ObjectProperty[EventHandler[_ >: SwipeEvent]]", "member" : "scalafx.scene.Scene.onSwipeRight", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onSwipeRight:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]]", "kind" : "def"}, {"label" : "onSwipeUp_=", "tail" : "(v: EventHandler[_ >: SwipeEvent]): Unit", "member" : "scalafx.scene.Scene.onSwipeUp_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onSwipeUp_=(v:javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]):Unit", "kind" : "def"}, {"label" : "onSwipeUp", "tail" : "(): ObjectProperty[EventHandler[_ >: SwipeEvent]]", "member" : "scalafx.scene.Scene.onSwipeUp", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onSwipeUp:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]]", "kind" : "def"}, {"label" : "onSwipeLeft_=", "tail" : "(v: EventHandler[_ >: SwipeEvent]): Unit", "member" : "scalafx.scene.Scene.onSwipeLeft_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onSwipeLeft_=(v:javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]):Unit", "kind" : "def"}, {"label" : "onSwipeLeft", "tail" : "(): ObjectProperty[EventHandler[_ >: SwipeEvent]]", "member" : "scalafx.scene.Scene.onSwipeLeft", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onSwipeLeft:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]]", "kind" : "def"}, {"label" : "onSwipeDown_=", "tail" : "(v: EventHandler[_ >: SwipeEvent]): Unit", "member" : "scalafx.scene.Scene.onSwipeDown_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onSwipeDown_=(v:javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]):Unit", "kind" : "def"}, {"label" : "onSwipeDown", "tail" : "(): ObjectProperty[EventHandler[_ >: SwipeEvent]]", "member" : "scalafx.scene.Scene.onSwipeDown", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onSwipeDown:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]]", "kind" : "def"}, {"label" : "onScrollStarted_=", "tail" : "(v: EventHandler[_ >: ScrollEvent]): Unit", "member" : "scalafx.scene.Scene.onScrollStarted_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onScrollStarted_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]):Unit", "kind" : "def"}, {"label" : "onScrollStarted", "tail" : "(): ObjectProperty[EventHandler[_ >: ScrollEvent]]", "member" : "scalafx.scene.Scene.onScrollStarted", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onScrollStarted:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]]", "kind" : "def"}, {"label" : "onScrollFinished_=", "tail" : "(v: EventHandler[_ >: ScrollEvent]): Unit", "member" : "scalafx.scene.Scene.onScrollFinished_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onScrollFinished_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]):Unit", "kind" : "def"}, {"label" : "onScrollFinished", "tail" : "(): ObjectProperty[EventHandler[_ >: ScrollEvent]]", "member" : "scalafx.scene.Scene.onScrollFinished", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onScrollFinished:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]]", "kind" : "def"}, {"label" : "onRotationStarted_=", "tail" : "(v: EventHandler[_ >: RotateEvent]): Unit", "member" : "scalafx.scene.Scene.onRotationStarted_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onRotationStarted_=(v:javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]):Unit", "kind" : "def"}, {"label" : "onRotationStarted", "tail" : "(): ObjectProperty[EventHandler[_ >: RotateEvent]]", "member" : "scalafx.scene.Scene.onRotationStarted", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onRotationStarted:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]]", "kind" : "def"}, {"label" : "onRotationFinished_=", "tail" : "(v: EventHandler[_ >: RotateEvent]): Unit", "member" : "scalafx.scene.Scene.onRotationFinished_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onRotationFinished_=(v:javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]):Unit", "kind" : "def"}, {"label" : "onRotationFinished", "tail" : "(): ObjectProperty[EventHandler[_ >: RotateEvent]]", "member" : "scalafx.scene.Scene.onRotationFinished", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onRotationFinished:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]]", "kind" : "def"}, {"label" : "onRotate_=", "tail" : "(v: EventHandler[_ >: RotateEvent]): Unit", "member" : "scalafx.scene.Scene.onRotate_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onRotate_=(v:javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]):Unit", "kind" : "def"}, {"label" : "onRotate", "tail" : "(): ObjectProperty[EventHandler[_ >: RotateEvent]]", "member" : "scalafx.scene.Scene.onRotate", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onRotate:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]]", "kind" : "def"}, {"label" : "focusOwner", "tail" : "(): ReadOnlyObjectProperty[Node]", "member" : "scalafx.scene.Scene.focusOwner", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#focusOwner:scalafx.beans.property.ReadOnlyObjectProperty[javafx.scene.Node]", "kind" : "def"}, {"label" : "startFullDrag", "tail" : "(): Unit", "member" : "scalafx.scene.Scene.startFullDrag", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#startFullDrag():Unit", "kind" : "def"}, {"label" : "startDragAndDrop", "tail" : "(transferModes: TransferMode*): Dragboard", "member" : "scalafx.scene.Scene.startDragAndDrop", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#startDragAndDrop(transferModes:scalafx.scene.input.TransferMode*):scalafx.scene.input.Dragboard", "kind" : "def"}, {"label" : "accelerators", "tail" : "(): ObservableMap[KeyCombination, Runnable]", "member" : "scalafx.scene.Scene.accelerators", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#accelerators:javafx.collections.ObservableMap[javafx.scene.input.KeyCombination,Runnable]", "kind" : "def"}, {"label" : "getMnemonics", "tail" : "(): ObservableMap[KeyCombination, ObservableList[Mnemonic]]", "member" : "scalafx.scene.Scene.getMnemonics", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#getMnemonics:javafx.collections.ObservableMap[javafx.scene.input.KeyCombination,javafx.collections.ObservableList[javafx.scene.input.Mnemonic]]", "kind" : "def"}, {"label" : "removeMnemonic", "tail" : "(m: Mnemonic): Unit", "member" : "scalafx.scene.Scene.removeMnemonic", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#removeMnemonic(m:scalafx.scene.input.Mnemonic):Unit", "kind" : "def"}, {"label" : "addMnemonic", "tail" : "(m: Mnemonic): Unit", "member" : "scalafx.scene.Scene.addMnemonic", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#addMnemonic(m:scalafx.scene.input.Mnemonic):Unit", "kind" : "def"}, {"label" : "lookup", "tail" : "(selector: String): Option[Node]", "member" : "scalafx.scene.Scene.lookup", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#lookup(selector:String):Option[scalafx.scene.Node]", "kind" : "def"}, {"label" : "stylesheets_=", "tail" : "(c: Iterable[String]): Unit", "member" : "scalafx.scene.Scene.stylesheets_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#stylesheets_=(c:Iterable[String]):Unit", "kind" : "def"}, {"label" : "stylesheets", "tail" : "(): ObservableList[String]", "member" : "scalafx.scene.Scene.stylesheets", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#stylesheets:javafx.collections.ObservableList[String]", "kind" : "def"}, {"label" : "depthBuffer", "tail" : "(): Boolean", "member" : "scalafx.scene.Scene.depthBuffer", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#depthBuffer:Boolean", "kind" : "def"}, {"label" : "y", "tail" : "(): ReadOnlyDoubleProperty", "member" : "scalafx.scene.Scene.y", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#y:scalafx.beans.property.ReadOnlyDoubleProperty", "kind" : "def"}, {"label" : "x", "tail" : "(): ReadOnlyDoubleProperty", "member" : "scalafx.scene.Scene.x", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#x:scalafx.beans.property.ReadOnlyDoubleProperty", "kind" : "def"}, {"label" : "window", "tail" : "(): ReadOnlyObjectProperty[Window]", "member" : "scalafx.scene.Scene.window", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#window:scalafx.beans.property.ReadOnlyObjectProperty[javafx.stage.Window]", "kind" : "def"}, {"label" : "userAgentStylesheet_=", "tail" : "(url: String): Unit", "member" : "scalafx.scene.Scene.userAgentStylesheet_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#userAgentStylesheet_=(url:String):Unit", "kind" : "def"}, {"label" : "userAgentStylesheet", "tail" : "(): ObjectProperty[String]", "member" : "scalafx.scene.Scene.userAgentStylesheet", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#userAgentStylesheet:scalafx.beans.property.ObjectProperty[String]", "kind" : "def"}, {"label" : "onScroll_=", "tail" : "(v: EventHandler[_ >: ScrollEvent]): Unit", "member" : "scalafx.scene.Scene.onScroll_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onScroll_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]):Unit", "kind" : "def"}, {"label" : "onScroll", "tail" : "(): ObjectProperty[EventHandler[_ >: ScrollEvent]]", "member" : "scalafx.scene.Scene.onScroll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onScroll:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]]", "kind" : "def"}, {"label" : "onMouseReleased_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseReleased_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onMouseReleased_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseReleased", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Scene.onMouseReleased", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onMouseReleased:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMousePressed_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Scene.onMousePressed_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onMousePressed_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMousePressed", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Scene.onMousePressed", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onMousePressed:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseMoved_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseMoved_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onMouseMoved_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseMoved", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Scene.onMouseMoved", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onMouseMoved:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseExited_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseExited_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onMouseExited_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseExited", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Scene.onMouseExited", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onMouseExited:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseEntered_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseEntered_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onMouseEntered_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseEntered", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Scene.onMouseEntered", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onMouseEntered:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseDragReleased_=", "tail" : "(v: EventHandler[_ >: MouseDragEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseDragReleased_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onMouseDragReleased_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragReleased", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseDragEvent]]", "member" : "scalafx.scene.Scene.onMouseDragReleased", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onMouseDragReleased:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]]", "kind" : "def"}, {"label" : "onMouseDragOver_=", "tail" : "(v: EventHandler[_ >: MouseDragEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseDragOver_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onMouseDragOver_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragOver", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseDragEvent]]", "member" : "scalafx.scene.Scene.onMouseDragOver", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onMouseDragOver:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]]", "kind" : "def"}, {"label" : "onMouseDragExited_=", "tail" : "(v: EventHandler[_ >: MouseDragEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseDragExited_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onMouseDragExited_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragExited", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseDragEvent]]", "member" : "scalafx.scene.Scene.onMouseDragExited", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onMouseDragExited:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]]", "kind" : "def"}, {"label" : "onMouseDragEntered_=", "tail" : "(v: EventHandler[_ >: MouseDragEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseDragEntered_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onMouseDragEntered_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragEntered", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseDragEvent]]", "member" : "scalafx.scene.Scene.onMouseDragEntered", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onMouseDragEntered:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]]", "kind" : "def"}, {"label" : "onMouseDragged_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseDragged_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onMouseDragged_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragged", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Scene.onMouseDragged", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onMouseDragged:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseClicked_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseClicked_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onMouseClicked_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseClicked", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Scene.onMouseClicked", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onMouseClicked:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onKeyTyped_=", "tail" : "(v: EventHandler[_ >: KeyEvent]): Unit", "member" : "scalafx.scene.Scene.onKeyTyped_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onKeyTyped_=(v:javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]):Unit", "kind" : "def"}, {"label" : "onKeyTyped", "tail" : "(): ObjectProperty[EventHandler[_ >: KeyEvent]]", "member" : "scalafx.scene.Scene.onKeyTyped", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onKeyTyped:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]]", "kind" : "def"}, {"label" : "onKeyReleased_=", "tail" : "(v: EventHandler[_ >: KeyEvent]): Unit", "member" : "scalafx.scene.Scene.onKeyReleased_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onKeyReleased_=(v:javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]):Unit", "kind" : "def"}, {"label" : "onKeyReleased", "tail" : "(): ObjectProperty[EventHandler[_ >: KeyEvent]]", "member" : "scalafx.scene.Scene.onKeyReleased", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onKeyReleased:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]]", "kind" : "def"}, {"label" : "onKeyPressed_=", "tail" : "(v: EventHandler[_ >: KeyEvent]): Unit", "member" : "scalafx.scene.Scene.onKeyPressed_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onKeyPressed_=(v:javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]):Unit", "kind" : "def"}, {"label" : "onKeyPressed", "tail" : "(): ObjectProperty[EventHandler[_ >: KeyEvent]]", "member" : "scalafx.scene.Scene.onKeyPressed", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onKeyPressed:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]]", "kind" : "def"}, {"label" : "onInputMethodTextChanged_=", "tail" : "(v: EventHandler[_ >: InputMethodEvent]): Unit", "member" : "scalafx.scene.Scene.onInputMethodTextChanged_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onInputMethodTextChanged_=(v:javafx.event.EventHandler[_>:javafx.scene.input.InputMethodEvent]):Unit", "kind" : "def"}, {"label" : "onInputMethodTextChanged", "tail" : "(): ObjectProperty[EventHandler[_ >: InputMethodEvent]]", "member" : "scalafx.scene.Scene.onInputMethodTextChanged", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onInputMethodTextChanged:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.InputMethodEvent]]", "kind" : "def"}, {"label" : "onDragOver_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Scene.onDragOver_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onDragOver_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragOver", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Scene.onDragOver", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onDragOver:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragExited_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Scene.onDragExited_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onDragExited_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragExited", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Scene.onDragExited", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onDragExited:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragEntered_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Scene.onDragEntered_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onDragEntered_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragEntered", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Scene.onDragEntered", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onDragEntered:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragDropped_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Scene.onDragDropped_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onDragDropped_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragDropped", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Scene.onDragDropped", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onDragDropped:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragDone_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Scene.onDragDone_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onDragDone_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragDone", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Scene.onDragDone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onDragDone:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragDetected_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Scene.onDragDetected_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onDragDetected_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onDragDetected", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Scene.onDragDetected", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onDragDetected:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onContextMenuRequested_=", "tail" : "(v: EventHandler[_ >: ContextMenuEvent]): Unit", "member" : "scalafx.scene.Scene.onContextMenuRequested_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onContextMenuRequested_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ContextMenuEvent]):Unit", "kind" : "def"}, {"label" : "onContextMenuRequested", "tail" : "(): ObjectProperty[EventHandler[_ >: ContextMenuEvent]]", "member" : "scalafx.scene.Scene.onContextMenuRequested", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#onContextMenuRequested:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ContextMenuEvent]]", "kind" : "def"}, {"label" : "nodeOrientation_=", "tail" : "(v: NodeOrientation): Unit", "member" : "scalafx.scene.Scene.nodeOrientation_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#nodeOrientation_=(v:scalafx.geometry.NodeOrientation):Unit", "kind" : "def"}, {"label" : "nodeOrientation", "tail" : "(): ObjectProperty[NodeOrientation]", "member" : "scalafx.scene.Scene.nodeOrientation", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#nodeOrientation:scalafx.beans.property.ObjectProperty[javafx.geometry.NodeOrientation]", "kind" : "def"}, {"label" : "width", "tail" : "(): ReadOnlyDoubleProperty", "member" : "scalafx.scene.Scene.width", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#width:scalafx.beans.property.ReadOnlyDoubleProperty", "kind" : "def"}, {"label" : "height", "tail" : "(): ReadOnlyDoubleProperty", "member" : "scalafx.scene.Scene.height", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#height:scalafx.beans.property.ReadOnlyDoubleProperty", "kind" : "def"}, {"label" : "fill_=", "tail" : "(v: Paint): Unit", "member" : "scalafx.scene.Scene.fill_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#fill_=(v:scalafx.scene.paint.Paint):Unit", "kind" : "def"}, {"label" : "fill", "tail" : "(): ObjectProperty[Paint]", "member" : "scalafx.scene.Scene.fill", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#fill:scalafx.beans.property.ObjectProperty[javafx.scene.paint.Paint]", "kind" : "def"}, {"label" : "eventDispatcher_=", "tail" : "(v: EventDispatcher): Unit", "member" : "scalafx.scene.Scene.eventDispatcher_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#eventDispatcher_=(v:javafx.event.EventDispatcher):Unit", "kind" : "def"}, {"label" : "eventDispatcher", "tail" : "(): ObjectProperty[EventDispatcher]", "member" : "scalafx.scene.Scene.eventDispatcher", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#eventDispatcher:scalafx.beans.property.ObjectProperty[javafx.event.EventDispatcher]", "kind" : "def"}, {"label" : "effectiveNodeOrientation", "tail" : "(): ReadOnlyObjectProperty[NodeOrientation]", "member" : "scalafx.scene.Scene.effectiveNodeOrientation", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#effectiveNodeOrientation:scalafx.beans.property.ReadOnlyObjectProperty[javafx.geometry.NodeOrientation]", "kind" : "def"}, {"label" : "cursor_=", "tail" : "(v: Cursor): Unit", "member" : "scalafx.scene.Scene.cursor_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#cursor_=(v:scalafx.scene.Cursor):Unit", "kind" : "def"}, {"label" : "cursor", "tail" : "(): ObjectProperty[Cursor]", "member" : "scalafx.scene.Scene.cursor", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#cursor:scalafx.beans.property.ObjectProperty[javafx.scene.Cursor]", "kind" : "def"}, {"label" : "camera_=", "tail" : "(v: Camera): Unit", "member" : "scalafx.scene.Scene.camera_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#camera_=(v:scalafx.scene.Camera):Unit", "kind" : "def"}, {"label" : "camera", "tail" : "(): ObjectProperty[Camera]", "member" : "scalafx.scene.Scene.camera", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#camera:scalafx.beans.property.ObjectProperty[javafx.scene.Camera]", "kind" : "def"}, {"label" : "content_=", "tail" : "(n: Node): Unit", "member" : "scalafx.scene.Scene.content_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#content_=(n:scalafx.scene.Node):Unit", "kind" : "def"}, {"label" : "content_=", "tail" : "(c: Iterable[Node]): Unit", "member" : "scalafx.scene.Scene.content_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#content_=(c:Iterable[scalafx.scene.Node]):Unit", "kind" : "def"}, {"label" : "content", "tail" : "(): ObservableList[Node]", "member" : "scalafx.scene.Scene.content", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#content:javafx.collections.ObservableList[javafx.scene.Node]", "kind" : "def"}, {"label" : "antialiasing", "tail" : "(): SceneAntialiasing", "member" : "scalafx.scene.Scene.antialiasing", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#antialiasing:scalafx.scene.SceneAntialiasing", "kind" : "def"}, {"label" : "getChildren", "tail" : "(): ObservableList[Node]", "member" : "scalafx.scene.Scene.getChildren", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#getChildren:javafx.collections.ObservableList[javafx.scene.Node]", "kind" : "def"}, {"label" : "root_=", "tail" : "(v: Parent): Unit", "member" : "scalafx.scene.Scene.root_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#root_=(v:scalafx.scene.Parent):Unit", "kind" : "def"}, {"label" : "root", "tail" : "(): ObjectProperty[Parent]", "member" : "scalafx.scene.Scene.root", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#root:scalafx.beans.property.ObjectProperty[javafx.scene.Parent]", "kind" : "def"}, {"label" : "delegate", "tail" : ": Scene", "member" : "scalafx.scene.Scene.delegate", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#delegate:javafx.scene.Scene", "kind" : "val"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scalafx.delegate.SFXDelegate.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#hashCode():Int", "kind" : "def"}, {"label" : "equals", "tail" : "(ref: Any): Boolean", "member" : "scalafx.delegate.SFXDelegate.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#equals(ref:Any):Boolean", "kind" : "def"}, {"label" : "toString", "tail" : "(): String", "member" : "scalafx.delegate.SFXDelegate.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#toString():String", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#clone():Object", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "class" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionScene.html", "kind" : "class"}, {"name" : "it.unibo.osmos.redux.mvc.view.scenes.LevelSelectionSceneListener", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionSceneListener.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionSceneListener.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionSceneListener.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionSceneListener.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionSceneListener.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionSceneListener.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionSceneListener.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionSceneListener.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionSceneListener.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionSceneListener.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionSceneListener.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionSceneListener.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionSceneListener.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionSceneListener.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionSceneListener.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionSceneListener.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionSceneListener.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionSceneListener.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionSceneListener.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "onLevelContextCreated", "tail" : "(levelContext: LevelContext, level: Int, simulation: Boolean): Unit", "member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelSelectionSceneListener.onLevelContextCreated", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionSceneListener.html#onLevelContextCreated(levelContext:it.unibo.osmos.redux.mvc.view.levels.LevelContext,level:Int,simulation:Boolean):Unit", "kind" : "abstract def"}, {"label" : "onStopLevel", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelSceneListener.onStopLevel", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionSceneListener.html#onStopLevel():Unit", "kind" : "abstract def"}, {"label" : "onResumeLevel", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelSceneListener.onResumeLevel", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionSceneListener.html#onResumeLevel():Unit", "kind" : "abstract def"}, {"label" : "onPauseLevel", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelSceneListener.onPauseLevel", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionSceneListener.html#onPauseLevel():Unit", "kind" : "abstract def"}, {"label" : "onStartLevel", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.view.scenes.LevelSceneListener.onStartLevel", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionSceneListener.html#onStartLevel():Unit", "kind" : "abstract def"}], "shortDescription" : "Trait which gets notified when a LevelSelectionSceneListener event occurs", "trait" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/LevelSelectionSceneListener.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.mvc.view.scenes.MainScene", "shortDescription" : "Opening scene, showing the menu and the menu bar", "members_class" : [{"label" : "onFullScreenSettingClick", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.view.scenes.MainScene.onFullScreenSettingClick", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onFullScreenSettingClick():Unit", "kind" : "def"}, {"label" : "onExitClick", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.view.scenes.MainScene.onExitClick", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onExitClick():Unit", "kind" : "def"}, {"label" : "onPlayClick", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.view.scenes.MainScene.onPlayClick", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onPlayClick():Unit", "kind" : "def"}, {"member" : "it.unibo.osmos.redux.mvc.view.scenes.MainScene#", "error" : "unsupported entity"}, {"label" : "listener", "tail" : ": MainSceneListener", "member" : "it.unibo.osmos.redux.mvc.view.scenes.MainScene.listener", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#listener:it.unibo.osmos.redux.mvc.view.scenes.MainSceneListener", "kind" : "val"}, {"label" : "parentStage", "tail" : ": Stage", "member" : "it.unibo.osmos.redux.mvc.view.scenes.MainScene.parentStage", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#parentStage:scalafx.stage.Stage", "kind" : "val"}, {"label" : "snapshot", "tail" : "(callback: (SnapshotResult) ⇒ Unit, image: WritableImage): Unit", "member" : "scalafx.scene.Scene.snapshot", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#snapshot(callback:scalafx.scene.SnapshotResult=>Unit,image:scalafx.scene.image.WritableImage):Unit", "kind" : "def"}, {"label" : "snapshot", "tail" : "(image: WritableImage): WritableImage", "member" : "scalafx.scene.Scene.snapshot", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#snapshot(image:scalafx.scene.image.WritableImage):scalafx.scene.image.WritableImage", "kind" : "def"}, {"label" : "onTouchStationary_=", "tail" : "(v: EventHandler[_ >: TouchEvent]): Unit", "member" : "scalafx.scene.Scene.onTouchStationary_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onTouchStationary_=(v:javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]):Unit", "kind" : "def"}, {"label" : "onTouchStationary", "tail" : "(): ObjectProperty[EventHandler[_ >: TouchEvent]]", "member" : "scalafx.scene.Scene.onTouchStationary", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onTouchStationary:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]]", "kind" : "def"}, {"label" : "onTouchReleased_=", "tail" : "(v: EventHandler[_ >: TouchEvent]): Unit", "member" : "scalafx.scene.Scene.onTouchReleased_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onTouchReleased_=(v:javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]):Unit", "kind" : "def"}, {"label" : "onTouchReleased", "tail" : "(): ObjectProperty[EventHandler[_ >: TouchEvent]]", "member" : "scalafx.scene.Scene.onTouchReleased", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onTouchReleased:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]]", "kind" : "def"}, {"label" : "onTouchPressed_=", "tail" : "(v: EventHandler[_ >: TouchEvent]): Unit", "member" : "scalafx.scene.Scene.onTouchPressed_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onTouchPressed_=(v:javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]):Unit", "kind" : "def"}, {"label" : "onTouchPressed", "tail" : "(): ObjectProperty[EventHandler[_ >: TouchEvent]]", "member" : "scalafx.scene.Scene.onTouchPressed", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onTouchPressed:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]]", "kind" : "def"}, {"label" : "onTouchMoved_=", "tail" : "(v: EventHandler[_ >: TouchEvent]): Unit", "member" : "scalafx.scene.Scene.onTouchMoved_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onTouchMoved_=(v:javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]):Unit", "kind" : "def"}, {"label" : "onTouchMoved", "tail" : "(): ObjectProperty[EventHandler[_ >: TouchEvent]]", "member" : "scalafx.scene.Scene.onTouchMoved", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onTouchMoved:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.TouchEvent]]", "kind" : "def"}, {"label" : "onZoomStarted_=", "tail" : "(v: EventHandler[_ >: ZoomEvent]): Unit", "member" : "scalafx.scene.Scene.onZoomStarted_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onZoomStarted_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]):Unit", "kind" : "def"}, {"label" : "onZoomStarted", "tail" : "(): ObjectProperty[EventHandler[_ >: ZoomEvent]]", "member" : "scalafx.scene.Scene.onZoomStarted", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onZoomStarted:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]]", "kind" : "def"}, {"label" : "onZoomFinished_=", "tail" : "(v: EventHandler[_ >: ZoomEvent]): Unit", "member" : "scalafx.scene.Scene.onZoomFinished_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onZoomFinished_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]):Unit", "kind" : "def"}, {"label" : "onZoomFinished", "tail" : "(): ObjectProperty[EventHandler[_ >: ZoomEvent]]", "member" : "scalafx.scene.Scene.onZoomFinished", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onZoomFinished:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]]", "kind" : "def"}, {"label" : "onZoom_=", "tail" : "(v: EventHandler[_ >: ZoomEvent]): Unit", "member" : "scalafx.scene.Scene.onZoom_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onZoom_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]):Unit", "kind" : "def"}, {"label" : "onZoom", "tail" : "(): ObjectProperty[EventHandler[_ >: ZoomEvent]]", "member" : "scalafx.scene.Scene.onZoom", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onZoom:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ZoomEvent]]", "kind" : "def"}, {"label" : "onSwipeRight_=", "tail" : "(v: EventHandler[_ >: SwipeEvent]): Unit", "member" : "scalafx.scene.Scene.onSwipeRight_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onSwipeRight_=(v:javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]):Unit", "kind" : "def"}, {"label" : "onSwipeRight", "tail" : "(): ObjectProperty[EventHandler[_ >: SwipeEvent]]", "member" : "scalafx.scene.Scene.onSwipeRight", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onSwipeRight:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]]", "kind" : "def"}, {"label" : "onSwipeUp_=", "tail" : "(v: EventHandler[_ >: SwipeEvent]): Unit", "member" : "scalafx.scene.Scene.onSwipeUp_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onSwipeUp_=(v:javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]):Unit", "kind" : "def"}, {"label" : "onSwipeUp", "tail" : "(): ObjectProperty[EventHandler[_ >: SwipeEvent]]", "member" : "scalafx.scene.Scene.onSwipeUp", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onSwipeUp:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]]", "kind" : "def"}, {"label" : "onSwipeLeft_=", "tail" : "(v: EventHandler[_ >: SwipeEvent]): Unit", "member" : "scalafx.scene.Scene.onSwipeLeft_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onSwipeLeft_=(v:javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]):Unit", "kind" : "def"}, {"label" : "onSwipeLeft", "tail" : "(): ObjectProperty[EventHandler[_ >: SwipeEvent]]", "member" : "scalafx.scene.Scene.onSwipeLeft", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onSwipeLeft:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]]", "kind" : "def"}, {"label" : "onSwipeDown_=", "tail" : "(v: EventHandler[_ >: SwipeEvent]): Unit", "member" : "scalafx.scene.Scene.onSwipeDown_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onSwipeDown_=(v:javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]):Unit", "kind" : "def"}, {"label" : "onSwipeDown", "tail" : "(): ObjectProperty[EventHandler[_ >: SwipeEvent]]", "member" : "scalafx.scene.Scene.onSwipeDown", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onSwipeDown:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.SwipeEvent]]", "kind" : "def"}, {"label" : "onScrollStarted_=", "tail" : "(v: EventHandler[_ >: ScrollEvent]): Unit", "member" : "scalafx.scene.Scene.onScrollStarted_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onScrollStarted_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]):Unit", "kind" : "def"}, {"label" : "onScrollStarted", "tail" : "(): ObjectProperty[EventHandler[_ >: ScrollEvent]]", "member" : "scalafx.scene.Scene.onScrollStarted", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onScrollStarted:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]]", "kind" : "def"}, {"label" : "onScrollFinished_=", "tail" : "(v: EventHandler[_ >: ScrollEvent]): Unit", "member" : "scalafx.scene.Scene.onScrollFinished_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onScrollFinished_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]):Unit", "kind" : "def"}, {"label" : "onScrollFinished", "tail" : "(): ObjectProperty[EventHandler[_ >: ScrollEvent]]", "member" : "scalafx.scene.Scene.onScrollFinished", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onScrollFinished:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]]", "kind" : "def"}, {"label" : "onRotationStarted_=", "tail" : "(v: EventHandler[_ >: RotateEvent]): Unit", "member" : "scalafx.scene.Scene.onRotationStarted_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onRotationStarted_=(v:javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]):Unit", "kind" : "def"}, {"label" : "onRotationStarted", "tail" : "(): ObjectProperty[EventHandler[_ >: RotateEvent]]", "member" : "scalafx.scene.Scene.onRotationStarted", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onRotationStarted:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]]", "kind" : "def"}, {"label" : "onRotationFinished_=", "tail" : "(v: EventHandler[_ >: RotateEvent]): Unit", "member" : "scalafx.scene.Scene.onRotationFinished_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onRotationFinished_=(v:javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]):Unit", "kind" : "def"}, {"label" : "onRotationFinished", "tail" : "(): ObjectProperty[EventHandler[_ >: RotateEvent]]", "member" : "scalafx.scene.Scene.onRotationFinished", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onRotationFinished:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]]", "kind" : "def"}, {"label" : "onRotate_=", "tail" : "(v: EventHandler[_ >: RotateEvent]): Unit", "member" : "scalafx.scene.Scene.onRotate_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onRotate_=(v:javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]):Unit", "kind" : "def"}, {"label" : "onRotate", "tail" : "(): ObjectProperty[EventHandler[_ >: RotateEvent]]", "member" : "scalafx.scene.Scene.onRotate", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onRotate:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.RotateEvent]]", "kind" : "def"}, {"label" : "focusOwner", "tail" : "(): ReadOnlyObjectProperty[Node]", "member" : "scalafx.scene.Scene.focusOwner", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#focusOwner:scalafx.beans.property.ReadOnlyObjectProperty[javafx.scene.Node]", "kind" : "def"}, {"label" : "startFullDrag", "tail" : "(): Unit", "member" : "scalafx.scene.Scene.startFullDrag", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#startFullDrag():Unit", "kind" : "def"}, {"label" : "startDragAndDrop", "tail" : "(transferModes: TransferMode*): Dragboard", "member" : "scalafx.scene.Scene.startDragAndDrop", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#startDragAndDrop(transferModes:scalafx.scene.input.TransferMode*):scalafx.scene.input.Dragboard", "kind" : "def"}, {"label" : "accelerators", "tail" : "(): ObservableMap[KeyCombination, Runnable]", "member" : "scalafx.scene.Scene.accelerators", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#accelerators:javafx.collections.ObservableMap[javafx.scene.input.KeyCombination,Runnable]", "kind" : "def"}, {"label" : "getMnemonics", "tail" : "(): ObservableMap[KeyCombination, ObservableList[Mnemonic]]", "member" : "scalafx.scene.Scene.getMnemonics", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#getMnemonics:javafx.collections.ObservableMap[javafx.scene.input.KeyCombination,javafx.collections.ObservableList[javafx.scene.input.Mnemonic]]", "kind" : "def"}, {"label" : "removeMnemonic", "tail" : "(m: Mnemonic): Unit", "member" : "scalafx.scene.Scene.removeMnemonic", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#removeMnemonic(m:scalafx.scene.input.Mnemonic):Unit", "kind" : "def"}, {"label" : "addMnemonic", "tail" : "(m: Mnemonic): Unit", "member" : "scalafx.scene.Scene.addMnemonic", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#addMnemonic(m:scalafx.scene.input.Mnemonic):Unit", "kind" : "def"}, {"label" : "lookup", "tail" : "(selector: String): Option[Node]", "member" : "scalafx.scene.Scene.lookup", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#lookup(selector:String):Option[scalafx.scene.Node]", "kind" : "def"}, {"label" : "stylesheets_=", "tail" : "(c: Iterable[String]): Unit", "member" : "scalafx.scene.Scene.stylesheets_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#stylesheets_=(c:Iterable[String]):Unit", "kind" : "def"}, {"label" : "stylesheets", "tail" : "(): ObservableList[String]", "member" : "scalafx.scene.Scene.stylesheets", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#stylesheets:javafx.collections.ObservableList[String]", "kind" : "def"}, {"label" : "depthBuffer", "tail" : "(): Boolean", "member" : "scalafx.scene.Scene.depthBuffer", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#depthBuffer:Boolean", "kind" : "def"}, {"label" : "y", "tail" : "(): ReadOnlyDoubleProperty", "member" : "scalafx.scene.Scene.y", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#y:scalafx.beans.property.ReadOnlyDoubleProperty", "kind" : "def"}, {"label" : "x", "tail" : "(): ReadOnlyDoubleProperty", "member" : "scalafx.scene.Scene.x", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#x:scalafx.beans.property.ReadOnlyDoubleProperty", "kind" : "def"}, {"label" : "window", "tail" : "(): ReadOnlyObjectProperty[Window]", "member" : "scalafx.scene.Scene.window", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#window:scalafx.beans.property.ReadOnlyObjectProperty[javafx.stage.Window]", "kind" : "def"}, {"label" : "userAgentStylesheet_=", "tail" : "(url: String): Unit", "member" : "scalafx.scene.Scene.userAgentStylesheet_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#userAgentStylesheet_=(url:String):Unit", "kind" : "def"}, {"label" : "userAgentStylesheet", "tail" : "(): ObjectProperty[String]", "member" : "scalafx.scene.Scene.userAgentStylesheet", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#userAgentStylesheet:scalafx.beans.property.ObjectProperty[String]", "kind" : "def"}, {"label" : "onScroll_=", "tail" : "(v: EventHandler[_ >: ScrollEvent]): Unit", "member" : "scalafx.scene.Scene.onScroll_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onScroll_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]):Unit", "kind" : "def"}, {"label" : "onScroll", "tail" : "(): ObjectProperty[EventHandler[_ >: ScrollEvent]]", "member" : "scalafx.scene.Scene.onScroll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onScroll:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ScrollEvent]]", "kind" : "def"}, {"label" : "onMouseReleased_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseReleased_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onMouseReleased_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseReleased", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Scene.onMouseReleased", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onMouseReleased:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMousePressed_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Scene.onMousePressed_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onMousePressed_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMousePressed", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Scene.onMousePressed", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onMousePressed:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseMoved_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseMoved_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onMouseMoved_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseMoved", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Scene.onMouseMoved", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onMouseMoved:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseExited_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseExited_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onMouseExited_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseExited", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Scene.onMouseExited", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onMouseExited:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseEntered_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseEntered_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onMouseEntered_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseEntered", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Scene.onMouseEntered", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onMouseEntered:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseDragReleased_=", "tail" : "(v: EventHandler[_ >: MouseDragEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseDragReleased_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onMouseDragReleased_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragReleased", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseDragEvent]]", "member" : "scalafx.scene.Scene.onMouseDragReleased", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onMouseDragReleased:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]]", "kind" : "def"}, {"label" : "onMouseDragOver_=", "tail" : "(v: EventHandler[_ >: MouseDragEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseDragOver_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onMouseDragOver_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragOver", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseDragEvent]]", "member" : "scalafx.scene.Scene.onMouseDragOver", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onMouseDragOver:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]]", "kind" : "def"}, {"label" : "onMouseDragExited_=", "tail" : "(v: EventHandler[_ >: MouseDragEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseDragExited_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onMouseDragExited_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragExited", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseDragEvent]]", "member" : "scalafx.scene.Scene.onMouseDragExited", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onMouseDragExited:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]]", "kind" : "def"}, {"label" : "onMouseDragEntered_=", "tail" : "(v: EventHandler[_ >: MouseDragEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseDragEntered_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onMouseDragEntered_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragEntered", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseDragEvent]]", "member" : "scalafx.scene.Scene.onMouseDragEntered", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onMouseDragEntered:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseDragEvent]]", "kind" : "def"}, {"label" : "onMouseDragged_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseDragged_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onMouseDragged_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseDragged", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Scene.onMouseDragged", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onMouseDragged:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onMouseClicked_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Scene.onMouseClicked_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onMouseClicked_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onMouseClicked", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Scene.onMouseClicked", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onMouseClicked:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onKeyTyped_=", "tail" : "(v: EventHandler[_ >: KeyEvent]): Unit", "member" : "scalafx.scene.Scene.onKeyTyped_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onKeyTyped_=(v:javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]):Unit", "kind" : "def"}, {"label" : "onKeyTyped", "tail" : "(): ObjectProperty[EventHandler[_ >: KeyEvent]]", "member" : "scalafx.scene.Scene.onKeyTyped", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onKeyTyped:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]]", "kind" : "def"}, {"label" : "onKeyReleased_=", "tail" : "(v: EventHandler[_ >: KeyEvent]): Unit", "member" : "scalafx.scene.Scene.onKeyReleased_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onKeyReleased_=(v:javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]):Unit", "kind" : "def"}, {"label" : "onKeyReleased", "tail" : "(): ObjectProperty[EventHandler[_ >: KeyEvent]]", "member" : "scalafx.scene.Scene.onKeyReleased", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onKeyReleased:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]]", "kind" : "def"}, {"label" : "onKeyPressed_=", "tail" : "(v: EventHandler[_ >: KeyEvent]): Unit", "member" : "scalafx.scene.Scene.onKeyPressed_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onKeyPressed_=(v:javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]):Unit", "kind" : "def"}, {"label" : "onKeyPressed", "tail" : "(): ObjectProperty[EventHandler[_ >: KeyEvent]]", "member" : "scalafx.scene.Scene.onKeyPressed", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onKeyPressed:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.KeyEvent]]", "kind" : "def"}, {"label" : "onInputMethodTextChanged_=", "tail" : "(v: EventHandler[_ >: InputMethodEvent]): Unit", "member" : "scalafx.scene.Scene.onInputMethodTextChanged_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onInputMethodTextChanged_=(v:javafx.event.EventHandler[_>:javafx.scene.input.InputMethodEvent]):Unit", "kind" : "def"}, {"label" : "onInputMethodTextChanged", "tail" : "(): ObjectProperty[EventHandler[_ >: InputMethodEvent]]", "member" : "scalafx.scene.Scene.onInputMethodTextChanged", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onInputMethodTextChanged:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.InputMethodEvent]]", "kind" : "def"}, {"label" : "onDragOver_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Scene.onDragOver_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onDragOver_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragOver", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Scene.onDragOver", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onDragOver:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragExited_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Scene.onDragExited_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onDragExited_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragExited", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Scene.onDragExited", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onDragExited:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragEntered_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Scene.onDragEntered_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onDragEntered_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragEntered", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Scene.onDragEntered", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onDragEntered:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragDropped_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Scene.onDragDropped_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onDragDropped_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragDropped", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Scene.onDragDropped", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onDragDropped:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragDone_=", "tail" : "(v: EventHandler[_ >: DragEvent]): Unit", "member" : "scalafx.scene.Scene.onDragDone_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onDragDone_=(v:javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]):Unit", "kind" : "def"}, {"label" : "onDragDone", "tail" : "(): ObjectProperty[EventHandler[_ >: DragEvent]]", "member" : "scalafx.scene.Scene.onDragDone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onDragDone:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.DragEvent]]", "kind" : "def"}, {"label" : "onDragDetected_=", "tail" : "(v: EventHandler[_ >: MouseEvent]): Unit", "member" : "scalafx.scene.Scene.onDragDetected_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onDragDetected_=(v:javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]):Unit", "kind" : "def"}, {"label" : "onDragDetected", "tail" : "(): ObjectProperty[EventHandler[_ >: MouseEvent]]", "member" : "scalafx.scene.Scene.onDragDetected", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onDragDetected:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.MouseEvent]]", "kind" : "def"}, {"label" : "onContextMenuRequested_=", "tail" : "(v: EventHandler[_ >: ContextMenuEvent]): Unit", "member" : "scalafx.scene.Scene.onContextMenuRequested_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onContextMenuRequested_=(v:javafx.event.EventHandler[_>:javafx.scene.input.ContextMenuEvent]):Unit", "kind" : "def"}, {"label" : "onContextMenuRequested", "tail" : "(): ObjectProperty[EventHandler[_ >: ContextMenuEvent]]", "member" : "scalafx.scene.Scene.onContextMenuRequested", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#onContextMenuRequested:javafx.beans.property.ObjectProperty[javafx.event.EventHandler[_>:javafx.scene.input.ContextMenuEvent]]", "kind" : "def"}, {"label" : "nodeOrientation_=", "tail" : "(v: NodeOrientation): Unit", "member" : "scalafx.scene.Scene.nodeOrientation_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#nodeOrientation_=(v:scalafx.geometry.NodeOrientation):Unit", "kind" : "def"}, {"label" : "nodeOrientation", "tail" : "(): ObjectProperty[NodeOrientation]", "member" : "scalafx.scene.Scene.nodeOrientation", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#nodeOrientation:scalafx.beans.property.ObjectProperty[javafx.geometry.NodeOrientation]", "kind" : "def"}, {"label" : "width", "tail" : "(): ReadOnlyDoubleProperty", "member" : "scalafx.scene.Scene.width", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#width:scalafx.beans.property.ReadOnlyDoubleProperty", "kind" : "def"}, {"label" : "height", "tail" : "(): ReadOnlyDoubleProperty", "member" : "scalafx.scene.Scene.height", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#height:scalafx.beans.property.ReadOnlyDoubleProperty", "kind" : "def"}, {"label" : "fill_=", "tail" : "(v: Paint): Unit", "member" : "scalafx.scene.Scene.fill_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#fill_=(v:scalafx.scene.paint.Paint):Unit", "kind" : "def"}, {"label" : "fill", "tail" : "(): ObjectProperty[Paint]", "member" : "scalafx.scene.Scene.fill", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#fill:scalafx.beans.property.ObjectProperty[javafx.scene.paint.Paint]", "kind" : "def"}, {"label" : "eventDispatcher_=", "tail" : "(v: EventDispatcher): Unit", "member" : "scalafx.scene.Scene.eventDispatcher_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#eventDispatcher_=(v:javafx.event.EventDispatcher):Unit", "kind" : "def"}, {"label" : "eventDispatcher", "tail" : "(): ObjectProperty[EventDispatcher]", "member" : "scalafx.scene.Scene.eventDispatcher", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#eventDispatcher:scalafx.beans.property.ObjectProperty[javafx.event.EventDispatcher]", "kind" : "def"}, {"label" : "effectiveNodeOrientation", "tail" : "(): ReadOnlyObjectProperty[NodeOrientation]", "member" : "scalafx.scene.Scene.effectiveNodeOrientation", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#effectiveNodeOrientation:scalafx.beans.property.ReadOnlyObjectProperty[javafx.geometry.NodeOrientation]", "kind" : "def"}, {"label" : "cursor_=", "tail" : "(v: Cursor): Unit", "member" : "scalafx.scene.Scene.cursor_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#cursor_=(v:scalafx.scene.Cursor):Unit", "kind" : "def"}, {"label" : "cursor", "tail" : "(): ObjectProperty[Cursor]", "member" : "scalafx.scene.Scene.cursor", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#cursor:scalafx.beans.property.ObjectProperty[javafx.scene.Cursor]", "kind" : "def"}, {"label" : "camera_=", "tail" : "(v: Camera): Unit", "member" : "scalafx.scene.Scene.camera_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#camera_=(v:scalafx.scene.Camera):Unit", "kind" : "def"}, {"label" : "camera", "tail" : "(): ObjectProperty[Camera]", "member" : "scalafx.scene.Scene.camera", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#camera:scalafx.beans.property.ObjectProperty[javafx.scene.Camera]", "kind" : "def"}, {"label" : "content_=", "tail" : "(n: Node): Unit", "member" : "scalafx.scene.Scene.content_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#content_=(n:scalafx.scene.Node):Unit", "kind" : "def"}, {"label" : "content_=", "tail" : "(c: Iterable[Node]): Unit", "member" : "scalafx.scene.Scene.content_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#content_=(c:Iterable[scalafx.scene.Node]):Unit", "kind" : "def"}, {"label" : "content", "tail" : "(): ObservableList[Node]", "member" : "scalafx.scene.Scene.content", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#content:javafx.collections.ObservableList[javafx.scene.Node]", "kind" : "def"}, {"label" : "antialiasing", "tail" : "(): SceneAntialiasing", "member" : "scalafx.scene.Scene.antialiasing", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#antialiasing:scalafx.scene.SceneAntialiasing", "kind" : "def"}, {"label" : "getChildren", "tail" : "(): ObservableList[Node]", "member" : "scalafx.scene.Scene.getChildren", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#getChildren:javafx.collections.ObservableList[javafx.scene.Node]", "kind" : "def"}, {"label" : "root_=", "tail" : "(v: Parent): Unit", "member" : "scalafx.scene.Scene.root_=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#root_=(v:scalafx.scene.Parent):Unit", "kind" : "def"}, {"label" : "root", "tail" : "(): ObjectProperty[Parent]", "member" : "scalafx.scene.Scene.root", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#root:scalafx.beans.property.ObjectProperty[javafx.scene.Parent]", "kind" : "def"}, {"label" : "delegate", "tail" : ": Scene", "member" : "scalafx.scene.Scene.delegate", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#delegate:javafx.scene.Scene", "kind" : "val"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scalafx.delegate.SFXDelegate.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#hashCode():Int", "kind" : "def"}, {"label" : "equals", "tail" : "(ref: Any): Boolean", "member" : "scalafx.delegate.SFXDelegate.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#equals(ref:Any):Boolean", "kind" : "def"}, {"label" : "toString", "tail" : "(): String", "member" : "scalafx.delegate.SFXDelegate.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#toString():String", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#clone():Object", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "class" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainScene.html", "kind" : "class"}, {"name" : "it.unibo.osmos.redux.mvc.view.scenes.MainSceneListener", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainSceneListener.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainSceneListener.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainSceneListener.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainSceneListener.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainSceneListener.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainSceneListener.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainSceneListener.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainSceneListener.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainSceneListener.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainSceneListener.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainSceneListener.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainSceneListener.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainSceneListener.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainSceneListener.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainSceneListener.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainSceneListener.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainSceneListener.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainSceneListener.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainSceneListener.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "onPlayClick", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.view.scenes.MainSceneListener.onPlayClick", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainSceneListener.html#onPlayClick():Unit", "kind" : "abstract def"}], "shortDescription" : "Trait which gets notified when a MainScene event occurs", "trait" : "it\/unibo\/osmos\/redux\/mvc\/view\/scenes\/MainSceneListener.html", "kind" : "trait"}], "it.unibo.osmos.redux.mvc.model" : [{"name" : "it.unibo.osmos.redux.mvc.model.CellType", "shortDescription" : "List of cell types", "object" : "it\/unibo\/osmos\/redux\/mvc\/model\/CellType$.html", "members_object" : [{"label" : "basicCell", "tail" : ": String", "member" : "it.unibo.osmos.redux.mvc.model.CellType.basicCell", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CellType$.html#basicCell:String", "kind" : "val"}, {"label" : "playerCell", "tail" : ": String", "member" : "it.unibo.osmos.redux.mvc.model.CellType.playerCell", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CellType$.html#playerCell:String", "kind" : "val"}, {"label" : "gravityCell", "tail" : ": String", "member" : "it.unibo.osmos.redux.mvc.model.CellType.gravityCell", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CellType$.html#gravityCell:String", "kind" : "val"}, {"label" : "sentientCell", "tail" : ": String", "member" : "it.unibo.osmos.redux.mvc.model.CellType.sentientCell", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CellType$.html#sentientCell:String", "kind" : "val"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CellType$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CellType$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CellType$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CellType$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CellType$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CellType$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CellType$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CellType$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CellType$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CellType$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CellType$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CellType$.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CellType$.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CellType$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CellType$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CellType$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CellType$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CellType$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CellType$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "kind" : "object"}, {"name" : "it.unibo.osmos.redux.mvc.model.CollisionRules", "shortDescription" : "Map edges collision rules", "object" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html", "members_object" : [{"label" : "Val", "tail" : "", "member" : "scala.Enumeration.Val", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html#ValextendsEnumeration.this.ValuewithSerializable", "kind" : "class"}, {"label" : "ValueSet", "tail" : "", "member" : "scala.Enumeration.ValueSet", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html#ValueSetextendsAbstractSet[Enumeration.this.Value]withSortedSet[Enumeration.this.Value]withSortedSetLike[Enumeration.this.Value,Enumeration.this.ValueSet]withSerializable", "kind" : "class"}, {"label" : "Value", "tail" : "", "member" : "scala.Enumeration.Value", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html#ValueextendsOrdered[Enumeration.this.Value]withSerializable", "kind" : "abstract class"}, {"label" : "instantDeath", "tail" : ": Value", "member" : "it.unibo.osmos.redux.mvc.model.CollisionRules.instantDeath", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html#instantDeath:it.unibo.osmos.redux.mvc.model.CollisionRules.Value", "kind" : "val"}, {"label" : "bouncing", "tail" : ": Value", "member" : "it.unibo.osmos.redux.mvc.model.CollisionRules.bouncing", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html#bouncing:it.unibo.osmos.redux.mvc.model.CollisionRules.Value", "kind" : "val"}, {"label" : "Value", "tail" : "(i: Int, name: String): Value", "member" : "scala.Enumeration.Value", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html#Value(i:Int,name:String):Enumeration.this.Value", "kind" : "final def"}, {"label" : "Value", "tail" : "(name: String): Value", "member" : "scala.Enumeration.Value", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html#Value(name:String):Enumeration.this.Value", "kind" : "final def"}, {"label" : "Value", "tail" : "(i: Int): Value", "member" : "scala.Enumeration.Value", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html#Value(i:Int):Enumeration.this.Value", "kind" : "final def"}, {"label" : "Value", "tail" : "(): Value", "member" : "scala.Enumeration.Value", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html#Value:Enumeration.this.Value", "kind" : "final def"}, {"label" : "withName", "tail" : "(s: String): Value", "member" : "scala.Enumeration.withName", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html#withName(s:String):Enumeration.this.Value", "kind" : "final def"}, {"label" : "apply", "tail" : "(x: Int): Value", "member" : "scala.Enumeration.apply", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html#apply(x:Int):Enumeration.this.Value", "kind" : "final def"}, {"label" : "maxId", "tail" : "(): Int", "member" : "scala.Enumeration.maxId", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html#maxId:Int", "kind" : "final def"}, {"label" : "nextName", "tail" : ": Iterator[String]", "member" : "scala.Enumeration.nextName", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html#nextName:Iterator[String]", "kind" : "var"}, {"label" : "nextId", "tail" : ": Int", "member" : "scala.Enumeration.nextId", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html#nextId:Int", "kind" : "var"}, {"label" : "values", "tail" : "(): ValueSet", "member" : "scala.Enumeration.values", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html#values:Enumeration.this.ValueSet", "kind" : "def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.Enumeration.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html#toString():String", "kind" : "def"}, {"label" : "readResolve", "tail" : "(): AnyRef", "member" : "scala.Enumeration.readResolve", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html#readResolve():AnyRef", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/CollisionRules$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "kind" : "object"}, {"name" : "it.unibo.osmos.redux.mvc.model.JsonProtocols", "shortDescription" : "Json implicit stategies for: convert json to Level or convert Level to json", "object" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html", "members_object" : [{"label" : "userProgressFormatter", "tail" : ": RootJsonFormat[UserStat]", "member" : "it.unibo.osmos.redux.mvc.model.JsonProtocols.userProgressFormatter", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#userProgressFormatter:spray.json.RootJsonFormat[it.unibo.osmos.redux.mvc.model.UserProgress.UserStat]", "kind" : "implicit val"}, {"label" : "drawableWrapperFormatter", "tail" : ": RootJsonFormat[DrawableWrapper]", "member" : "it.unibo.osmos.redux.mvc.model.JsonProtocols.drawableWrapperFormatter", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#drawableWrapperFormatter:spray.json.RootJsonFormat[it.unibo.osmos.redux.mvc.view.drawables.DrawableWrapper]", "kind" : "implicit val"}, {"label" : "levelFormatter", "tail" : ": RootJsonFormat[Level]", "member" : "it.unibo.osmos.redux.mvc.model.JsonProtocols.levelFormatter", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#levelFormatter:spray.json.RootJsonFormat[it.unibo.osmos.redux.mvc.model.Level]", "kind" : "implicit val"}, {"label" : "VictoryRuleFormatter", "tail" : "", "member" : "it.unibo.osmos.redux.mvc.model.JsonProtocols.VictoryRuleFormatter", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#VictoryRuleFormatter", "kind" : "implicit object"}, {"label" : "LevelMapFormatter", "tail" : "", "member" : "it.unibo.osmos.redux.mvc.model.JsonProtocols.LevelMapFormatter", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#LevelMapFormatter", "kind" : "implicit object"}, {"label" : "MapShapeFormatter", "tail" : "", "member" : "it.unibo.osmos.redux.mvc.model.JsonProtocols.MapShapeFormatter", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#MapShapeFormatter", "kind" : "implicit object"}, {"label" : "CellEntityFormatter", "tail" : "", "member" : "it.unibo.osmos.redux.mvc.model.JsonProtocols.CellEntityFormatter", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#CellEntityFormatter", "kind" : "implicit object"}, {"label" : "SentientCellEntityFormatter", "tail" : "", "member" : "it.unibo.osmos.redux.mvc.model.JsonProtocols.SentientCellEntityFormatter", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#SentientCellEntityFormatter", "kind" : "implicit object"}, {"label" : "PlayerCellEntityFormatter", "tail" : "", "member" : "it.unibo.osmos.redux.mvc.model.JsonProtocols.PlayerCellEntityFormatter", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#PlayerCellEntityFormatter", "kind" : "implicit object"}, {"label" : "GravityCellEntityFormatter", "tail" : "", "member" : "it.unibo.osmos.redux.mvc.model.JsonProtocols.GravityCellEntityFormatter", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#GravityCellEntityFormatter", "kind" : "implicit object"}, {"label" : "specificWeightFormatter", "tail" : ": RootJsonFormat[SpecificWeightComponent]", "member" : "it.unibo.osmos.redux.mvc.model.JsonProtocols.specificWeightFormatter", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#specificWeightFormatter:spray.json.RootJsonFormat[it.unibo.osmos.redux.ecs.components.SpecificWeightComponent]", "kind" : "implicit val"}, {"label" : "SpawnerFormatter", "tail" : "", "member" : "it.unibo.osmos.redux.mvc.model.JsonProtocols.SpawnerFormatter", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#SpawnerFormatter", "kind" : "implicit object"}, {"label" : "ComponentTypeFormatter", "tail" : "", "member" : "it.unibo.osmos.redux.mvc.model.JsonProtocols.ComponentTypeFormatter", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#ComponentTypeFormatter", "kind" : "implicit object"}, {"label" : "EntityTypeFormatter", "tail" : "", "member" : "it.unibo.osmos.redux.mvc.model.JsonProtocols.EntityTypeFormatter", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#EntityTypeFormatter", "kind" : "implicit object"}, {"label" : "SpeedFormatter", "tail" : "", "member" : "it.unibo.osmos.redux.mvc.model.JsonProtocols.SpeedFormatter", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#SpeedFormatter", "kind" : "implicit object"}, {"label" : "PositionFormatter", "tail" : "", "member" : "it.unibo.osmos.redux.mvc.model.JsonProtocols.PositionFormatter", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#PositionFormatter", "kind" : "implicit object"}, {"label" : "PointFormatter", "tail" : "", "member" : "it.unibo.osmos.redux.mvc.model.JsonProtocols.PointFormatter", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#PointFormatter", "kind" : "implicit object"}, {"label" : "DimensionFormatter", "tail" : "", "member" : "it.unibo.osmos.redux.mvc.model.JsonProtocols.DimensionFormatter", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#DimensionFormatter", "kind" : "implicit object"}, {"label" : "VisibleFormatter", "tail" : "", "member" : "it.unibo.osmos.redux.mvc.model.JsonProtocols.VisibleFormatter", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#VisibleFormatter", "kind" : "implicit object"}, {"label" : "CollidableFormatter", "tail" : "", "member" : "it.unibo.osmos.redux.mvc.model.JsonProtocols.CollidableFormatter", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#CollidableFormatter", "kind" : "implicit object"}, {"label" : "AccelerationFormatter", "tail" : "", "member" : "it.unibo.osmos.redux.mvc.model.JsonProtocols.AccelerationFormatter", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#AccelerationFormatter", "kind" : "implicit object"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/JsonProtocols$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "kind" : "object"}, {"name" : "it.unibo.osmos.redux.mvc.model.Level", "shortDescription" : "Level configuratoin", "members_case class" : [{"label" : "circularMapCheck", "tail" : "(circle: Circle): Unit", "member" : "it.unibo.osmos.redux.mvc.model.Level.circularMapCheck", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Level.html#circularMapCheck(circle:it.unibo.osmos.redux.mvc.model.MapShape.Circle):Unit", "kind" : "def"}, {"label" : "rectangularMapCheck", "tail" : "(rectangle: Rectangle): Unit", "member" : "it.unibo.osmos.redux.mvc.model.Level.rectangularMapCheck", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Level.html#rectangularMapCheck(rectangle:it.unibo.osmos.redux.mvc.model.MapShape.Rectangle):Unit", "kind" : "def"}, {"label" : "checkCellPosition", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.mvc.model.Level.checkCellPosition", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Level.html#checkCellPosition():Unit", "kind" : "def"}, {"member" : "it.unibo.osmos.redux.mvc.model.Level#", "error" : "unsupported entity"}, {"label" : "isSimulation", "tail" : ": Boolean", "member" : "it.unibo.osmos.redux.mvc.model.Level.isSimulation", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Level.html#isSimulation:Boolean", "kind" : "var"}, {"label" : "victoryRule", "tail" : ": VictoryRules.Value", "member" : "it.unibo.osmos.redux.mvc.model.Level.victoryRule", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Level.html#victoryRule:it.unibo.osmos.redux.mvc.model.VictoryRules.Value", "kind" : "val"}, {"label" : "entities", "tail" : ": List[CellEntity]", "member" : "it.unibo.osmos.redux.mvc.model.Level.entities", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Level.html#entities:List[it.unibo.osmos.redux.ecs.entities.CellEntity]", "kind" : "var"}, {"label" : "levelMap", "tail" : ": LevelMap", "member" : "it.unibo.osmos.redux.mvc.model.Level.levelMap", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Level.html#levelMap:it.unibo.osmos.redux.mvc.model.LevelMap", "kind" : "val"}, {"label" : "levelId", "tail" : ": Int", "member" : "it.unibo.osmos.redux.mvc.model.Level.levelId", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Level.html#levelId:Int", "kind" : "val"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Level.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Level.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Level.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Level.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Level.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Level.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Level.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Level.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Level.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Level.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Level.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Level.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Level.html#clone():Object", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Level.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Level.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Level.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "case class" : "it\/unibo\/osmos\/redux\/mvc\/model\/Level.html", "kind" : "case class"}, {"name" : "it.unibo.osmos.redux.mvc.model.LevelMap", "shortDescription" : "Map of a level", "members_case class" : [{"member" : "it.unibo.osmos.redux.mvc.model.LevelMap#", "error" : "unsupported entity"}, {"label" : "collisionRule", "tail" : ": CollisionRules.Value", "member" : "it.unibo.osmos.redux.mvc.model.LevelMap.collisionRule", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/LevelMap.html#collisionRule:it.unibo.osmos.redux.mvc.model.CollisionRules.Value", "kind" : "val"}, {"label" : "mapShape", "tail" : ": MapShape", "member" : "it.unibo.osmos.redux.mvc.model.LevelMap.mapShape", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/LevelMap.html#mapShape:it.unibo.osmos.redux.mvc.model.MapShape", "kind" : "val"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/LevelMap.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/LevelMap.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/LevelMap.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/LevelMap.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/LevelMap.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/LevelMap.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/LevelMap.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/LevelMap.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/LevelMap.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/LevelMap.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/LevelMap.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/LevelMap.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/LevelMap.html#clone():Object", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/LevelMap.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/LevelMap.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/LevelMap.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "case class" : "it\/unibo\/osmos\/redux\/mvc\/model\/LevelMap.html", "kind" : "case class"}, {"name" : "it.unibo.osmos.redux.mvc.model.MapShape", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "center", "tail" : ": (Double, Double)", "member" : "it.unibo.osmos.redux.mvc.model.MapShape.center", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape.html#center:(Double,Double)", "kind" : "abstract val"}, {"label" : "mapShape", "tail" : ": String", "member" : "it.unibo.osmos.redux.mvc.model.MapShape.mapShape", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape.html#mapShape:String", "kind" : "abstract val"}], "shortDescription" : "Map shape data structure", "object" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape$.html", "members_object" : [{"label" : "Circle", "tail" : "", "member" : "it.unibo.osmos.redux.mvc.model.MapShape.Circle", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape$.html#CircleextendsMapShapewithProductwithSerializable", "kind" : "case class"}, {"label" : "Rectangle", "tail" : "", "member" : "it.unibo.osmos.redux.mvc.model.MapShape.Rectangle", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape$.html#RectangleextendsMapShapewithProductwithSerializable", "kind" : "case class"}, {"label" : "circle", "tail" : ": String", "member" : "it.unibo.osmos.redux.mvc.model.MapShape.circle", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape$.html#circle:String", "kind" : "val"}, {"label" : "rectangle", "tail" : ": String", "member" : "it.unibo.osmos.redux.mvc.model.MapShape.rectangle", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape$.html#rectangle:String", "kind" : "val"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape$.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape$.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "trait" : "it\/unibo\/osmos\/redux\/mvc\/model\/MapShape.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.mvc.model.Model", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Model.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Model.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Model.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Model.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Model.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Model.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Model.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Model.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Model.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Model.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Model.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Model.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Model.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Model.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Model.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Model.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Model.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Model.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/Model.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "shortDescription" : "Model base trait", "trait" : "it\/unibo\/osmos\/redux\/mvc\/model\/Model.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.mvc.model.SinglePlayerLevels", "shortDescription" : "", "object" : "it\/unibo\/osmos\/redux\/mvc\/model\/SinglePlayerLevels$.html", "members_object" : [{"label" : "levels", "tail" : ": Map[Int, Boolean]", "member" : "it.unibo.osmos.redux.mvc.model.SinglePlayerLevels.levels", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/SinglePlayerLevels$.html#levels:Map[Int,Boolean]", "kind" : "val"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/SinglePlayerLevels$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/SinglePlayerLevels$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/SinglePlayerLevels$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/SinglePlayerLevels$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/SinglePlayerLevels$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/SinglePlayerLevels$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/SinglePlayerLevels$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/SinglePlayerLevels$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/SinglePlayerLevels$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/SinglePlayerLevels$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/SinglePlayerLevels$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/SinglePlayerLevels$.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/SinglePlayerLevels$.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/SinglePlayerLevels$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/SinglePlayerLevels$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/SinglePlayerLevels$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/SinglePlayerLevels$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/SinglePlayerLevels$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/SinglePlayerLevels$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "kind" : "object"}, {"name" : "it.unibo.osmos.redux.mvc.model.UserProgress", "shortDescription" : "", "object" : "it\/unibo\/osmos\/redux\/mvc\/model\/UserProgress$.html", "members_object" : [{"label" : "UserStat", "tail" : "", "member" : "it.unibo.osmos.redux.mvc.model.UserProgress.UserStat", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/UserProgress$.html#UserStatextendsProductwithSerializable", "kind" : "case class"}, {"label" : "getUserProgress", "tail" : "(): Option[UserStat]", "member" : "it.unibo.osmos.redux.mvc.model.UserProgress.getUserProgress", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/UserProgress$.html#getUserProgress:Option[it.unibo.osmos.redux.mvc.model.UserProgress.UserStat]", "kind" : "def"}, {"label" : "synchronizeWithFile", "tail" : "(userProgress: UserStat): Unit", "member" : "it.unibo.osmos.redux.mvc.model.UserProgress.synchronizeWithFile", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/UserProgress$.html#synchronizeWithFile(userProgress:it.unibo.osmos.redux.mvc.model.UserProgress.UserStat):Unit", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/UserProgress$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/UserProgress$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/UserProgress$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/UserProgress$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/UserProgress$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/UserProgress$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/UserProgress$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/UserProgress$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/UserProgress$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/UserProgress$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/UserProgress$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/UserProgress$.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/UserProgress$.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/UserProgress$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/UserProgress$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/UserProgress$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/UserProgress$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/UserProgress$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/UserProgress$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "kind" : "object"}, {"name" : "it.unibo.osmos.redux.mvc.model.VictoryRules", "shortDescription" : "Level victory rules", "object" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html", "members_object" : [{"label" : "Val", "tail" : "", "member" : "scala.Enumeration.Val", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#ValextendsEnumeration.this.ValuewithSerializable", "kind" : "class"}, {"label" : "ValueSet", "tail" : "", "member" : "scala.Enumeration.ValueSet", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#ValueSetextendsAbstractSet[Enumeration.this.Value]withSortedSet[Enumeration.this.Value]withSortedSetLike[Enumeration.this.Value,Enumeration.this.ValueSet]withSerializable", "kind" : "class"}, {"label" : "Value", "tail" : "", "member" : "scala.Enumeration.Value", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#ValueextendsOrdered[Enumeration.this.Value]withSerializable", "kind" : "abstract class"}, {"label" : "absorbTheHostileCells", "tail" : ": Value", "member" : "it.unibo.osmos.redux.mvc.model.VictoryRules.absorbTheHostileCells", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#absorbTheHostileCells:it.unibo.osmos.redux.mvc.model.VictoryRules.Value", "kind" : "val"}, {"label" : "absorbTheRepulsors", "tail" : ": Value", "member" : "it.unibo.osmos.redux.mvc.model.VictoryRules.absorbTheRepulsors", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#absorbTheRepulsors:it.unibo.osmos.redux.mvc.model.VictoryRules.Value", "kind" : "val"}, {"label" : "becomeHuge", "tail" : ": Value", "member" : "it.unibo.osmos.redux.mvc.model.VictoryRules.becomeHuge", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#becomeHuge:it.unibo.osmos.redux.mvc.model.VictoryRules.Value", "kind" : "val"}, {"label" : "becomeTheBiggest", "tail" : ": Value", "member" : "it.unibo.osmos.redux.mvc.model.VictoryRules.becomeTheBiggest", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#becomeTheBiggest:it.unibo.osmos.redux.mvc.model.VictoryRules.Value", "kind" : "val"}, {"label" : "Value", "tail" : "(i: Int, name: String): Value", "member" : "scala.Enumeration.Value", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#Value(i:Int,name:String):Enumeration.this.Value", "kind" : "final def"}, {"label" : "Value", "tail" : "(name: String): Value", "member" : "scala.Enumeration.Value", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#Value(name:String):Enumeration.this.Value", "kind" : "final def"}, {"label" : "Value", "tail" : "(i: Int): Value", "member" : "scala.Enumeration.Value", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#Value(i:Int):Enumeration.this.Value", "kind" : "final def"}, {"label" : "Value", "tail" : "(): Value", "member" : "scala.Enumeration.Value", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#Value:Enumeration.this.Value", "kind" : "final def"}, {"label" : "withName", "tail" : "(s: String): Value", "member" : "scala.Enumeration.withName", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#withName(s:String):Enumeration.this.Value", "kind" : "final def"}, {"label" : "apply", "tail" : "(x: Int): Value", "member" : "scala.Enumeration.apply", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#apply(x:Int):Enumeration.this.Value", "kind" : "final def"}, {"label" : "maxId", "tail" : "(): Int", "member" : "scala.Enumeration.maxId", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#maxId:Int", "kind" : "final def"}, {"label" : "nextName", "tail" : ": Iterator[String]", "member" : "scala.Enumeration.nextName", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#nextName:Iterator[String]", "kind" : "var"}, {"label" : "nextId", "tail" : ": Int", "member" : "scala.Enumeration.nextId", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#nextId:Int", "kind" : "var"}, {"label" : "values", "tail" : "(): ValueSet", "member" : "scala.Enumeration.values", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#values:Enumeration.this.ValueSet", "kind" : "def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.Enumeration.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#toString():String", "kind" : "def"}, {"label" : "readResolve", "tail" : "(): AnyRef", "member" : "scala.Enumeration.readResolve", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#readResolve():AnyRef", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/model\/VictoryRules$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "kind" : "object"}], "it.unibo.osmos.redux.ecs.systems" : [{"name" : "it.unibo.osmos.redux.ecs.systems.AbsorbCellsWithTypeVictoryCondition", "shortDescription" : "class implementing absorb cells that share a common type victory condition", "members_case class" : [{"label" : "check", "tail" : "(playerCellEntity: DeathProperty, entityList: ListBuffer[DeathProperty]): Boolean", "member" : "it.unibo.osmos.redux.ecs.systems.AbsorbCellsWithTypeVictoryCondition.check", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbsorbCellsWithTypeVictoryCondition.html#check(playerCellEntity:it.unibo.osmos.redux.ecs.entities.DeathProperty,entityList:scala.collection.mutable.ListBuffer[it.unibo.osmos.redux.ecs.entities.DeathProperty]):Boolean", "kind" : "def"}, {"member" : "it.unibo.osmos.redux.ecs.systems.AbsorbCellsWithTypeVictoryCondition#", "error" : "unsupported entity"}, {"label" : "entityType", "tail" : ": components.EntityType.Value", "member" : "it.unibo.osmos.redux.ecs.systems.AbsorbCellsWithTypeVictoryCondition.entityType", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbsorbCellsWithTypeVictoryCondition.html#entityType:it.unibo.osmos.redux.ecs.components.EntityType.Value", "kind" : "val"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbsorbCellsWithTypeVictoryCondition.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbsorbCellsWithTypeVictoryCondition.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbsorbCellsWithTypeVictoryCondition.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbsorbCellsWithTypeVictoryCondition.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbsorbCellsWithTypeVictoryCondition.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbsorbCellsWithTypeVictoryCondition.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbsorbCellsWithTypeVictoryCondition.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbsorbCellsWithTypeVictoryCondition.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbsorbCellsWithTypeVictoryCondition.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbsorbCellsWithTypeVictoryCondition.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbsorbCellsWithTypeVictoryCondition.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbsorbCellsWithTypeVictoryCondition.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbsorbCellsWithTypeVictoryCondition.html#clone():Object", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbsorbCellsWithTypeVictoryCondition.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbsorbCellsWithTypeVictoryCondition.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbsorbCellsWithTypeVictoryCondition.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "case class" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbsorbCellsWithTypeVictoryCondition.html", "kind" : "case class"}, {"name" : "it.unibo.osmos.redux.ecs.systems.AbstractBorder", "shortDescription" : "Abstract class implementing the border collision strategy", "members_class" : [{"label" : "restitution", "tail" : ": Double", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractBorder.restitution", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractBorder.html#restitution:Double", "kind" : "val"}, {"member" : "it.unibo.osmos.redux.ecs.systems.AbstractBorder#", "error" : "unsupported entity"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractBorder.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractBorder.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractBorder.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractBorder.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractBorder.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractBorder.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractBorder.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractBorder.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractBorder.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractBorder.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractBorder.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractBorder.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractBorder.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractBorder.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractBorder.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractBorder.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractBorder.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractBorder.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractBorder.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "checkCollision", "tail" : "(entity: CollidableProperty): Unit", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractBorder.checkCollision", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractBorder.html#checkCollision(entity:it.unibo.osmos.redux.ecs.entities.CollidableProperty):Unit", "kind" : "abstract def"}], "class" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractBorder.html", "kind" : "class"}, {"name" : "it.unibo.osmos.redux.ecs.systems.AbstractSystem", "shortDescription" : "Abstract system of generic entity", "members_class" : [{"label" : "notify", "tail" : "(event: EntityManagerEvent): Unit", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystem.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystem.html#notify(event:it.unibo.osmos.redux.ecs.entities.EMEvents.EntityManagerEvent):Unit", "kind" : "def"}, {"label" : "entities", "tail" : ": ListBuffer[T]", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystem.entities", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystem.html#entities:scala.collection.mutable.ListBuffer[T]", "kind" : "var"}, {"member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystem#", "error" : "unsupported entity"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystem.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystem.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystem.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystem.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystem.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystem.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystem.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystem.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystem.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystem.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystem.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystem.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystem.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystem.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystem.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystem.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystem.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystem.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystem.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "getGroupProperty", "tail" : "(): Class[T]", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystem.getGroupProperty", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystem.html#getGroupProperty:Class[T]", "kind" : "abstract def"}, {"label" : "update", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.ecs.systems.System.update", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystem.html#update():Unit", "kind" : "abstract def"}], "class" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystem.html", "kind" : "class"}, {"name" : "it.unibo.osmos.redux.ecs.systems.AbstractSystemWithThreeTypeOfEntity", "shortDescription" : "Abstract system with three type of generic entity.", "members_class" : [{"label" : "notify", "tail" : "(event: EntityManagerEvent): Unit", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystemWithThreeTypeOfEntity.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithThreeTypeOfEntity.html#notify(event:it.unibo.osmos.redux.ecs.entities.EMEvents.EntityManagerEvent):Unit", "kind" : "def"}, {"label" : "entitiesThirdType", "tail" : ": ListBuffer[S]", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystemWithThreeTypeOfEntity.entitiesThirdType", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithThreeTypeOfEntity.html#entitiesThirdType:scala.collection.mutable.ListBuffer[S]", "kind" : "var"}, {"member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystemWithThreeTypeOfEntity#", "error" : "unsupported entity"}, {"label" : "entitiesSecondType", "tail" : ": ListBuffer[R]", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystemWithTwoTypeOfEntity.entitiesSecondType", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithThreeTypeOfEntity.html#entitiesSecondType:scala.collection.mutable.ListBuffer[R]", "kind" : "var"}, {"label" : "entities", "tail" : ": ListBuffer[T]", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystem.entities", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithThreeTypeOfEntity.html#entities:scala.collection.mutable.ListBuffer[T]", "kind" : "var"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithThreeTypeOfEntity.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithThreeTypeOfEntity.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithThreeTypeOfEntity.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithThreeTypeOfEntity.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithThreeTypeOfEntity.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithThreeTypeOfEntity.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithThreeTypeOfEntity.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithThreeTypeOfEntity.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithThreeTypeOfEntity.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithThreeTypeOfEntity.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithThreeTypeOfEntity.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithThreeTypeOfEntity.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithThreeTypeOfEntity.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithThreeTypeOfEntity.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithThreeTypeOfEntity.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithThreeTypeOfEntity.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithThreeTypeOfEntity.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithThreeTypeOfEntity.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithThreeTypeOfEntity.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "getGroupPropertyThirdType", "tail" : "(): Class[S]", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystemWithThreeTypeOfEntity.getGroupPropertyThirdType", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithThreeTypeOfEntity.html#getGroupPropertyThirdType:Class[S]", "kind" : "abstract def"}, {"label" : "getGroupPropertySecondType", "tail" : "(): Class[R]", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystemWithTwoTypeOfEntity.getGroupPropertySecondType", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithThreeTypeOfEntity.html#getGroupPropertySecondType:Class[R]", "kind" : "abstract def"}, {"label" : "getGroupProperty", "tail" : "(): Class[T]", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystem.getGroupProperty", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithThreeTypeOfEntity.html#getGroupProperty:Class[T]", "kind" : "abstract def"}, {"label" : "update", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.ecs.systems.System.update", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithThreeTypeOfEntity.html#update():Unit", "kind" : "abstract def"}], "class" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithThreeTypeOfEntity.html", "kind" : "class"}, {"name" : "it.unibo.osmos.redux.ecs.systems.AbstractSystemWithTwoTypeOfEntity", "shortDescription" : "Abstract system with two type of generic entity.", "members_class" : [{"label" : "notify", "tail" : "(event: EntityManagerEvent): Unit", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystemWithTwoTypeOfEntity.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithTwoTypeOfEntity.html#notify(event:it.unibo.osmos.redux.ecs.entities.EMEvents.EntityManagerEvent):Unit", "kind" : "def"}, {"label" : "entitiesSecondType", "tail" : ": ListBuffer[R]", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystemWithTwoTypeOfEntity.entitiesSecondType", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithTwoTypeOfEntity.html#entitiesSecondType:scala.collection.mutable.ListBuffer[R]", "kind" : "var"}, {"member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystemWithTwoTypeOfEntity#", "error" : "unsupported entity"}, {"label" : "entities", "tail" : ": ListBuffer[T]", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystem.entities", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithTwoTypeOfEntity.html#entities:scala.collection.mutable.ListBuffer[T]", "kind" : "var"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithTwoTypeOfEntity.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithTwoTypeOfEntity.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithTwoTypeOfEntity.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithTwoTypeOfEntity.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithTwoTypeOfEntity.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithTwoTypeOfEntity.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithTwoTypeOfEntity.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithTwoTypeOfEntity.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithTwoTypeOfEntity.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithTwoTypeOfEntity.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithTwoTypeOfEntity.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithTwoTypeOfEntity.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithTwoTypeOfEntity.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithTwoTypeOfEntity.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithTwoTypeOfEntity.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithTwoTypeOfEntity.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithTwoTypeOfEntity.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithTwoTypeOfEntity.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithTwoTypeOfEntity.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "getGroupPropertySecondType", "tail" : "(): Class[R]", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystemWithTwoTypeOfEntity.getGroupPropertySecondType", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithTwoTypeOfEntity.html#getGroupPropertySecondType:Class[R]", "kind" : "abstract def"}, {"label" : "getGroupProperty", "tail" : "(): Class[T]", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystem.getGroupProperty", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithTwoTypeOfEntity.html#getGroupProperty:Class[T]", "kind" : "abstract def"}, {"label" : "update", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.ecs.systems.System.update", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithTwoTypeOfEntity.html#update():Unit", "kind" : "abstract def"}], "class" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractSystemWithTwoTypeOfEntity.html", "kind" : "class"}, {"name" : "it.unibo.osmos.redux.ecs.systems.AbstractVictoryCondition", "shortDescription" : "Abstract class for victory condition strategy", "members_class" : [{"member" : "it.unibo.osmos.redux.ecs.systems.AbstractVictoryCondition#", "error" : "unsupported entity"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractVictoryCondition.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractVictoryCondition.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractVictoryCondition.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractVictoryCondition.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractVictoryCondition.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractVictoryCondition.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractVictoryCondition.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractVictoryCondition.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractVictoryCondition.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractVictoryCondition.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractVictoryCondition.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractVictoryCondition.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractVictoryCondition.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractVictoryCondition.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractVictoryCondition.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractVictoryCondition.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractVictoryCondition.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractVictoryCondition.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractVictoryCondition.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "check", "tail" : "(playerCellEntity: A, entityList: ListBuffer[A]): Boolean", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractVictoryCondition.check", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractVictoryCondition.html#check(playerCellEntity:A,entityList:scala.collection.mutable.ListBuffer[A]):Boolean", "kind" : "abstract def"}], "class" : "it\/unibo\/osmos\/redux\/ecs\/systems\/AbstractVictoryCondition.html", "kind" : "class"}, {"name" : "it.unibo.osmos.redux.ecs.systems.BecomeHugeVictoryCondition", "shortDescription" : "class implementing become huge victory condition", "members_case class" : [{"label" : "check", "tail" : "(playerCellEntity: DeathProperty, entityList: ListBuffer[DeathProperty]): Boolean", "member" : "it.unibo.osmos.redux.ecs.systems.BecomeHugeVictoryCondition.check", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeHugeVictoryCondition.html#check(playerCellEntity:it.unibo.osmos.redux.ecs.entities.DeathProperty,entityList:scala.collection.mutable.ListBuffer[it.unibo.osmos.redux.ecs.entities.DeathProperty]):Boolean", "kind" : "def"}, {"member" : "it.unibo.osmos.redux.ecs.systems.BecomeHugeVictoryCondition#", "error" : "unsupported entity"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeHugeVictoryCondition.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeHugeVictoryCondition.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeHugeVictoryCondition.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeHugeVictoryCondition.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeHugeVictoryCondition.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeHugeVictoryCondition.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeHugeVictoryCondition.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeHugeVictoryCondition.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeHugeVictoryCondition.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeHugeVictoryCondition.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeHugeVictoryCondition.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeHugeVictoryCondition.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeHugeVictoryCondition.html#clone():Object", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeHugeVictoryCondition.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeHugeVictoryCondition.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeHugeVictoryCondition.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "case class" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeHugeVictoryCondition.html", "kind" : "case class"}, {"name" : "it.unibo.osmos.redux.ecs.systems.BecomeTheBiggestVictoryCondition", "shortDescription" : "class implementing become the biggest victory condition", "members_case class" : [{"label" : "check", "tail" : "(playerCellEntity: DeathProperty, entityList: ListBuffer[DeathProperty]): Boolean", "member" : "it.unibo.osmos.redux.ecs.systems.BecomeTheBiggestVictoryCondition.check", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeTheBiggestVictoryCondition.html#check(playerCellEntity:it.unibo.osmos.redux.ecs.entities.DeathProperty,entityList:scala.collection.mutable.ListBuffer[it.unibo.osmos.redux.ecs.entities.DeathProperty]):Boolean", "kind" : "def"}, {"member" : "it.unibo.osmos.redux.ecs.systems.BecomeTheBiggestVictoryCondition#", "error" : "unsupported entity"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeTheBiggestVictoryCondition.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeTheBiggestVictoryCondition.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeTheBiggestVictoryCondition.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeTheBiggestVictoryCondition.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeTheBiggestVictoryCondition.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeTheBiggestVictoryCondition.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeTheBiggestVictoryCondition.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeTheBiggestVictoryCondition.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeTheBiggestVictoryCondition.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeTheBiggestVictoryCondition.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeTheBiggestVictoryCondition.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeTheBiggestVictoryCondition.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeTheBiggestVictoryCondition.html#clone():Object", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeTheBiggestVictoryCondition.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeTheBiggestVictoryCondition.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeTheBiggestVictoryCondition.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "case class" : "it\/unibo\/osmos\/redux\/ecs\/systems\/BecomeTheBiggestVictoryCondition.html", "kind" : "case class"}, {"name" : "it.unibo.osmos.redux.ecs.systems.CellsEliminationSystem", "shortDescription" : "", "members_case class" : [{"label" : "update", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.ecs.systems.CellsEliminationSystem.update", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CellsEliminationSystem.html#update():Unit", "kind" : "def"}, {"label" : "radiusThreshold", "tail" : ": Double", "member" : "it.unibo.osmos.redux.ecs.systems.CellsEliminationSystem.radiusThreshold", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CellsEliminationSystem.html#radiusThreshold:Double", "kind" : "val"}, {"label" : "getGroupProperty", "tail" : "(): Class[DeathProperty]", "member" : "it.unibo.osmos.redux.ecs.systems.CellsEliminationSystem.getGroupProperty", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CellsEliminationSystem.html#getGroupProperty:Class[it.unibo.osmos.redux.ecs.entities.DeathProperty]", "kind" : "def"}, {"member" : "it.unibo.osmos.redux.ecs.systems.CellsEliminationSystem#", "error" : "unsupported entity"}, {"label" : "notify", "tail" : "(event: EntityManagerEvent): Unit", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystem.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CellsEliminationSystem.html#notify(event:it.unibo.osmos.redux.ecs.entities.EMEvents.EntityManagerEvent):Unit", "kind" : "def"}, {"label" : "entities", "tail" : ": ListBuffer[DeathProperty]", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystem.entities", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CellsEliminationSystem.html#entities:scala.collection.mutable.ListBuffer[T]", "kind" : "var"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CellsEliminationSystem.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CellsEliminationSystem.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CellsEliminationSystem.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CellsEliminationSystem.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CellsEliminationSystem.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CellsEliminationSystem.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CellsEliminationSystem.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CellsEliminationSystem.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CellsEliminationSystem.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CellsEliminationSystem.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CellsEliminationSystem.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CellsEliminationSystem.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CellsEliminationSystem.html#clone():Object", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CellsEliminationSystem.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CellsEliminationSystem.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CellsEliminationSystem.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "case class" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CellsEliminationSystem.html", "kind" : "case class"}, {"name" : "it.unibo.osmos.redux.ecs.systems.CircularBorder", "shortDescription" : "Implementation of a playing field with circular shape", "members_case class" : [{"label" : "checkCollision", "tail" : "(entity: CollidableProperty): Unit", "member" : "it.unibo.osmos.redux.ecs.systems.CircularBorder.checkCollision", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CircularBorder.html#checkCollision(entity:it.unibo.osmos.redux.ecs.entities.CollidableProperty):Unit", "kind" : "def"}, {"member" : "it.unibo.osmos.redux.ecs.systems.CircularBorder#", "error" : "unsupported entity"}, {"label" : "levelRadius", "tail" : ": Double", "member" : "it.unibo.osmos.redux.ecs.systems.CircularBorder.levelRadius", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CircularBorder.html#levelRadius:Double", "kind" : "val"}, {"label" : "collisionRule", "tail" : ": mvc.model.CollisionRules.Value", "member" : "it.unibo.osmos.redux.ecs.systems.CircularBorder.collisionRule", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CircularBorder.html#collisionRule:it.unibo.osmos.redux.mvc.model.CollisionRules.Value", "kind" : "val"}, {"label" : "levelCenter", "tail" : ": Point", "member" : "it.unibo.osmos.redux.ecs.systems.CircularBorder.levelCenter", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CircularBorder.html#levelCenter:it.unibo.osmos.redux.utils.Point", "kind" : "val"}, {"label" : "restitution", "tail" : ": Double", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractBorder.restitution", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CircularBorder.html#restitution:Double", "kind" : "val"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CircularBorder.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CircularBorder.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CircularBorder.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CircularBorder.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CircularBorder.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CircularBorder.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CircularBorder.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CircularBorder.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CircularBorder.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CircularBorder.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CircularBorder.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CircularBorder.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CircularBorder.html#clone():Object", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CircularBorder.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CircularBorder.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CircularBorder.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "case class" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CircularBorder.html", "kind" : "case class"}, {"name" : "it.unibo.osmos.redux.ecs.systems.CollisionSystem", "shortDescription" : "", "members_case class" : [{"label" : "update", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.ecs.systems.CollisionSystem.update", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CollisionSystem.html#update():Unit", "kind" : "def"}, {"label" : "getGroupProperty", "tail" : "(): Class[CollidableProperty]", "member" : "it.unibo.osmos.redux.ecs.systems.CollisionSystem.getGroupProperty", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CollisionSystem.html#getGroupProperty:Class[it.unibo.osmos.redux.ecs.entities.CollidableProperty]", "kind" : "def"}, {"member" : "it.unibo.osmos.redux.ecs.systems.CollisionSystem#", "error" : "unsupported entity"}, {"label" : "levelInfo", "tail" : ": Level", "member" : "it.unibo.osmos.redux.ecs.systems.CollisionSystem.levelInfo", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CollisionSystem.html#levelInfo:it.unibo.osmos.redux.mvc.model.Level", "kind" : "val"}, {"label" : "notify", "tail" : "(event: EntityManagerEvent): Unit", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystem.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CollisionSystem.html#notify(event:it.unibo.osmos.redux.ecs.entities.EMEvents.EntityManagerEvent):Unit", "kind" : "def"}, {"label" : "entities", "tail" : ": ListBuffer[CollidableProperty]", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystem.entities", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CollisionSystem.html#entities:scala.collection.mutable.ListBuffer[T]", "kind" : "var"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CollisionSystem.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CollisionSystem.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CollisionSystem.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CollisionSystem.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CollisionSystem.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CollisionSystem.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CollisionSystem.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CollisionSystem.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CollisionSystem.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CollisionSystem.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CollisionSystem.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CollisionSystem.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CollisionSystem.html#clone():Object", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CollisionSystem.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CollisionSystem.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CollisionSystem.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "case class" : "it\/unibo\/osmos\/redux\/ecs\/systems\/CollisionSystem.html", "kind" : "case class"}, {"name" : "it.unibo.osmos.redux.ecs.systems.DrawSystem", "shortDescription" : "System to draw all the entity", "members_case class" : [{"label" : "update", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.ecs.systems.DrawSystem.update", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/DrawSystem.html#update():Unit", "kind" : "def"}, {"label" : "getGroupPropertySecondType", "tail" : "(): Class[PlayerCellEntity]", "member" : "it.unibo.osmos.redux.ecs.systems.DrawSystem.getGroupPropertySecondType", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/DrawSystem.html#getGroupPropertySecondType:Class[it.unibo.osmos.redux.ecs.entities.PlayerCellEntity]", "kind" : "def"}, {"label" : "getGroupProperty", "tail" : "(): Class[DrawableProperty]", "member" : "it.unibo.osmos.redux.ecs.systems.DrawSystem.getGroupProperty", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/DrawSystem.html#getGroupProperty:Class[it.unibo.osmos.redux.ecs.entities.DrawableProperty]", "kind" : "def"}, {"member" : "it.unibo.osmos.redux.ecs.systems.DrawSystem#", "error" : "unsupported entity"}, {"label" : "entitiesDrawer", "tail" : ": EntitiesDrawer", "member" : "it.unibo.osmos.redux.ecs.systems.DrawSystem.entitiesDrawer", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/DrawSystem.html#entitiesDrawer:it.unibo.osmos.redux.mvc.view.drawables.EntitiesDrawer", "kind" : "val"}, {"label" : "notify", "tail" : "(event: EntityManagerEvent): Unit", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystemWithTwoTypeOfEntity.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/DrawSystem.html#notify(event:it.unibo.osmos.redux.ecs.entities.EMEvents.EntityManagerEvent):Unit", "kind" : "def"}, {"label" : "entitiesSecondType", "tail" : ": ListBuffer[PlayerCellEntity]", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystemWithTwoTypeOfEntity.entitiesSecondType", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/DrawSystem.html#entitiesSecondType:scala.collection.mutable.ListBuffer[R]", "kind" : "var"}, {"label" : "entities", "tail" : ": ListBuffer[DrawableProperty]", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystem.entities", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/DrawSystem.html#entities:scala.collection.mutable.ListBuffer[T]", "kind" : "var"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/DrawSystem.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/DrawSystem.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/DrawSystem.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/DrawSystem.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/DrawSystem.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/DrawSystem.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/DrawSystem.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/DrawSystem.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/DrawSystem.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/DrawSystem.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/DrawSystem.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/DrawSystem.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/DrawSystem.html#clone():Object", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/DrawSystem.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/DrawSystem.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/DrawSystem.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "case class" : "it\/unibo\/osmos\/redux\/ecs\/systems\/DrawSystem.html", "kind" : "case class"}, {"name" : "it.unibo.osmos.redux.ecs.systems.EndGameSystem", "shortDescription" : "System managing the level's ending rules", "members_case class" : [{"label" : "update", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.ecs.systems.EndGameSystem.update", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/EndGameSystem.html#update():Unit", "kind" : "def"}, {"label" : "getGroupPropertySecondType", "tail" : "(): Class[DeathProperty]", "member" : "it.unibo.osmos.redux.ecs.systems.EndGameSystem.getGroupPropertySecondType", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/EndGameSystem.html#getGroupPropertySecondType:Class[it.unibo.osmos.redux.ecs.entities.DeathProperty]", "kind" : "def"}, {"label" : "getGroupProperty", "tail" : "(): Class[PlayerCellEntity]", "member" : "it.unibo.osmos.redux.ecs.systems.EndGameSystem.getGroupProperty", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/EndGameSystem.html#getGroupProperty:Class[it.unibo.osmos.redux.ecs.entities.PlayerCellEntity]", "kind" : "def"}, {"member" : "it.unibo.osmos.redux.ecs.systems.EndGameSystem#", "error" : "unsupported entity"}, {"label" : "victoryRules", "tail" : ": mvc.model.VictoryRules.Value", "member" : "it.unibo.osmos.redux.ecs.systems.EndGameSystem.victoryRules", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/EndGameSystem.html#victoryRules:it.unibo.osmos.redux.mvc.model.VictoryRules.Value", "kind" : "val"}, {"label" : "levelContext", "tail" : ": GameStateHolder", "member" : "it.unibo.osmos.redux.ecs.systems.EndGameSystem.levelContext", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/EndGameSystem.html#levelContext:it.unibo.osmos.redux.mvc.view.levels.GameStateHolder", "kind" : "val"}, {"label" : "notify", "tail" : "(event: EntityManagerEvent): Unit", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystemWithTwoTypeOfEntity.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/EndGameSystem.html#notify(event:it.unibo.osmos.redux.ecs.entities.EMEvents.EntityManagerEvent):Unit", "kind" : "def"}, {"label" : "entitiesSecondType", "tail" : ": ListBuffer[DeathProperty]", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystemWithTwoTypeOfEntity.entitiesSecondType", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/EndGameSystem.html#entitiesSecondType:scala.collection.mutable.ListBuffer[R]", "kind" : "var"}, {"label" : "entities", "tail" : ": ListBuffer[PlayerCellEntity]", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystem.entities", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/EndGameSystem.html#entities:scala.collection.mutable.ListBuffer[T]", "kind" : "var"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/EndGameSystem.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/EndGameSystem.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/EndGameSystem.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/EndGameSystem.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/EndGameSystem.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/EndGameSystem.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/EndGameSystem.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/EndGameSystem.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/EndGameSystem.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/EndGameSystem.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/EndGameSystem.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/EndGameSystem.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/EndGameSystem.html#clone():Object", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/EndGameSystem.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/EndGameSystem.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/EndGameSystem.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "case class" : "it\/unibo\/osmos\/redux\/ecs\/systems\/EndGameSystem.html", "kind" : "case class"}, {"name" : "it.unibo.osmos.redux.ecs.systems.GravitySystem", "shortDescription" : "", "members_case class" : [{"label" : "update", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.ecs.systems.GravitySystem.update", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/GravitySystem.html#update():Unit", "kind" : "def"}, {"label" : "getGroupPropertySecondType", "tail" : "(): Class[GravityProperty]", "member" : "it.unibo.osmos.redux.ecs.systems.GravitySystem.getGroupPropertySecondType", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/GravitySystem.html#getGroupPropertySecondType:Class[it.unibo.osmos.redux.ecs.entities.GravityProperty]", "kind" : "def"}, {"label" : "getGroupProperty", "tail" : "(): Class[MovableProperty]", "member" : "it.unibo.osmos.redux.ecs.systems.GravitySystem.getGroupProperty", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/GravitySystem.html#getGroupProperty:Class[it.unibo.osmos.redux.ecs.entities.MovableProperty]", "kind" : "def"}, {"member" : "it.unibo.osmos.redux.ecs.systems.GravitySystem#", "error" : "unsupported entity"}, {"label" : "notify", "tail" : "(event: EntityManagerEvent): Unit", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystemWithTwoTypeOfEntity.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/GravitySystem.html#notify(event:it.unibo.osmos.redux.ecs.entities.EMEvents.EntityManagerEvent):Unit", "kind" : "def"}, {"label" : "entitiesSecondType", "tail" : ": ListBuffer[GravityProperty]", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystemWithTwoTypeOfEntity.entitiesSecondType", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/GravitySystem.html#entitiesSecondType:scala.collection.mutable.ListBuffer[R]", "kind" : "var"}, {"label" : "entities", "tail" : ": ListBuffer[MovableProperty]", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystem.entities", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/GravitySystem.html#entities:scala.collection.mutable.ListBuffer[T]", "kind" : "var"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/GravitySystem.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/GravitySystem.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/GravitySystem.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/GravitySystem.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/GravitySystem.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/GravitySystem.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/GravitySystem.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/GravitySystem.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/GravitySystem.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/GravitySystem.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/GravitySystem.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/GravitySystem.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/GravitySystem.html#clone():Object", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/GravitySystem.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/GravitySystem.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/GravitySystem.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "case class" : "it\/unibo\/osmos\/redux\/ecs\/systems\/GravitySystem.html", "kind" : "case class"}, {"name" : "it.unibo.osmos.redux.ecs.systems.InputSystem", "shortDescription" : "", "members_case class" : [{"label" : "update", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.ecs.systems.InputSystem.update", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/InputSystem.html#update():Unit", "kind" : "def"}, {"label" : "getGroupProperty", "tail" : "(): Class[InputProperty]", "member" : "it.unibo.osmos.redux.ecs.systems.InputSystem.getGroupProperty", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/InputSystem.html#getGroupProperty():Class[it.unibo.osmos.redux.ecs.entities.InputProperty]", "kind" : "def"}, {"label" : "lostMassInitialVelocity", "tail" : ": Double", "member" : "it.unibo.osmos.redux.ecs.systems.InputSystem.lostMassInitialVelocity", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/InputSystem.html#lostMassInitialVelocity:Double", "kind" : "val"}, {"label" : "lostMassPercentage", "tail" : ": Double", "member" : "it.unibo.osmos.redux.ecs.systems.InputSystem.lostMassPercentage", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/InputSystem.html#lostMassPercentage:Double", "kind" : "val"}, {"label" : "lostMassSpawnOffset", "tail" : ": Double", "member" : "it.unibo.osmos.redux.ecs.systems.InputSystem.lostMassSpawnOffset", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/InputSystem.html#lostMassSpawnOffset:Double", "kind" : "val"}, {"label" : "accelCoefficient", "tail" : ": Double", "member" : "it.unibo.osmos.redux.ecs.systems.InputSystem.accelCoefficient", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/InputSystem.html#accelCoefficient:Double", "kind" : "val"}, {"member" : "it.unibo.osmos.redux.ecs.systems.InputSystem#", "error" : "unsupported entity"}, {"label" : "notify", "tail" : "(event: EntityManagerEvent): Unit", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystem.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/InputSystem.html#notify(event:it.unibo.osmos.redux.ecs.entities.EMEvents.EntityManagerEvent):Unit", "kind" : "def"}, {"label" : "entities", "tail" : ": ListBuffer[InputProperty]", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystem.entities", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/InputSystem.html#entities:scala.collection.mutable.ListBuffer[T]", "kind" : "var"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/InputSystem.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/InputSystem.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/InputSystem.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/InputSystem.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/InputSystem.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/InputSystem.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/InputSystem.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/InputSystem.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/InputSystem.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/InputSystem.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/InputSystem.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/InputSystem.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/InputSystem.html#clone():Object", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/InputSystem.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/InputSystem.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/InputSystem.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "case class" : "it\/unibo\/osmos\/redux\/ecs\/systems\/InputSystem.html", "kind" : "case class"}, {"name" : "it.unibo.osmos.redux.ecs.systems.MovementSystem", "shortDescription" : "", "members_case class" : [{"label" : "update", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.ecs.systems.MovementSystem.update", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/MovementSystem.html#update():Unit", "kind" : "def"}, {"label" : "getGroupProperty", "tail" : "(): Class[MovableProperty]", "member" : "it.unibo.osmos.redux.ecs.systems.MovementSystem.getGroupProperty", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/MovementSystem.html#getGroupProperty:Class[it.unibo.osmos.redux.ecs.entities.MovableProperty]", "kind" : "def"}, {"member" : "it.unibo.osmos.redux.ecs.systems.MovementSystem#", "error" : "unsupported entity"}, {"label" : "notify", "tail" : "(event: EntityManagerEvent): Unit", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystem.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/MovementSystem.html#notify(event:it.unibo.osmos.redux.ecs.entities.EMEvents.EntityManagerEvent):Unit", "kind" : "def"}, {"label" : "entities", "tail" : ": ListBuffer[MovableProperty]", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystem.entities", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/MovementSystem.html#entities:scala.collection.mutable.ListBuffer[T]", "kind" : "var"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/MovementSystem.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/MovementSystem.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/MovementSystem.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/MovementSystem.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/MovementSystem.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/MovementSystem.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/MovementSystem.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/MovementSystem.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/MovementSystem.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/MovementSystem.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/MovementSystem.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/MovementSystem.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/MovementSystem.html#clone():Object", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/MovementSystem.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/MovementSystem.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/MovementSystem.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "case class" : "it\/unibo\/osmos\/redux\/ecs\/systems\/MovementSystem.html", "kind" : "case class"}, {"name" : "it.unibo.osmos.redux.ecs.systems.RectangularBorder", "shortDescription" : "Implementation of a playing field with rectangular shape", "members_case class" : [{"label" : "checkCollision", "tail" : "(entity: CollidableProperty): Unit", "member" : "it.unibo.osmos.redux.ecs.systems.RectangularBorder.checkCollision", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/RectangularBorder.html#checkCollision(entity:it.unibo.osmos.redux.ecs.entities.CollidableProperty):Unit", "kind" : "def"}, {"member" : "it.unibo.osmos.redux.ecs.systems.RectangularBorder#", "error" : "unsupported entity"}, {"label" : "height", "tail" : ": Double", "member" : "it.unibo.osmos.redux.ecs.systems.RectangularBorder.height", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/RectangularBorder.html#height:Double", "kind" : "val"}, {"label" : "base", "tail" : ": Double", "member" : "it.unibo.osmos.redux.ecs.systems.RectangularBorder.base", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/RectangularBorder.html#base:Double", "kind" : "val"}, {"label" : "collisionRule", "tail" : ": mvc.model.CollisionRules.Value", "member" : "it.unibo.osmos.redux.ecs.systems.RectangularBorder.collisionRule", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/RectangularBorder.html#collisionRule:it.unibo.osmos.redux.mvc.model.CollisionRules.Value", "kind" : "val"}, {"label" : "levelCenter", "tail" : ": Point", "member" : "it.unibo.osmos.redux.ecs.systems.RectangularBorder.levelCenter", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/RectangularBorder.html#levelCenter:it.unibo.osmos.redux.utils.Point", "kind" : "val"}, {"label" : "restitution", "tail" : ": Double", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractBorder.restitution", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/RectangularBorder.html#restitution:Double", "kind" : "val"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/RectangularBorder.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/RectangularBorder.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/RectangularBorder.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/RectangularBorder.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/RectangularBorder.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/RectangularBorder.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/RectangularBorder.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/RectangularBorder.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/RectangularBorder.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/RectangularBorder.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/RectangularBorder.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/RectangularBorder.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/RectangularBorder.html#clone():Object", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/RectangularBorder.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/RectangularBorder.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/RectangularBorder.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "case class" : "it\/unibo\/osmos\/redux\/ecs\/systems\/RectangularBorder.html", "kind" : "case class"}, {"name" : "it.unibo.osmos.redux.ecs.systems.SentientPrologSystem", "shortDescription" : "", "members_case class" : [{"label" : "update", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.ecs.systems.SentientPrologSystem.update", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientPrologSystem.html#update():Unit", "kind" : "def"}, {"label" : "getGroupPropertySecondType", "tail" : "(): Class[SentientEnemyProperty]", "member" : "it.unibo.osmos.redux.ecs.systems.SentientPrologSystem.getGroupPropertySecondType", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientPrologSystem.html#getGroupPropertySecondType:Class[it.unibo.osmos.redux.ecs.entities.SentientEnemyProperty]", "kind" : "def"}, {"label" : "getGroupProperty", "tail" : "(): Class[SentientProperty]", "member" : "it.unibo.osmos.redux.ecs.systems.SentientPrologSystem.getGroupProperty", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientPrologSystem.html#getGroupProperty:Class[it.unibo.osmos.redux.ecs.entities.SentientProperty]", "kind" : "def"}, {"member" : "it.unibo.osmos.redux.ecs.systems.SentientPrologSystem#", "error" : "unsupported entity"}, {"label" : "notify", "tail" : "(event: EntityManagerEvent): Unit", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystemWithTwoTypeOfEntity.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientPrologSystem.html#notify(event:it.unibo.osmos.redux.ecs.entities.EMEvents.EntityManagerEvent):Unit", "kind" : "def"}, {"label" : "entitiesSecondType", "tail" : ": ListBuffer[SentientEnemyProperty]", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystemWithTwoTypeOfEntity.entitiesSecondType", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientPrologSystem.html#entitiesSecondType:scala.collection.mutable.ListBuffer[R]", "kind" : "var"}, {"label" : "entities", "tail" : ": ListBuffer[SentientProperty]", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystem.entities", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientPrologSystem.html#entities:scala.collection.mutable.ListBuffer[T]", "kind" : "var"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientPrologSystem.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientPrologSystem.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientPrologSystem.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientPrologSystem.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientPrologSystem.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientPrologSystem.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientPrologSystem.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientPrologSystem.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientPrologSystem.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientPrologSystem.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientPrologSystem.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientPrologSystem.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientPrologSystem.html#clone():Object", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientPrologSystem.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientPrologSystem.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientPrologSystem.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "case class" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientPrologSystem.html", "kind" : "case class"}, {"name" : "it.unibo.osmos.redux.ecs.systems.SentientSystem", "shortDescription" : "", "members_case class" : [{"label" : "average", "tail" : "(s: List[Vector]): Vector", "member" : "it.unibo.osmos.redux.ecs.systems.SentientSystem.average", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientSystem.html#average(s:List[it.unibo.osmos.redux.utils.Vector]):it.unibo.osmos.redux.utils.Vector", "kind" : "def"}, {"label" : "followTarget", "tail" : "(sentient: SentientProperty, target: SentientEnemyProperty): Unit", "member" : "it.unibo.osmos.redux.ecs.systems.SentientSystem.followTarget", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientSystem.html#followTarget(sentient:it.unibo.osmos.redux.ecs.entities.SentientProperty,target:it.unibo.osmos.redux.ecs.entities.SentientEnemyProperty):Unit", "kind" : "def"}, {"label" : "update", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.ecs.systems.SentientSystem.update", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientSystem.html#update():Unit", "kind" : "def"}, {"label" : "getGroupProperty", "tail" : "(): Class[SentientProperty]", "member" : "it.unibo.osmos.redux.ecs.systems.SentientSystem.getGroupProperty", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientSystem.html#getGroupProperty:Class[it.unibo.osmos.redux.ecs.entities.SentientProperty]", "kind" : "def"}, {"label" : "getGroupPropertySecondType", "tail" : "(): Class[SentientEnemyProperty]", "member" : "it.unibo.osmos.redux.ecs.systems.SentientSystem.getGroupPropertySecondType", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientSystem.html#getGroupPropertySecondType:Class[it.unibo.osmos.redux.ecs.entities.SentientEnemyProperty]", "kind" : "def"}, {"member" : "it.unibo.osmos.redux.ecs.systems.SentientSystem#", "error" : "unsupported entity"}, {"label" : "notify", "tail" : "(event: EntityManagerEvent): Unit", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystemWithTwoTypeOfEntity.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientSystem.html#notify(event:it.unibo.osmos.redux.ecs.entities.EMEvents.EntityManagerEvent):Unit", "kind" : "def"}, {"label" : "entitiesSecondType", "tail" : ": ListBuffer[SentientEnemyProperty]", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystemWithTwoTypeOfEntity.entitiesSecondType", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientSystem.html#entitiesSecondType:scala.collection.mutable.ListBuffer[R]", "kind" : "var"}, {"label" : "entities", "tail" : ": ListBuffer[SentientProperty]", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystem.entities", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientSystem.html#entities:scala.collection.mutable.ListBuffer[T]", "kind" : "var"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientSystem.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientSystem.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientSystem.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientSystem.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientSystem.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientSystem.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientSystem.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientSystem.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientSystem.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientSystem.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientSystem.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientSystem.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientSystem.html#clone():Object", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientSystem.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientSystem.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientSystem.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "case class" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SentientSystem.html", "kind" : "case class"}, {"name" : "it.unibo.osmos.redux.ecs.systems.SpawnSystem", "shortDescription" : "", "members_case class" : [{"label" : "update", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.ecs.systems.SpawnSystem.update", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SpawnSystem.html#update():Unit", "kind" : "def"}, {"label" : "getGroupProperty", "tail" : "(): Class[Spawner]", "member" : "it.unibo.osmos.redux.ecs.systems.SpawnSystem.getGroupProperty", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SpawnSystem.html#getGroupProperty:Class[it.unibo.osmos.redux.ecs.entities.Spawner]", "kind" : "def"}, {"member" : "it.unibo.osmos.redux.ecs.systems.SpawnSystem#", "error" : "unsupported entity"}, {"label" : "notify", "tail" : "(event: EntityManagerEvent): Unit", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystem.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SpawnSystem.html#notify(event:it.unibo.osmos.redux.ecs.entities.EMEvents.EntityManagerEvent):Unit", "kind" : "def"}, {"label" : "entities", "tail" : ": ListBuffer[Spawner]", "member" : "it.unibo.osmos.redux.ecs.systems.AbstractSystem.entities", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SpawnSystem.html#entities:scala.collection.mutable.ListBuffer[T]", "kind" : "var"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SpawnSystem.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SpawnSystem.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SpawnSystem.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SpawnSystem.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SpawnSystem.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SpawnSystem.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SpawnSystem.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SpawnSystem.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SpawnSystem.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SpawnSystem.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SpawnSystem.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SpawnSystem.html#notify():Unit", "kind" : "final def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SpawnSystem.html#clone():Object", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SpawnSystem.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SpawnSystem.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SpawnSystem.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "case class" : "it\/unibo\/osmos\/redux\/ecs\/systems\/SpawnSystem.html", "kind" : "case class"}, {"name" : "it.unibo.osmos.redux.ecs.systems.System", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/System.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/System.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/System.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/System.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/System.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/System.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/System.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/System.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/System.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/System.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/System.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/System.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/System.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/System.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/System.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/System.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/System.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/System.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/System.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "update", "tail" : "(): Unit", "member" : "it.unibo.osmos.redux.ecs.systems.System.update", "link" : "it\/unibo\/osmos\/redux\/ecs\/systems\/System.html#update():Unit", "kind" : "abstract def"}], "shortDescription" : "Base trait which represent a system", "trait" : "it\/unibo\/osmos\/redux\/ecs\/systems\/System.html", "kind" : "trait"}], "it.unibo.osmos.redux.mvc.view" : [{"name" : "it.unibo.osmos.redux.mvc.view.View", "members_trait" : [{"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}, {"label" : "setController", "tail" : "(controller: Controller): Unit", "member" : "it.unibo.osmos.redux.mvc.view.View.setController", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View.html#setController(controller:it.unibo.osmos.redux.mvc.controller.Controller):Unit", "kind" : "abstract def"}], "shortDescription" : "View base trait", "object" : "it\/unibo\/osmos\/redux\/mvc\/view\/View$.html", "members_object" : [{"label" : "ViewImpl", "tail" : "", "member" : "it.unibo.osmos.redux.mvc.view.View.ViewImpl", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View$.html#ViewImplextendsViewwithPrimaryStageListener", "kind" : "class"}, {"label" : "apply", "tail" : "(app: JFXApp): View", "member" : "it.unibo.osmos.redux.mvc.view.View.apply", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View$.html#apply(app:scalafx.application.JFXApp):it.unibo.osmos.redux.mvc.view.View", "kind" : "def"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View$.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View$.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/View$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "trait" : "it\/unibo\/osmos\/redux\/mvc\/view\/View.html", "kind" : "trait"}, {"name" : "it.unibo.osmos.redux.mvc.view.ViewConstants", "shortDescription" : " View constants", "object" : "it\/unibo\/osmos\/redux\/mvc\/view\/ViewConstants$.html", "members_object" : [{"label" : "Entities", "tail" : "", "member" : "it.unibo.osmos.redux.mvc.view.ViewConstants.Entities", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/ViewConstants$.html#Entities", "kind" : "object"}, {"label" : "Window", "tail" : "", "member" : "it.unibo.osmos.redux.mvc.view.ViewConstants.Window", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/ViewConstants$.html#Window", "kind" : "object"}, {"label" : "synchronized", "tail" : "(arg0: ⇒ T0): T0", "member" : "scala.AnyRef.synchronized", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/ViewConstants$.html#synchronized[T0](x$1:=>T0):T0", "kind" : "final def"}, {"label" : "##", "tail" : "(): Int", "member" : "scala.AnyRef.##", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/ViewConstants$.html###():Int", "kind" : "final def"}, {"label" : "!=", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.!=", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/ViewConstants$.html#!=(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "==", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.==", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/ViewConstants$.html#==(x$1:Any):Boolean", "kind" : "final def"}, {"label" : "ne", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.ne", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/ViewConstants$.html#ne(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "eq", "tail" : "(arg0: AnyRef): Boolean", "member" : "scala.AnyRef.eq", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/ViewConstants$.html#eq(x$1:AnyRef):Boolean", "kind" : "final def"}, {"label" : "finalize", "tail" : "(): Unit", "member" : "scala.AnyRef.finalize", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/ViewConstants$.html#finalize():Unit", "kind" : "def"}, {"label" : "wait", "tail" : "(): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/ViewConstants$.html#wait():Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long, arg1: Int): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/ViewConstants$.html#wait(x$1:Long,x$2:Int):Unit", "kind" : "final def"}, {"label" : "wait", "tail" : "(arg0: Long): Unit", "member" : "scala.AnyRef.wait", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/ViewConstants$.html#wait(x$1:Long):Unit", "kind" : "final def"}, {"label" : "notifyAll", "tail" : "(): Unit", "member" : "scala.AnyRef.notifyAll", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/ViewConstants$.html#notifyAll():Unit", "kind" : "final def"}, {"label" : "notify", "tail" : "(): Unit", "member" : "scala.AnyRef.notify", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/ViewConstants$.html#notify():Unit", "kind" : "final def"}, {"label" : "toString", "tail" : "(): String", "member" : "scala.AnyRef.toString", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/ViewConstants$.html#toString():String", "kind" : "def"}, {"label" : "clone", "tail" : "(): AnyRef", "member" : "scala.AnyRef.clone", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/ViewConstants$.html#clone():Object", "kind" : "def"}, {"label" : "equals", "tail" : "(arg0: Any): Boolean", "member" : "scala.AnyRef.equals", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/ViewConstants$.html#equals(x$1:Any):Boolean", "kind" : "def"}, {"label" : "hashCode", "tail" : "(): Int", "member" : "scala.AnyRef.hashCode", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/ViewConstants$.html#hashCode():Int", "kind" : "def"}, {"label" : "getClass", "tail" : "(): Class[_]", "member" : "scala.AnyRef.getClass", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/ViewConstants$.html#getClass():Class[_]", "kind" : "final def"}, {"label" : "asInstanceOf", "tail" : "(): T0", "member" : "scala.Any.asInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/ViewConstants$.html#asInstanceOf[T0]:T0", "kind" : "final def"}, {"label" : "isInstanceOf", "tail" : "(): Boolean", "member" : "scala.Any.isInstanceOf", "link" : "it\/unibo\/osmos\/redux\/mvc\/view\/ViewConstants$.html#isInstanceOf[T0]:Boolean", "kind" : "final def"}], "kind" : "object"}]}; \ No newline at end of file diff --git a/docs/scaladoc/it/index.html b/docs/scaladoc/it/index.html new file mode 100644 index 00000000..c49061c3 --- /dev/null +++ b/docs/scaladoc/it/index.html @@ -0,0 +1,174 @@ + + + + + + osmos-redux 1.1.0 API - it + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
p
+ +

it + + + +

+ +
+ +

+ + + package + + + it + +

+ + +
+ + + + +
+
+ + + + + + + + + + + +
+ +
+ + +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/index.html b/docs/scaladoc/it/unibo/index.html new file mode 100644 index 00000000..4d928b71 --- /dev/null +++ b/docs/scaladoc/it/unibo/index.html @@ -0,0 +1,190 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
p
+

it

+

unibo + + + +

+ +
+ +

+ + + package + + + unibo + +

+ + +
+ + + + +
+
+ + + + + + + + + + + +
+ +
+ + +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/index.html b/docs/scaladoc/it/unibo/osmos/index.html new file mode 100644 index 00000000..4d653b17 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/index.html @@ -0,0 +1,206 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
p
+

it.unibo

+

osmos + + + +

+ +
+ +

+ + + package + + + osmos + +

+ + +
+ + + + +
+
+ + + + + + + + + + + +
+ +
+ + +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/components/AccelerationComponent$.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/AccelerationComponent$.html new file mode 100644 index 00000000..7fd8aeec --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/AccelerationComponent$.html @@ -0,0 +1,728 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.components.AccelerationComponent + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + object + + + AccelerationComponent + +

+ + +
+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. AccelerationComponent
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + def + + + apply(acceleration: Vector): AccelerationComponent + + + +
  5. + + + + + + + + + def + + + apply(accelerationX: Double, accelerationY: Double): AccelerationComponent + + + +
  6. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  7. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  8. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  9. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  10. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  11. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  13. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  14. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  15. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  16. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  17. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  18. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  19. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  21. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  22. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/components/AccelerationComponent.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/AccelerationComponent.html new file mode 100644 index 00000000..31203e7c --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/AccelerationComponent.html @@ -0,0 +1,749 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.components.AccelerationComponent + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + trait + + + AccelerationComponent extends VectorComponent + +

+ + +

Component of the acceleration vector

+ + Linear Supertypes + +
VectorComponent, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. AccelerationComponent
  2. VectorComponent
  3. AnyRef
  4. Any
  5. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + reset(): Unit + + +

    Resets this component vector's components to 0

    +
  2. + + + + + + + + abstract + def + + + vector: Vector + + +

    Definition Classes
    VectorComponent
    +
  3. + + + + + + + + abstract + def + + + vector_(vector: Vector): Unit + + +

    Definition Classes
    VectorComponent
    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from VectorComponent

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/components/CollidableComponent$.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/CollidableComponent$.html new file mode 100644 index 00000000..c12be39a --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/CollidableComponent$.html @@ -0,0 +1,712 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.components.CollidableComponent + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + object + + + CollidableComponent + +

+ + +
+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. CollidableComponent
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + def + + + apply(collidable: Boolean): CollidableComponent + + + +
  5. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  6. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  9. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  10. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  13. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  14. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/components/CollidableComponent.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/CollidableComponent.html new file mode 100644 index 00000000..0890d981 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/CollidableComponent.html @@ -0,0 +1,732 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.components.CollidableComponent + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + trait + + + CollidableComponent extends AnyRef + +

+ + +

Component for entity able to be collided. +

+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. CollidableComponent
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + isCollidable(): Boolean + + +

    returns

    true if the entity is able to be collided, false otherwise

    +
  2. + + + + + + + + abstract + def + + + setCollidable(collidable: Boolean): Unit + + +

    Setter.

    Setter. Set the ability of the entity to be collided

    collidable

    ability of the entity

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/components/Component.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/Component.html new file mode 100644 index 00000000..3ce2a5d3 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/Component.html @@ -0,0 +1,695 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.components.Component + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.ecs.components

+

Component + + + +

+

+
+ +

+ + + trait + + + Component extends AnyRef + +

+ + +

Component base trait +

+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. Component
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/components/DimensionComponent$.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/DimensionComponent$.html new file mode 100644 index 00000000..3414410a --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/DimensionComponent$.html @@ -0,0 +1,712 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.components.DimensionComponent + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + object + + + DimensionComponent + +

+ + +
+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. DimensionComponent
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + def + + + apply(radius: Double): DimensionComponent + + + +
  5. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  6. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  9. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  10. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  13. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  14. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/components/DimensionComponent.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/DimensionComponent.html new file mode 100644 index 00000000..494078c0 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/DimensionComponent.html @@ -0,0 +1,732 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.components.DimensionComponent + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + trait + + + DimensionComponent extends AnyRef + +

+ + +

Component Dimension (radius of the sphere) +

+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. DimensionComponent
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + radius: Double + + +

    Getter.

    Getter. Return the radius of the sphere

    returns

    the radius

    +
  2. + + + + + + + + abstract + def + + + radius_(radius: Double): Unit + + +

    Setter.

    Setter. Set the new value of the radius

    radius

    the new radius

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/components/EntityType$.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/EntityType$.html new file mode 100644 index 00000000..a245a38e --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/EntityType$.html @@ -0,0 +1,1019 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.components.EntityType + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.ecs.components

+

EntityType + + + +

+

+
+ +

+ + + object + + + EntityType extends Enumeration + +

+ + +

Enumeration which holds the different entity types +

+ + Linear Supertypes + +
Enumeration, Serializable, Serializable, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. EntityType
  2. Enumeration
  3. Serializable
  4. Serializable
  5. AnyRef
  6. Any
  7. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + +
+

Type Members

+
  1. + + + + + + + + + class + + + Val extends Value with Serializable + + +
    Attributes
    protected
    Definition Classes
    Enumeration
    Annotations
    + @SerialVersionUID() + +
    +
  2. + + + + + + + + abstract + class + + + Value extends Ordered[Value] with Serializable + + +
    Definition Classes
    Enumeration
    Annotations
    + @SerialVersionUID() + +
    +
  3. + + + + + + + + + class + + + ValueSet extends AbstractSet[Value] with SortedSet[Value] with SortedSetLike[Value, ValueSet] with Serializable + + +
    Definition Classes
    Enumeration
    +
+
+ + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + val + + + AntiMatter: Value + + +

    Basic entity type used by common entities +

    +
  5. + + + + + + + + + val + + + Attractive: Value + + +

    Basic entity type used by common entities +

    +
  6. + + + + + + + + + val + + + Matter: Value + + +

    Basic entity type used by common entities +

    +
  7. + + + + + + + + + val + + + Repulse: Value + + +

    Basic entity type used by common entities +

    +
  8. + + + + + + + + + val + + + Sentient: Value + + +

    Basic entity type used by common entities +

    +
  9. + + + + + + + + final + def + + + Value(i: Int, name: String): Value + + +
    Attributes
    protected
    Definition Classes
    Enumeration
    +
  10. + + + + + + + + final + def + + + Value(name: String): Value + + +
    Attributes
    protected
    Definition Classes
    Enumeration
    +
  11. + + + + + + + + final + def + + + Value(i: Int): Value + + +
    Attributes
    protected
    Definition Classes
    Enumeration
    +
  12. + + + + + + + + final + def + + + Value: Value + + +
    Attributes
    protected
    Definition Classes
    Enumeration
    +
  13. + + + + + + + + final + def + + + apply(x: Int): Value + + +
    Definition Classes
    Enumeration
    +
  14. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  15. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  16. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  19. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  20. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  21. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  22. + + + + + + + + final + def + + + maxId: Int + + +
    Definition Classes
    Enumeration
    +
  23. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  24. + + + + + + + + + var + + + nextId: Int + + +
    Attributes
    protected
    Definition Classes
    Enumeration
    +
  25. + + + + + + + + + var + + + nextName: Iterator[String] + + +
    Attributes
    protected
    Definition Classes
    Enumeration
    +
  26. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  27. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  28. + + + + + + + + + def + + + readResolve(): AnyRef + + +
    Attributes
    protected
    Definition Classes
    Enumeration
    +
  29. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  30. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    Enumeration → AnyRef → Any
    +
  31. + + + + + + + + + def + + + values: ValueSet + + +
    Definition Classes
    Enumeration
    +
  32. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  33. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  34. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  35. + + + + + + + + final + def + + + withName(s: String): Value + + +
    Definition Classes
    Enumeration
    +
  36. +
+
+ + + + +
+ +
+
+

Inherited from Enumeration

+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/components/MassComponent$$MassComponentImpl.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/MassComponent$$MassComponentImpl.html new file mode 100644 index 00000000..d827671a --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/MassComponent$$MassComponentImpl.html @@ -0,0 +1,684 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.components.MassComponent.MassComponentImpl + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.ecs.components.MassComponent

+

MassComponentImpl + + + +

+

+
+ +

+ + + case class + + + MassComponentImpl(dimension: DimensionComponent, specificWeight: SpecificWeightComponent) extends MassComponent with Product with Serializable + +

+ + +
+ + Linear Supertypes + +
Serializable, Serializable, Product, Equals, MassComponent, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. MassComponentImpl
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. MassComponent
  7. AnyRef
  8. Any
  9. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + MassComponentImpl(dimension: DimensionComponent, specificWeight: SpecificWeightComponent) + + + +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + + val + + + dimension: DimensionComponent + + + +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  11. + + + + + + + + + def + + + mass: Double + + +

    Getter.

    Getter. Return the entity's mass

    returns

    entity's mass

    Definition Classes
    MassComponentImplMassComponent
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + + val + + + specificWeight: SpecificWeightComponent + + + +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from MassComponent

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/components/MassComponent$.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/MassComponent$.html new file mode 100644 index 00000000..abb4885e --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/MassComponent$.html @@ -0,0 +1,731 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.components.MassComponent + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + object + + + MassComponent + +

+ + +
+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. MassComponent
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + +
+

Type Members

+
  1. + + + + + + + + + case class + + + MassComponentImpl(dimension: DimensionComponent, specificWeight: SpecificWeightComponent) extends MassComponent with Product with Serializable + + + +
+
+ + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + def + + + apply(dimension: DimensionComponent, specificWeight: SpecificWeightComponent): MassComponent + + + +
  5. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  6. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  9. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  10. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  13. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  14. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/components/MassComponent.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/MassComponent.html new file mode 100644 index 00000000..24c3524b --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/MassComponent.html @@ -0,0 +1,721 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.components.MassComponent + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + trait + + + MassComponent extends AnyRef + +

+ + +

Component for entity's mass +

+ + Linear Supertypes + +
AnyRef, Any
+
+ + Known Subclasses + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. MassComponent
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + mass: Double + + +

    Getter.

    Getter. Return the entity's mass

    returns

    entity's mass

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/components/PositionComponent$.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/PositionComponent$.html new file mode 100644 index 00000000..bd655a55 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/PositionComponent$.html @@ -0,0 +1,728 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.components.PositionComponent + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + object + + + PositionComponent + +

+ + +
+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. PositionComponent
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + def + + + apply(point: Point): PositionComponent + + + +
  5. + + + + + + + + + def + + + apply(x: Double, y: Double): PositionComponent + + + +
  6. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  7. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  8. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  9. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  10. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  11. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  13. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  14. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  15. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  16. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  17. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  18. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  19. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  21. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  22. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/components/PositionComponent.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/PositionComponent.html new file mode 100644 index 00000000..905d24c2 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/PositionComponent.html @@ -0,0 +1,732 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.components.PositionComponent + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + trait + + + PositionComponent extends AnyRef + +

+ + +

Component Position (coordinates of the sphere's center) +

+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. PositionComponent
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + point: Point + + +

    Getter.

    Getter. Return the center of the sphere

    returns

    the center

    +
  2. + + + + + + + + abstract + def + + + point_(point: Point): Unit + + +

    Setter.

    Setter. Set the new center of the speed

    point

    the new center

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/components/SpawnAction.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/SpawnAction.html new file mode 100644 index 00000000..31b5d0de --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/SpawnAction.html @@ -0,0 +1,718 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.components.SpawnAction + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.ecs.components

+

SpawnAction + + + +

+

+
+ +

+ + + case class + + + SpawnAction(position: PositionComponent, dimension: DimensionComponent, speed: SpeedComponent) extends Product with Serializable + +

+ + +

Represents a spawn action of a spawner.

position

The initial position of the entity to spawn

dimension

The dimension of the entity to spawn

speed

The initial speed of the entity to spawn

+ + Linear Supertypes + +
Serializable, Serializable, Product, Equals, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. SpawnAction
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
  8. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + SpawnAction(position: PositionComponent, dimension: DimensionComponent, speed: SpeedComponent) + + +

    position

    The initial position of the entity to spawn

    dimension

    The dimension of the entity to spawn

    speed

    The initial speed of the entity to spawn

    +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + + var + + + dimension: DimensionComponent + + + +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  11. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  12. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  13. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + + var + + + position: PositionComponent + + + +
  15. + + + + + + + + + var + + + speed: SpeedComponent + + + +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/components/SpawnerComponent$.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/SpawnerComponent$.html new file mode 100644 index 00000000..5a895695 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/SpawnerComponent$.html @@ -0,0 +1,712 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.components.SpawnerComponent + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + object + + + SpawnerComponent + +

+ + +
+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. SpawnerComponent
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + def + + + apply(canSpawn: Boolean): SpawnerComponent + + + +
  5. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  6. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  9. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  10. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  13. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  14. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/components/SpawnerComponent.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/SpawnerComponent.html new file mode 100644 index 00000000..cfb38ad0 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/SpawnerComponent.html @@ -0,0 +1,814 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.components.SpawnerComponent + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + trait + + + SpawnerComponent extends AnyRef + +

+ + +

Spawner Component +

+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. SpawnerComponent
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + canSpawn: Boolean + + +

    Getter.

    Getter. Defines whether the spawner can spawn new entities or not.

    returns

    True, if the spawner can spawn; otherwise false.

    +
  2. + + + + + + + + abstract + def + + + canSpawn_(value: Boolean): Unit + + +

    Setter.

    Setter. Defines whether the spawner can spawn new entities or not.

    value

    True, if the spawner can spawn; otherwise false.

    +
  3. + + + + + + + + abstract + def + + + clearActions(): Unit + + +

    Clears all queued spawn actions.

    +
  4. + + + + + + + + abstract + def + + + dequeueAction(): Option[SpawnAction] + + +

    Gets a spawn action to perform.

    Gets a spawn action to perform.

    returns

    The spawn action.

    +
  5. + + + + + + + + abstract + def + + + dequeueActions(): List[SpawnAction] + + +

    Gets all spawn actions to perform.

    Gets all spawn actions to perform.

    returns

    The spawn actions list.

    +
  6. + + + + + + + + abstract + def + + + enqueueActions(actions: SpawnAction*): Unit + + +

    Enqueue one or more spawn action.

    Enqueue one or more spawn action.

    actions

    The spawn actions.

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + val + + + actionQueue: Queue[SpawnAction] + + +

    Stack +

    Stack +

    Attributes
    protected
    +
  5. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  6. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  9. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  10. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  13. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  14. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/components/SpecificWeightComponent.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/SpecificWeightComponent.html new file mode 100644 index 00000000..a1233863 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/SpecificWeightComponent.html @@ -0,0 +1,686 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.components.SpecificWeightComponent + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.ecs.components

+

SpecificWeightComponent + + + +

+

+
+ +

+ + + case class + + + SpecificWeightComponent(specificWeight: Double) extends Product with Serializable + +

+ + +

Component for the specific weight of the entity

specificWeight

specific weight

+ + Linear Supertypes + +
Serializable, Serializable, Product, Equals, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. SpecificWeightComponent
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
  8. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + SpecificWeightComponent(specificWeight: Double) + + +

    specificWeight

    specific weight

    +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  8. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  9. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  10. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  11. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  12. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  13. + + + + + + + + + val + + + specificWeight: Double + + + +
  14. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  15. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  16. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  17. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  18. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/components/SpeedComponent$.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/SpeedComponent$.html new file mode 100644 index 00000000..cb8420d2 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/SpeedComponent$.html @@ -0,0 +1,728 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.components.SpeedComponent + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + object + + + SpeedComponent + +

+ + +
+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. SpeedComponent
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + def + + + apply(speed: Vector): SpeedComponent + + + +
  5. + + + + + + + + + def + + + apply(speedX: Double, speedY: Double): SpeedComponent + + + +
  6. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  7. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  8. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  9. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  10. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  11. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  13. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  14. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  15. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  16. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  17. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  18. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  19. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  21. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  22. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/components/SpeedComponent.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/SpeedComponent.html new file mode 100644 index 00000000..b22ae9e5 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/SpeedComponent.html @@ -0,0 +1,734 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.components.SpeedComponent + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + trait + + + SpeedComponent extends VectorComponent + +

+ + +

Component of the speed vector +

+ + Linear Supertypes + +
VectorComponent, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. SpeedComponent
  2. VectorComponent
  3. AnyRef
  4. Any
  5. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + vector: Vector + + +

    Definition Classes
    VectorComponent
    +
  2. + + + + + + + + abstract + def + + + vector_(vector: Vector): Unit + + +

    Definition Classes
    VectorComponent
    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from VectorComponent

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/components/TypeComponent.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/TypeComponent.html new file mode 100644 index 00000000..a86341e6 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/TypeComponent.html @@ -0,0 +1,686 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.components.TypeComponent + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.ecs.components

+

TypeComponent + + + +

+

+
+ +

+ + + case class + + + TypeComponent(typeEntity: EntityType.Value) extends Product with Serializable + +

+ + +

Component for entity's type

typeEntity

entity's type

+ + Linear Supertypes + +
Serializable, Serializable, Product, Equals, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. TypeComponent
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
  8. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + TypeComponent(typeEntity: EntityType.Value) + + +

    typeEntity

    entity's type

    +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  8. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  9. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  10. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  11. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  12. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  13. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  14. + + + + + + + + + val + + + typeEntity: EntityType.Value + + + +
  15. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  16. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  17. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  18. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/components/VectorComponent.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/VectorComponent.html new file mode 100644 index 00000000..cb318917 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/VectorComponent.html @@ -0,0 +1,734 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.components.VectorComponent + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.ecs.components

+

VectorComponent + + + +

+

+
+ +

+ + + trait + + + VectorComponent extends AnyRef + +

+ + +
+ + Linear Supertypes + +
AnyRef, Any
+
+ + Known Subclasses + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. VectorComponent
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + vector: Vector + + +

    +
  2. + + + + + + + + abstract + def + + + vector_(vector: Vector): Unit + + +

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/components/VisibleComponent$.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/VisibleComponent$.html new file mode 100644 index 00000000..c36b49a4 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/VisibleComponent$.html @@ -0,0 +1,712 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.components.VisibleComponent + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + object + + + VisibleComponent + +

+ + +
+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. VisibleComponent
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + def + + + apply(visible: Boolean): VisibleComponent + + + +
  5. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  6. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  9. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  10. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  13. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  14. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/components/VisibleComponent.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/VisibleComponent.html new file mode 100644 index 00000000..16fb77c9 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/VisibleComponent.html @@ -0,0 +1,732 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.components.VisibleComponent + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + trait + + + VisibleComponent extends AnyRef + +

+ + +

Component for visible entity +

+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. VisibleComponent
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + isVisible(): Boolean + + +

    returns

    true if the entity is visible, false otherwise

    +
  2. + + + + + + + + abstract + def + + + setVisible(visible: Boolean): Unit + + +

    Setter.

    Setter. Set the visibility of the entity

    visible

    visibility police

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/components/index.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/index.html new file mode 100644 index 00000000..894a7239 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/components/index.html @@ -0,0 +1,734 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.components + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
p
+

it.unibo.osmos.redux.ecs

+

components + + + +

+ +
+ +

+ + + package + + + components + +

+ + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. + +
+
+ +
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + +
+

Type Members

+
  1. + + + + + + + + + trait + + + AccelerationComponent extends VectorComponent + + +

    Component of the acceleration vector

    +
  2. + + + + + + + + + trait + + + CollidableComponent extends AnyRef + + +

    Component for entity able to be collided.

    +
  3. + + + + + + + + + trait + + + Component extends AnyRef + + +

    Component base trait +

    +
  4. + + + + + + + + + trait + + + DimensionComponent extends AnyRef + + +

    Component Dimension (radius of the sphere) +

    +
  5. + + + + + + + + + trait + + + MassComponent extends AnyRef + + +

    Component for entity's mass +

    +
  6. + + + + + + + + + trait + + + PositionComponent extends AnyRef + + +

    Component Position (coordinates of the sphere's center) +

    +
  7. + + + + + + + + + case class + + + SpawnAction(position: PositionComponent, dimension: DimensionComponent, speed: SpeedComponent) extends Product with Serializable + + +

    Represents a spawn action of a spawner.

    Represents a spawn action of a spawner.

    position

    The initial position of the entity to spawn

    dimension

    The dimension of the entity to spawn

    speed

    The initial speed of the entity to spawn

    +
  8. + + + + + + + + + trait + + + SpawnerComponent extends AnyRef + + +

    Spawner Component +

    +
  9. + + + + + + + + + case class + + + SpecificWeightComponent(specificWeight: Double) extends Product with Serializable + + +

    Component for the specific weight of the entity

    Component for the specific weight of the entity

    specificWeight

    specific weight

    +
  10. + + + + + + + + + trait + + + SpeedComponent extends VectorComponent + + +

    Component of the speed vector +

    +
  11. + + + + + + + + + case class + + + TypeComponent(typeEntity: EntityType.Value) extends Product with Serializable + + +

    Component for entity's type

    Component for entity's type

    typeEntity

    entity's type

    +
  12. + + + + + + + + + trait + + + VectorComponent extends AnyRef + + +

    +
  13. + + + + + + + + + trait + + + VisibleComponent extends AnyRef + + +

    Component for visible entity +

    +
+
+ + + +
+

Value Members

+
    +
  1. + + + + + + + + + object + + + AccelerationComponent + + + +
  2. + + + + + + + + + object + + + CollidableComponent + + + +
  3. + + + + + + + + + object + + + DimensionComponent + + + +
  4. + + + + + + + + + object + + + EntityType extends Enumeration + + +

    Enumeration which holds the different entity types +

    +
  5. + + + + + + + + + object + + + MassComponent + + + +
  6. + + + + + + + + + object + + + PositionComponent + + + +
  7. + + + + + + + + + object + + + SpawnerComponent + + + +
  8. + + + + + + + + + object + + + SpeedComponent + + + +
  9. + + + + + + + + + object + + + VisibleComponent + + + +
  10. +
+
+ + + + +
+ +
+ + +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/engine/ExceededTickTimeException.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/engine/ExceededTickTimeException.html new file mode 100644 index 00000000..f1de9a42 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/engine/ExceededTickTimeException.html @@ -0,0 +1,842 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.engine.ExceededTickTimeException + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.ecs.engine

+

ExceededTickTimeException + + + +

+

+
+ +

+ + final + case class + + + ExceededTickTimeException(message: String = "", cause: Throwable = null) extends Exception with Product with Serializable + +

+ + +

Custom exception to handle game loop tick time overrun

message

The message of the exception (optional)

cause

The cause of the exception (optional)

+ + Linear Supertypes + +
Serializable, Product, Equals, Exception, Throwable, Serializable, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. ExceededTickTimeException
  2. Serializable
  3. Product
  4. Equals
  5. Exception
  6. Throwable
  7. Serializable
  8. AnyRef
  9. Any
  10. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + ExceededTickTimeException(message: String = "", cause: Throwable = null) + + +

    message

    The message of the exception (optional)

    cause

    The cause of the exception (optional)

    +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + addSuppressed(arg0: Throwable): Unit + + +
    Definition Classes
    Throwable
    +
  5. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  6. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + fillInStackTrace(): Throwable + + +
    Definition Classes
    Throwable
    +
  9. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  10. + + + + + + + + + def + + + getCause(): Throwable + + +
    Definition Classes
    Throwable
    +
  11. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + + def + + + getLocalizedMessage(): String + + +
    Definition Classes
    Throwable
    +
  13. + + + + + + + + + def + + + getMessage(): String + + +
    Definition Classes
    Throwable
    +
  14. + + + + + + + + + def + + + getStackTrace(): Array[StackTraceElement] + + +
    Definition Classes
    Throwable
    +
  15. + + + + + + + + final + def + + + getSuppressed(): Array[Throwable] + + +
    Definition Classes
    Throwable
    +
  16. + + + + + + + + + def + + + initCause(arg0: Throwable): Throwable + + +
    Definition Classes
    Throwable
    +
  17. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  18. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  19. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  20. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  21. + + + + + + + + + def + + + printStackTrace(arg0: PrintWriter): Unit + + +
    Definition Classes
    Throwable
    +
  22. + + + + + + + + + def + + + printStackTrace(arg0: PrintStream): Unit + + +
    Definition Classes
    Throwable
    +
  23. + + + + + + + + + def + + + printStackTrace(): Unit + + +
    Definition Classes
    Throwable
    +
  24. + + + + + + + + + def + + + setStackTrace(arg0: Array[StackTraceElement]): Unit + + +
    Definition Classes
    Throwable
    +
  25. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  26. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    Throwable → AnyRef → Any
    +
  27. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  28. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  29. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  30. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from Exception

+
+

Inherited from Throwable

+
+

Inherited from Serializable

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/engine/GameEngine$.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/engine/GameEngine$.html new file mode 100644 index 00000000..12d7583d --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/engine/GameEngine$.html @@ -0,0 +1,673 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.engine.GameEngine + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + object + + + GameEngine + +

+ + +

Game engine object companion. +

+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. GameEngine
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + def + + + apply(): GameEngine + + + +
  5. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  6. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  9. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  10. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  13. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  14. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/engine/GameEngine.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/engine/GameEngine.html new file mode 100644 index 00000000..7a99f485 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/engine/GameEngine.html @@ -0,0 +1,808 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.engine.GameEngine + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + trait + + + GameEngine extends AnyRef + +

+ + +

Game engine, the game loop manager. +

+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. GameEngine
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + +
+

Type Members

+
  1. + + + + + + + + + type + + + GameStatus = GameStatus.Value + + + +
+
+ +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + clear(): Unit + + +

    Clears all data of the current game loop.

    +
  2. + + + + + + + + abstract + def + + + getFps: Int + + +

    Returns the current frame rate.

    Returns the current frame rate.

    returns

    The frame rate.

    +
  3. + + + + + + + + abstract + def + + + getStatus: GameStatus + + +

    Gets the current game loop status.

    Gets the current game loop status.

    returns

    The current game loop status.

    +
  4. + + + + + + + + abstract + def + + + init(level: Level, levelContext: LevelContext): Unit + + +

    Initializes the game loop with the input data that represents the level.

    Initializes the game loop with the input data that represents the level. +

    level

    The object that contains all level data.

    levelContext

    The context of the current game level.

    +
  5. + + + + + + + + abstract + def + + + pause(): Unit + + +

    Pauses the game loop.

    +
  6. + + + + + + + + abstract + def + + + resume(): Unit + + +

    Resumes the game loop.

    +
  7. + + + + + + + + abstract + def + + + start(): Unit + + +

    Starts the game loop.

    +
  8. + + + + + + + + abstract + def + + + stop(): Unit + + +

    Stops the game loop.

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/engine/GameLoop.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/engine/GameLoop.html new file mode 100644 index 00000000..9ab9b4fc --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/engine/GameLoop.html @@ -0,0 +1,1313 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.engine.GameLoop + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.ecs.engine

+

GameLoop + + + +

+

+
+ +

+ + + class + + + GameLoop extends Thread + +

+ + +

Implementation of the game loop.

+ + Linear Supertypes + +
Thread, Runnable, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. GameLoop
  2. Thread
  3. Runnable
  4. AnyRef
  5. Any
  6. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + GameLoop(engine: GameEngine, systems: List[System]) + + +

    engine

    The Game engine.

    systems

    The list of the systems of the game.

    +
+
+ +
+

Type Members

+
  1. + + + + + + + + + type + + + GameStatus = GameStatus.Value + + + +
+
+ + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + final + def + + + checkAccess(): Unit + + +
    Definition Classes
    Thread
    +
  6. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    Thread → AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  7. + + + + + + + + + val + + + engine: GameEngine + + + +
  8. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  9. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  10. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  11. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + + def + + + getContextClassLoader(): ClassLoader + + +
    Definition Classes
    Thread
    Annotations
    + @CallerSensitive() + +
    +
  13. + + + + + + + + + def + + + getId(): Long + + +
    Definition Classes
    Thread
    +
  14. + + + + + + + + final + def + + + getName(): String + + +
    Definition Classes
    Thread
    +
  15. + + + + + + + + final + def + + + getPriority(): Int + + +
    Definition Classes
    Thread
    +
  16. + + + + + + + + + def + + + getStackTrace(): Array[StackTraceElement] + + +
    Definition Classes
    Thread
    +
  17. + + + + + + + + + def + + + getState(): State + + +
    Definition Classes
    Thread
    +
  18. + + + + + + + + + def + + + getStatus: GameStatus + + +

    Gets the current status.

    Gets the current status.

    returns

    The current game status

    +
  19. + + + + + + + + final + def + + + getThreadGroup(): ThreadGroup + + +
    Definition Classes
    Thread
    +
  20. + + + + + + + + + def + + + getUncaughtExceptionHandler(): UncaughtExceptionHandler + + +
    Definition Classes
    Thread
    +
  21. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  22. + + + + + + + + + def + + + interrupt(): Unit + + +
    Definition Classes
    Thread
    +
  23. + + + + + + + + final + def + + + isAlive(): Boolean + + +
    Definition Classes
    Thread
    Annotations
    + @native() + +
    +
  24. + + + + + + + + final + def + + + isDaemon(): Boolean + + +
    Definition Classes
    Thread
    +
  25. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  26. + + + + + + + + + def + + + isInterrupted(): Boolean + + +
    Definition Classes
    Thread
    +
  27. + + + + + + + + final + def + + + join(): Unit + + +
    Definition Classes
    Thread
    Annotations
    + @throws( + + ... + ) + +
    +
  28. + + + + + + + + final + def + + + join(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    Thread
    Annotations
    + @throws( + + ... + ) + +
    +
  29. + + + + + + + + final + def + + + join(arg0: Long): Unit + + +
    Definition Classes
    Thread
    Annotations
    + @throws( + + ... + ) + +
    +
  30. + + + + + + + + + def + + + kill(): Unit + + +

    Kills the execution.

    +
  31. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  32. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  33. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  34. + + + + + + + + + def + + + pause(): Unit + + +

    Pauses the execution.

    +
  35. + + + + + + + + + def + + + run(): Unit + + +
    Definition Classes
    GameLoop → Thread → Runnable
    +
  36. + + + + + + + + + def + + + setContextClassLoader(arg0: ClassLoader): Unit + + +
    Definition Classes
    Thread
    +
  37. + + + + + + + + final + def + + + setDaemon(arg0: Boolean): Unit + + +
    Definition Classes
    Thread
    +
  38. + + + + + + + + final + def + + + setName(arg0: String): Unit + + +
    Definition Classes
    Thread
    +
  39. + + + + + + + + final + def + + + setPriority(arg0: Int): Unit + + +
    Definition Classes
    Thread
    +
  40. + + + + + + + + + def + + + setUncaughtExceptionHandler(arg0: UncaughtExceptionHandler): Unit + + +
    Definition Classes
    Thread
    +
  41. + + + + + + + + + def + + + start(): Unit + + +
    Definition Classes
    Thread
    +
  42. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  43. + + + + + + + + + var + + + systems: List[System] + + + +
  44. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    Thread → AnyRef → Any
    +
  45. + + + + + + + + + def + + + unpause(): Unit + + +

    Resumes the execution.

    +
  46. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  47. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  48. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  49. +
+
+ + + +
+

Deprecated Value Members

+
  1. + + + + + + + + + def + + + countStackFrames(): Int + + +
    Definition Classes
    Thread
    Annotations
    + @native() + + @Deprecated + + @deprecated + +
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

    +
  2. + + + + + + + + + def + + + destroy(): Unit + + +
    Definition Classes
    Thread
    Annotations
    + @Deprecated + + @deprecated + +
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

    +
  3. + + + + + + + + final + def + + + resume(): Unit + + +
    Definition Classes
    Thread
    Annotations
    + @Deprecated + + @deprecated + +
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

    +
  4. + + + + + + + + final + def + + + stop(arg0: Throwable): Unit + + +
    Definition Classes
    Thread
    Annotations
    + @Deprecated + + @deprecated + +
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

    +
  5. + + + + + + + + final + def + + + stop(): Unit + + +
    Definition Classes
    Thread
    Annotations
    + @Deprecated + + @deprecated + +
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

    +
  6. + + + + + + + + final + def + + + suspend(): Unit + + +
    Definition Classes
    Thread
    Annotations
    + @Deprecated + + @deprecated + +
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

    +
+
+
+ +
+
+

Inherited from Thread

+
+

Inherited from Runnable

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/engine/GameStatus$.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/engine/GameStatus$.html new file mode 100644 index 00000000..9742f115 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/engine/GameStatus$.html @@ -0,0 +1,957 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.engine.GameStatus + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.ecs.engine

+

GameStatus + + + +

+

+
+ +

+ + + object + + + GameStatus extends Enumeration + +

+ + +
+ + Linear Supertypes + +
Enumeration, Serializable, Serializable, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. GameStatus
  2. Enumeration
  3. Serializable
  4. Serializable
  5. AnyRef
  6. Any
  7. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + +
+

Type Members

+
  1. + + + + + + + + + class + + + Val extends Value with Serializable + + +
    Attributes
    protected
    Definition Classes
    Enumeration
    Annotations
    + @SerialVersionUID() + +
    +
  2. + + + + + + + + abstract + class + + + Value extends Ordered[Value] with Serializable + + +
    Definition Classes
    Enumeration
    Annotations
    + @SerialVersionUID() + +
    +
  3. + + + + + + + + + class + + + ValueSet extends AbstractSet[Value] with SortedSet[Value] with SortedSetLike[Value, ValueSet] with Serializable + + +
    Definition Classes
    Enumeration
    +
+
+ + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + val + + + Idle: Value + + + +
  5. + + + + + + + + + val + + + Paused: Value + + + +
  6. + + + + + + + + + val + + + Running: Value + + + +
  7. + + + + + + + + + val + + + Stopped: Value + + + +
  8. + + + + + + + + final + def + + + Value(i: Int, name: String): Value + + +
    Attributes
    protected
    Definition Classes
    Enumeration
    +
  9. + + + + + + + + final + def + + + Value(name: String): Value + + +
    Attributes
    protected
    Definition Classes
    Enumeration
    +
  10. + + + + + + + + final + def + + + Value(i: Int): Value + + +
    Attributes
    protected
    Definition Classes
    Enumeration
    +
  11. + + + + + + + + final + def + + + Value: Value + + +
    Attributes
    protected
    Definition Classes
    Enumeration
    +
  12. + + + + + + + + final + def + + + apply(x: Int): Value + + +
    Definition Classes
    Enumeration
    +
  13. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  14. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  15. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  18. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  19. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  20. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  21. + + + + + + + + final + def + + + maxId: Int + + +
    Definition Classes
    Enumeration
    +
  22. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  23. + + + + + + + + + var + + + nextId: Int + + +
    Attributes
    protected
    Definition Classes
    Enumeration
    +
  24. + + + + + + + + + var + + + nextName: Iterator[String] + + +
    Attributes
    protected
    Definition Classes
    Enumeration
    +
  25. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  26. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  27. + + + + + + + + + def + + + readResolve(): AnyRef + + +
    Attributes
    protected
    Definition Classes
    Enumeration
    +
  28. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  29. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    Enumeration → AnyRef → Any
    +
  30. + + + + + + + + + def + + + values: ValueSet + + +
    Definition Classes
    Enumeration
    +
  31. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  32. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  33. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  34. + + + + + + + + final + def + + + withName(s: String): Value + + +
    Definition Classes
    Enumeration
    +
  35. +
+
+ + + + +
+ +
+
+

Inherited from Enumeration

+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/engine/index.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/engine/index.html new file mode 100644 index 00000000..521b08e6 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/engine/index.html @@ -0,0 +1,414 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.engine + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
p
+

it.unibo.osmos.redux.ecs

+

engine + + + +

+ +
+ +

+ + + package + + + engine + +

+ + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. + +
+
+ +
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + +
+

Type Members

+
  1. + + + + + + + + final + case class + + + ExceededTickTimeException(message: String = "", cause: Throwable = null) extends Exception with Product with Serializable + + +

    Custom exception to handle game loop tick time overrun

    Custom exception to handle game loop tick time overrun

    message

    The message of the exception (optional)

    cause

    The cause of the exception (optional)

    +
  2. + + + + + + + + + trait + + + GameEngine extends AnyRef + + +

    Game engine, the game loop manager.

    +
  3. + + + + + + + + + class + + + GameLoop extends Thread + + +

    Implementation of the game loop.

    +
+
+ + + +
+

Value Members

+
    +
  1. + + + + + + + + + object + + + GameEngine + + +

    Game engine object companion.

    +
  2. + + + + + + + + + object + + + GameStatus extends Enumeration + + + +
  3. +
+
+ + + + +
+ +
+ + +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/AbstractEntity.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/AbstractEntity.html new file mode 100644 index 00000000..f615da12 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/AbstractEntity.html @@ -0,0 +1,801 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.AbstractEntity + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.ecs.entities

+

AbstractEntity + + + +

+

+
+ +

+ + abstract + class + + + AbstractEntity extends Property + +

+ + +

Abstract class representing an ECS Entity

+ + Linear Supertypes + +
Property, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. AbstractEntity
  2. Property
  3. AnyRef
  4. Any
  5. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + AbstractEntity() + + + +
+
+ + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + getUUID: UUID + + +

    Gets the UUID for this entity +

    Gets the UUID for this entity +

    returns

    UUID for this entity

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from Property

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Acceleration.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Acceleration.html new file mode 100644 index 00000000..166efaf8 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Acceleration.html @@ -0,0 +1,782 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.Acceleration + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.ecs.entities

+

Acceleration + + + +

+

+
+ +

+ + + trait + + + Acceleration extends Property + +

+ + +

Trait representing the entity's acceleration property

+ + Linear Supertypes + +
Property, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. Acceleration
  2. Property
  3. AnyRef
  4. Any
  5. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + getAccelerationComponent: AccelerationComponent + + +

    Gets the acceleration component +

    Gets the acceleration component +

    returns

    acceleration component

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from Property

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/CellBuilder.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/CellBuilder.html new file mode 100644 index 00000000..c85816ca --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/CellBuilder.html @@ -0,0 +1,938 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.CellBuilder + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.ecs.entities

+

CellBuilder + + + +

+

+
+ +

+ + + case class + + + CellBuilder() extends Product with Serializable + +

+ + +

Builder for Cell Entities

+ + Linear Supertypes + +
Serializable, Serializable, Product, Equals, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. CellBuilder
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
  8. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + CellBuilder() + + + +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + build: CellEntity + + + +
  6. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  7. + + + + + + + + + def + + + collidable(collidable: Boolean): CellBuilder + + + +
  8. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  9. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  10. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + visible(visible: Boolean): CellBuilder + + + +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. + + + + + + + + + def + + + withAcceleration(acceleration: AccelerationComponent): CellBuilder + + + +
  21. + + + + + + + + + def + + + withAcceleration(x: Double, y: Double): CellBuilder + + + +
  22. + + + + + + + + + def + + + withDimension(dimension: DimensionComponent): CellBuilder + + + +
  23. + + + + + + + + + def + + + withDimension(dimension: Double): CellBuilder + + + +
  24. + + + + + + + + + def + + + withEntityType(entityType: components.EntityType.Value): CellBuilder + + + +
  25. + + + + + + + + + def + + + withPosition(position: PositionComponent): CellBuilder + + + +
  26. + + + + + + + + + def + + + withPosition(position: Point): CellBuilder + + + +
  27. + + + + + + + + + def + + + withPosition(x: Double, y: Double): CellBuilder + + + +
  28. + + + + + + + + + def + + + withSpeed(speed: SpeedComponent): CellBuilder + + + +
  29. + + + + + + + + + def + + + withSpeed(x: Double, y: Double): CellBuilder + + + +
  30. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/CellEntity$.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/CellEntity$.html new file mode 100644 index 00000000..c11c010f --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/CellEntity$.html @@ -0,0 +1,788 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.CellEntity + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + object + + + CellEntity + +

+ + +
+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. CellEntity
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + def + + + apply(builder: CellBuilder): CellEntity + + + +
  5. + + + + + + + + + def + + + apply(acceleration: AccelerationComponent, collidable: CollidableComponent, dimension: DimensionComponent, position: PositionComponent, speed: SpeedComponent, visible: VisibleComponent, typeEntity: TypeComponent): CellEntity + + + +
  6. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  7. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  8. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  9. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  10. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  11. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  13. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  14. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  15. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  16. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  17. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  18. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  19. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  21. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  22. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/CellEntity.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/CellEntity.html new file mode 100644 index 00000000..7a6b8fa0 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/CellEntity.html @@ -0,0 +1,936 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.CellEntity + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + trait + + + CellEntity extends AbstractEntity with MovableProperty with CollidableProperty with DrawableProperty with DeathProperty with SentientEnemyProperty + +

+ + + + + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. CellEntity
  2. SentientEnemyProperty
  3. DeathProperty
  4. DrawableProperty
  5. Visible
  6. CollidableProperty
  7. Type
  8. Collidable
  9. MovableProperty
  10. Dimension
  11. Speed
  12. Position
  13. Acceleration
  14. AbstractEntity
  15. Property
  16. AnyRef
  17. Any
  18. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + getAccelerationComponent: AccelerationComponent + + +

    Gets the acceleration component +

    Gets the acceleration component +

    returns

    acceleration component

    Definition Classes
    Acceleration
    +
  2. + + + + + + + + abstract + def + + + getCollidableComponent: CollidableComponent + + +

    Gets the collidable component +

    Gets the collidable component +

    returns

    collidable component

    Definition Classes
    Collidable
    +
  3. + + + + + + + + abstract + def + + + getDimensionComponent: DimensionComponent + + +

    Gets the dimension component +

    Gets the dimension component +

    returns

    dimension component

    Definition Classes
    Dimension
    +
  4. + + + + + + + + abstract + def + + + getPositionComponent: PositionComponent + + +

    Gets the position component +

    Gets the position component +

    returns

    position component

    Definition Classes
    Position
    +
  5. + + + + + + + + abstract + def + + + getSpeedComponent: SpeedComponent + + +

    Gets the Speed Component +

    Gets the Speed Component +

    returns

    the Speed Component

    Definition Classes
    Speed
    +
  6. + + + + + + + + abstract + def + + + getTypeComponent: TypeComponent + + +

    Gets the Type Component +

    Gets the Type Component +

    returns

    the Type Component

    Definition Classes
    Type
    +
  7. + + + + + + + + abstract + def + + + getUUID: UUID + + +

    Gets the UUID for this entity +

    Gets the UUID for this entity +

    returns

    UUID for this entity

    Definition Classes
    AbstractEntity
    +
  8. + + + + + + + + abstract + def + + + getVisibleComponent: VisibleComponent + + +

    Gets the Visible Component +

    Gets the Visible Component +

    returns

    the Visible Component

    Definition Classes
    Visible
    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from SentientEnemyProperty

+
+

Inherited from DeathProperty

+
+

Inherited from DrawableProperty

+
+

Inherited from Visible

+
+

Inherited from CollidableProperty

+
+

Inherited from Type

+
+

Inherited from Collidable

+
+

Inherited from MovableProperty

+
+

Inherited from Dimension

+
+

Inherited from Speed

+
+

Inherited from Position

+
+

Inherited from Acceleration

+
+

Inherited from AbstractEntity

+
+

Inherited from Property

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Collidable.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Collidable.html new file mode 100644 index 00000000..e769dc09 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Collidable.html @@ -0,0 +1,782 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.Collidable + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.ecs.entities

+

Collidable + + + +

+

+
+ +

+ + + trait + + + Collidable extends Property + +

+ + +

Trait representing the entity's collidable property

+ + Linear Supertypes + +
Property, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. Collidable
  2. Property
  3. AnyRef
  4. Any
  5. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + getCollidableComponent: CollidableComponent + + +

    Gets the collidable component +

    Gets the collidable component +

    returns

    collidable component

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from Property

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/CollidableProperty.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/CollidableProperty.html new file mode 100644 index 00000000..9537e6d9 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/CollidableProperty.html @@ -0,0 +1,884 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.CollidableProperty + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.ecs.entities

+

CollidableProperty + + + +

+

+
+ +

+ + + trait + + + CollidableProperty extends Position with Dimension with Speed with Collidable with Acceleration with Type + +

+ + +

Trait representing the properties needed by an entity to be collidable

+ + Linear Supertypes + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. CollidableProperty
  2. Type
  3. Acceleration
  4. Collidable
  5. Speed
  6. Dimension
  7. Position
  8. Property
  9. AnyRef
  10. Any
  11. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + getAccelerationComponent: AccelerationComponent + + +

    Gets the acceleration component +

    Gets the acceleration component +

    returns

    acceleration component

    Definition Classes
    Acceleration
    +
  2. + + + + + + + + abstract + def + + + getCollidableComponent: CollidableComponent + + +

    Gets the collidable component +

    Gets the collidable component +

    returns

    collidable component

    Definition Classes
    Collidable
    +
  3. + + + + + + + + abstract + def + + + getDimensionComponent: DimensionComponent + + +

    Gets the dimension component +

    Gets the dimension component +

    returns

    dimension component

    Definition Classes
    Dimension
    +
  4. + + + + + + + + abstract + def + + + getPositionComponent: PositionComponent + + +

    Gets the position component +

    Gets the position component +

    returns

    position component

    Definition Classes
    Position
    +
  5. + + + + + + + + abstract + def + + + getSpeedComponent: SpeedComponent + + +

    Gets the Speed Component +

    Gets the Speed Component +

    returns

    the Speed Component

    Definition Classes
    Speed
    +
  6. + + + + + + + + abstract + def + + + getTypeComponent: TypeComponent + + +

    Gets the Type Component +

    Gets the Type Component +

    returns

    the Type Component

    Definition Classes
    Type
    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from Type

+
+

Inherited from Acceleration

+
+

Inherited from Collidable

+
+

Inherited from Speed

+
+

Inherited from Dimension

+
+

Inherited from Position

+
+

Inherited from Property

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/DeathProperty.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/DeathProperty.html new file mode 100644 index 00000000..da2f3eaa --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/DeathProperty.html @@ -0,0 +1,804 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.DeathProperty + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.ecs.entities

+

DeathProperty + + + +

+

+
+ +

+ + + trait + + + DeathProperty extends Dimension with Type + +

+ + +

Trait representing the properties needed by an entity to be no longer alive

+ + Linear Supertypes + +
Type, Dimension, Property, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. DeathProperty
  2. Type
  3. Dimension
  4. Property
  5. AnyRef
  6. Any
  7. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + getDimensionComponent: DimensionComponent + + +

    Gets the dimension component +

    Gets the dimension component +

    returns

    dimension component

    Definition Classes
    Dimension
    +
  2. + + + + + + + + abstract + def + + + getTypeComponent: TypeComponent + + +

    Gets the Type Component +

    Gets the Type Component +

    returns

    the Type Component

    Definition Classes
    Type
    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from Type

+
+

Inherited from Dimension

+
+

Inherited from Property

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Dimension.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Dimension.html new file mode 100644 index 00000000..18d705fc --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Dimension.html @@ -0,0 +1,782 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.Dimension + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.ecs.entities

+

Dimension + + + +

+

+
+ +

+ + + trait + + + Dimension extends Property + +

+ + +

Trait representing the entity's dimension property

+ + Linear Supertypes + +
Property, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. Dimension
  2. Property
  3. AnyRef
  4. Any
  5. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + getDimensionComponent: DimensionComponent + + +

    Gets the dimension component +

    Gets the dimension component +

    returns

    dimension component

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from Property

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/DrawableProperty.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/DrawableProperty.html new file mode 100644 index 00000000..4ec350f1 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/DrawableProperty.html @@ -0,0 +1,864 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.DrawableProperty + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.ecs.entities

+

DrawableProperty + + + +

+

+
+ +

+ + + trait + + + DrawableProperty extends Position with Dimension with Visible with Type with Speed + +

+ + +

Trait representing the properties needed by an entity to be drawable

+ + Linear Supertypes + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. DrawableProperty
  2. Speed
  3. Type
  4. Visible
  5. Dimension
  6. Position
  7. Property
  8. AnyRef
  9. Any
  10. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + getDimensionComponent: DimensionComponent + + +

    Gets the dimension component +

    Gets the dimension component +

    returns

    dimension component

    Definition Classes
    Dimension
    +
  2. + + + + + + + + abstract + def + + + getPositionComponent: PositionComponent + + +

    Gets the position component +

    Gets the position component +

    returns

    position component

    Definition Classes
    Position
    +
  3. + + + + + + + + abstract + def + + + getSpeedComponent: SpeedComponent + + +

    Gets the Speed Component +

    Gets the Speed Component +

    returns

    the Speed Component

    Definition Classes
    Speed
    +
  4. + + + + + + + + abstract + def + + + getTypeComponent: TypeComponent + + +

    Gets the Type Component +

    Gets the Type Component +

    returns

    the Type Component

    Definition Classes
    Type
    +
  5. + + + + + + + + abstract + def + + + getVisibleComponent: VisibleComponent + + +

    Gets the Visible Component +

    Gets the Visible Component +

    returns

    the Visible Component

    Definition Classes
    Visible
    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from Speed

+
+

Inherited from Type

+
+

Inherited from Visible

+
+

Inherited from Dimension

+
+

Inherited from Position

+
+

Inherited from Property

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/EMEvents$$EntityCreated.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/EMEvents$$EntityCreated.html new file mode 100644 index 00000000..f6a4dd76 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/EMEvents$$EntityCreated.html @@ -0,0 +1,660 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.EMEvents.EntityCreated + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.ecs.entities.EMEvents

+

EntityCreated + + + +

+

+
+ +

+ + + case class + + + EntityCreated(entity: Property) extends EntityManagerEvent with Product with Serializable + +

+ + +
+ + Linear Supertypes + +
Serializable, Serializable, Product, Equals, EntityManagerEvent, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. EntityCreated
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. EntityManagerEvent
  7. AnyRef
  8. Any
  9. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + EntityCreated(entity: Property) + + + +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + + val + + + entity: Property + + +
    Definition Classes
    EntityCreatedEntityManagerEvent
    +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  11. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  12. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  13. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  15. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  16. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  17. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  18. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from EntityManagerEvent

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/EMEvents$$EntityDeleted.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/EMEvents$$EntityDeleted.html new file mode 100644 index 00000000..50f87cc3 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/EMEvents$$EntityDeleted.html @@ -0,0 +1,660 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.EMEvents.EntityDeleted + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.ecs.entities.EMEvents

+

EntityDeleted + + + +

+

+
+ +

+ + + case class + + + EntityDeleted(entity: Property) extends EntityManagerEvent with Product with Serializable + +

+ + +
+ + Linear Supertypes + +
Serializable, Serializable, Product, Equals, EntityManagerEvent, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. EntityDeleted
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. EntityManagerEvent
  7. AnyRef
  8. Any
  9. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + EntityDeleted(entity: Property) + + + +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + + val + + + entity: Property + + +
    Definition Classes
    EntityDeletedEntityManagerEvent
    +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  11. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  12. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  13. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  15. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  16. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  17. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  18. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from EntityManagerEvent

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/EMEvents$$EntityManagerEvent.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/EMEvents$$EntityManagerEvent.html new file mode 100644 index 00000000..17243d9b --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/EMEvents$$EntityManagerEvent.html @@ -0,0 +1,690 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.EMEvents.EntityManagerEvent + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.ecs.entities.EMEvents

+

EntityManagerEvent + + + +

+

+
+ +

+ + sealed + trait + + + EntityManagerEvent extends AnyRef + +

+ + +
+ + Linear Supertypes + +
AnyRef, Any
+
+ + Known Subclasses + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. EntityManagerEvent
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + val + + + entity: Property + + + +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/EMEvents$.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/EMEvents$.html new file mode 100644 index 00000000..9c3cbecf --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/EMEvents$.html @@ -0,0 +1,841 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.EMEvents + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.ecs.entities

+

EMEvents + + + +

+

+
+ +

+ + + object + + + EMEvents + +

+ + +

EntityManager events

+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. EMEvents
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + +
+

Type Members

+
  1. + + + + + + + + + case class + + + EntityCreated(entity: Property) extends EntityManagerEvent with Product with Serializable + + + +
  2. + + + + + + + + + case class + + + EntityDeleted(entity: Property) extends EntityManagerEvent with Product with Serializable + + + +
  3. + + + + + + + + sealed + trait + + + EntityManagerEvent extends AnyRef + + + +
+
+ + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + + def + + + entityCreated(entity: Property): EntityCreated + + +

    Event of creation +

    Event of creation +

    entity

    new entity created

    returns

    the creation event

    +
  7. + + + + + + + + + def + + + entityDeleted(entity: Property): EntityDeleted + + +

    Event of cancellation +

    Event of cancellation +

    entity

    the entity deleted

    returns

    the delete event

    +
  8. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  9. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  10. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  11. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  13. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  14. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  15. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  16. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  17. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  18. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  19. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  21. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  22. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/EntityManager$.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/EntityManager$.html new file mode 100644 index 00000000..6c69bc80 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/EntityManager$.html @@ -0,0 +1,915 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.EntityManager + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + object + + + EntityManager extends EntityManager with Observable + +

+ + +

Entity manager who manage the system entities and notify events to observers

+ + Linear Supertypes + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. EntityManager
  2. Observable
  3. EntityManager
  4. AnyRef
  5. Any
  6. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + +
+

Type Members

+
  1. + + + + + + + + + type + + + ManagedEntity = Class[_ <: Property] + + +
    Definition Classes
    EntityManager
    +
  2. + + + + + + + + + type + + + ObserverEntry = (Observer, ManagedEntity) + + +
    Definition Classes
    EntityManager
    +
+
+ + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + def + + + add(entity: Property): Unit + + +

    Adds the new entity to the collection +

    Adds the new entity to the collection +

    entity

    the new entity

    Definition Classes
    EntityManagerEntityManager
    +
  5. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  6. + + + + + + + + + def + + + clear(): Unit + + +

    Clear internal collections for starting new level

    Clear internal collections for starting new level

    Definition Classes
    EntityManagerEntityManager
    +
  7. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  8. + + + + + + + + + def + + + delete(entity: Property): Unit + + +

    Removes the entity from the collection +

    Removes the entity from the collection +

    entity

    the entity to be eliminated

    Definition Classes
    EntityManagerEntityManager
    +
  9. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  10. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  11. + + + + + + + + + def + + + extendsInterface(ent: Property, entityInt: ManagedEntity): Boolean + + + +
  12. + + + + + + + + + def + + + filterEntities(entityInterface: ManagedEntity): List[Property] + + +

    Gives all the entities which extends managedEntity interface +

    Gives all the entities which extends managedEntity interface +

    entityInterface

    target entity interface

    returns

    a list of entities

    Definition Classes
    EntityManagerEntityManager
    +
  13. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  14. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  15. + + + + + + + + + def + + + getInterfaces(entity: Property): List[Class[_]] + + + +
  16. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  17. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  18. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  19. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  20. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  21. + + + + + + + + + def + + + subscribe(observer: Observer, managedEntities: ManagedEntity): Unit + + +

    Adds new observer to the collection of observers +

    Adds new observer to the collection of observers +

    observer

    observer reference

    managedEntities

    interface of managed entities

    Definition Classes
    EntityManagerObservable
    +
  22. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  23. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  24. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  25. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  26. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  27. +
+
+ + + + +
+ +
+
+

Inherited from Observable

+
+

Inherited from EntityManager

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/EntityManager.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/EntityManager.html new file mode 100644 index 00000000..86d0bddf --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/EntityManager.html @@ -0,0 +1,869 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.EntityManager + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + trait + + + EntityManager extends AnyRef + +

+ + +

Define the methods for manage an entities collection

+ + Linear Supertypes + +
AnyRef, Any
+
+ + Known Subclasses + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. EntityManager
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + +
+

Type Members

+
  1. + + + + + + + + + type + + + ManagedEntity = Class[_ <: Property] + + + +
  2. + + + + + + + + + type + + + ObserverEntry = (Observer, ManagedEntity) + + + +
+
+ +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + add(entity: Property): Unit + + +

    Adds the new entity to the collection +

    Adds the new entity to the collection +

    entity

    the new entity

    +
  2. + + + + + + + + abstract + def + + + clear(): Unit + + +

    Clear internal collections for starting new level

    +
  3. + + + + + + + + abstract + def + + + delete(entity: Property): Unit + + +

    Removes the entity from the collection +

    Removes the entity from the collection +

    entity

    the entity to be eliminated

    +
  4. + + + + + + + + abstract + def + + + filterEntities(entityInterface: ManagedEntity): List[Property] + + +

    Gives all the entities which extends managedEntity interface +

    Gives all the entities which extends managedEntity interface +

    entityInterface

    target entity interface

    returns

    a list of entities

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/GravityCellEntity$.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/GravityCellEntity$.html new file mode 100644 index 00000000..0b21ad37 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/GravityCellEntity$.html @@ -0,0 +1,788 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.GravityCellEntity + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + object + + + GravityCellEntity + +

+ + +
+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. GravityCellEntity
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + def + + + apply(cell: CellEntity, specificWeight: SpecificWeightComponent): GravityCellEntity + + + +
  5. + + + + + + + + + def + + + apply(acceleration: AccelerationComponent, collidable: CollidableComponent, dimension: DimensionComponent, position: PositionComponent, speed: SpeedComponent, visible: VisibleComponent, typeEntity: TypeComponent, specificWeight: SpecificWeightComponent): GravityCellEntity + + + +
  6. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  7. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  8. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  9. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  10. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  11. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  13. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  14. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  15. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  16. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  17. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  18. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  19. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  21. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  22. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/GravityCellEntity.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/GravityCellEntity.html new file mode 100644 index 00000000..5e3acb50 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/GravityCellEntity.html @@ -0,0 +1,975 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.GravityCellEntity + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + trait + + + GravityCellEntity extends AbstractEntity with CellEntity with GravityProperty with SpecificWeight + +

+ + + + + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. GravityCellEntity
  2. SpecificWeight
  3. GravityProperty
  4. Mass
  5. CellEntity
  6. SentientEnemyProperty
  7. DeathProperty
  8. DrawableProperty
  9. Visible
  10. CollidableProperty
  11. Type
  12. Collidable
  13. MovableProperty
  14. Dimension
  15. Speed
  16. Position
  17. Acceleration
  18. AbstractEntity
  19. Property
  20. AnyRef
  21. Any
  22. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + getAccelerationComponent: AccelerationComponent + + +

    Gets the acceleration component +

    Gets the acceleration component +

    returns

    acceleration component

    Definition Classes
    Acceleration
    +
  2. + + + + + + + + abstract + def + + + getCollidableComponent: CollidableComponent + + +

    Gets the collidable component +

    Gets the collidable component +

    returns

    collidable component

    Definition Classes
    Collidable
    +
  3. + + + + + + + + abstract + def + + + getDimensionComponent: DimensionComponent + + +

    Gets the dimension component +

    Gets the dimension component +

    returns

    dimension component

    Definition Classes
    Dimension
    +
  4. + + + + + + + + abstract + def + + + getMassComponent: MassComponent + + +

    Gets the Mass Component +

    Gets the Mass Component +

    returns

    the Mass Component

    Definition Classes
    Mass
    +
  5. + + + + + + + + abstract + def + + + getPositionComponent: PositionComponent + + +

    Gets the position component +

    Gets the position component +

    returns

    position component

    Definition Classes
    Position
    +
  6. + + + + + + + + abstract + def + + + getSpecificWeightComponent: SpecificWeightComponent + + +

    Gets the SpecificWeight Component +

    Gets the SpecificWeight Component +

    returns

    the SpecificWeight Component

    Definition Classes
    SpecificWeight
    +
  7. + + + + + + + + abstract + def + + + getSpeedComponent: SpeedComponent + + +

    Gets the Speed Component +

    Gets the Speed Component +

    returns

    the Speed Component

    Definition Classes
    Speed
    +
  8. + + + + + + + + abstract + def + + + getTypeComponent: TypeComponent + + +

    Gets the Type Component +

    Gets the Type Component +

    returns

    the Type Component

    Definition Classes
    Type
    +
  9. + + + + + + + + abstract + def + + + getUUID: UUID + + +

    Gets the UUID for this entity +

    Gets the UUID for this entity +

    returns

    UUID for this entity

    Definition Classes
    AbstractEntity
    +
  10. + + + + + + + + abstract + def + + + getVisibleComponent: VisibleComponent + + +

    Gets the Visible Component +

    Gets the Visible Component +

    returns

    the Visible Component

    Definition Classes
    Visible
    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from SpecificWeight

+
+

Inherited from GravityProperty

+
+

Inherited from Mass

+
+

Inherited from CellEntity

+
+

Inherited from SentientEnemyProperty

+
+

Inherited from DeathProperty

+
+

Inherited from DrawableProperty

+
+

Inherited from Visible

+
+

Inherited from CollidableProperty

+
+

Inherited from Type

+
+

Inherited from Collidable

+
+

Inherited from MovableProperty

+
+

Inherited from Dimension

+
+

Inherited from Speed

+
+

Inherited from Position

+
+

Inherited from Acceleration

+
+

Inherited from AbstractEntity

+
+

Inherited from Property

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/GravityProperty.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/GravityProperty.html new file mode 100644 index 00000000..ac1a1961 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/GravityProperty.html @@ -0,0 +1,824 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.GravityProperty + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.ecs.entities

+

GravityProperty + + + +

+

+
+ +

+ + + trait + + + GravityProperty extends Position with Mass with Type + +

+ + +

Trait representing the properties needed by an entity to exercise gravitational forces

+ + Linear Supertypes + +
Type, Mass, Position, Property, AnyRef, Any
+
+ + Known Subclasses + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. GravityProperty
  2. Type
  3. Mass
  4. Position
  5. Property
  6. AnyRef
  7. Any
  8. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + getMassComponent: MassComponent + + +

    Gets the Mass Component +

    Gets the Mass Component +

    returns

    the Mass Component

    Definition Classes
    Mass
    +
  2. + + + + + + + + abstract + def + + + getPositionComponent: PositionComponent + + +

    Gets the position component +

    Gets the position component +

    returns

    position component

    Definition Classes
    Position
    +
  3. + + + + + + + + abstract + def + + + getTypeComponent: TypeComponent + + +

    Gets the Type Component +

    Gets the Type Component +

    returns

    the Type Component

    Definition Classes
    Type
    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from Type

+
+

Inherited from Mass

+
+

Inherited from Position

+
+

Inherited from Property

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/InputProperty.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/InputProperty.html new file mode 100644 index 00000000..4c53daf0 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/InputProperty.html @@ -0,0 +1,864 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.InputProperty + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.ecs.entities

+

InputProperty + + + +

+

+
+ +

+ + + trait + + + InputProperty extends Position with Speed with Acceleration with Spawner with Dimension + +

+ + +

Trait representing the properties needed by an entity to handle input

+ + Linear Supertypes + + +
+ + Known Subclasses + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. InputProperty
  2. Dimension
  3. Spawner
  4. Acceleration
  5. Speed
  6. Position
  7. Property
  8. AnyRef
  9. Any
  10. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + getAccelerationComponent: AccelerationComponent + + +

    Gets the acceleration component +

    Gets the acceleration component +

    returns

    acceleration component

    Definition Classes
    Acceleration
    +
  2. + + + + + + + + abstract + def + + + getDimensionComponent: DimensionComponent + + +

    Gets the dimension component +

    Gets the dimension component +

    returns

    dimension component

    Definition Classes
    Dimension
    +
  3. + + + + + + + + abstract + def + + + getPositionComponent: PositionComponent + + +

    Gets the position component +

    Gets the position component +

    returns

    position component

    Definition Classes
    Position
    +
  4. + + + + + + + + abstract + def + + + getSpawnerComponent: SpawnerComponent + + +

    Gets the Spawner Component +

    Gets the Spawner Component +

    returns

    the Spawner Component

    Definition Classes
    Spawner
    +
  5. + + + + + + + + abstract + def + + + getSpeedComponent: SpeedComponent + + +

    Gets the Speed Component +

    Gets the Speed Component +

    returns

    the Speed Component

    Definition Classes
    Speed
    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from Dimension

+
+

Inherited from Spawner

+
+

Inherited from Acceleration

+
+

Inherited from Speed

+
+

Inherited from Position

+
+

Inherited from Property

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Mass.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Mass.html new file mode 100644 index 00000000..0c473c70 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Mass.html @@ -0,0 +1,782 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.Mass + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.ecs.entities

+

Mass + + + +

+

+
+ +

+ + + trait + + + Mass extends Property + +

+ + +

Trait representing the entity's mass property

+ + Linear Supertypes + +
Property, AnyRef, Any
+
+ + Known Subclasses + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. Mass
  2. Property
  3. AnyRef
  4. Any
  5. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + getMassComponent: MassComponent + + +

    Gets the Mass Component +

    Gets the Mass Component +

    returns

    the Mass Component

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from Property

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/MovableProperty.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/MovableProperty.html new file mode 100644 index 00000000..63aa2ef1 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/MovableProperty.html @@ -0,0 +1,844 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.MovableProperty + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.ecs.entities

+

MovableProperty + + + +

+

+
+ +

+ + + trait + + + MovableProperty extends Acceleration with Position with Speed with Dimension + +

+ + +

Trait representing the properties needed by an entity to be movable

+ + Linear Supertypes + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. MovableProperty
  2. Dimension
  3. Speed
  4. Position
  5. Acceleration
  6. Property
  7. AnyRef
  8. Any
  9. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + getAccelerationComponent: AccelerationComponent + + +

    Gets the acceleration component +

    Gets the acceleration component +

    returns

    acceleration component

    Definition Classes
    Acceleration
    +
  2. + + + + + + + + abstract + def + + + getDimensionComponent: DimensionComponent + + +

    Gets the dimension component +

    Gets the dimension component +

    returns

    dimension component

    Definition Classes
    Dimension
    +
  3. + + + + + + + + abstract + def + + + getPositionComponent: PositionComponent + + +

    Gets the position component +

    Gets the position component +

    returns

    position component

    Definition Classes
    Position
    +
  4. + + + + + + + + abstract + def + + + getSpeedComponent: SpeedComponent + + +

    Gets the Speed Component +

    Gets the Speed Component +

    returns

    the Speed Component

    Definition Classes
    Speed
    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from Dimension

+
+

Inherited from Speed

+
+

Inherited from Position

+
+

Inherited from Acceleration

+
+

Inherited from Property

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Observable.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Observable.html new file mode 100644 index 00000000..3ca3bb97 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Observable.html @@ -0,0 +1,780 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.Observable + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.ecs.entities

+

Observable + + + +

+

+
+ +

+ + + trait + + + Observable extends AnyRef + +

+ + +

Define an observable interface for entity manager

+ + Linear Supertypes + +
AnyRef, Any
+
+ + Known Subclasses + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. Observable
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + subscribe(observer: Observer, managedEntities: EntityManager.ManagedEntity): Unit + + +

    Adds new observer to the collection of observers +

    Adds new observer to the collection of observers +

    observer

    observer reference

    managedEntities

    interface of managed entities

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Observer.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Observer.html new file mode 100644 index 00000000..69ebf231 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Observer.html @@ -0,0 +1,778 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.Observer + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.ecs.entities

+

Observer + + + +

+

+
+ +

+ + + trait + + + Observer extends AnyRef + +

+ + + + + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. Observer
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + notify(event: EntityManagerEvent): Unit + + + +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/PlayerCellEntity$.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/PlayerCellEntity$.html new file mode 100644 index 00000000..6d3f969e --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/PlayerCellEntity$.html @@ -0,0 +1,804 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.PlayerCellEntity + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + object + + + PlayerCellEntity + +

+ + +
+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. PlayerCellEntity
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + def + + + apply(builder: CellBuilder, spawner: SpawnerComponent): PlayerCellEntity + + + +
  5. + + + + + + + + + def + + + apply(cell: CellEntity, spawner: SpawnerComponent): PlayerCellEntity + + + +
  6. + + + + + + + + + def + + + apply(acceleration: AccelerationComponent, collidable: CollidableComponent, dimension: DimensionComponent, position: PositionComponent, speed: SpeedComponent, visible: VisibleComponent, typeEntity: TypeComponent, spawner: SpawnerComponent): PlayerCellEntity + + + +
  7. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  8. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  9. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  10. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  11. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  12. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  13. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  15. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  17. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  18. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  19. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  20. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  21. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  22. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  23. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/PlayerCellEntity.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/PlayerCellEntity.html new file mode 100644 index 00000000..437b2fc0 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/PlayerCellEntity.html @@ -0,0 +1,955 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.PlayerCellEntity + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + trait + + + PlayerCellEntity extends AbstractEntity with CellEntity with InputProperty with Spawner + +

+ + +

Trait representing a CellEntity controllable by the player

+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. PlayerCellEntity
  2. InputProperty
  3. Spawner
  4. CellEntity
  5. SentientEnemyProperty
  6. DeathProperty
  7. DrawableProperty
  8. Visible
  9. CollidableProperty
  10. Type
  11. Collidable
  12. MovableProperty
  13. Dimension
  14. Speed
  15. Position
  16. Acceleration
  17. AbstractEntity
  18. Property
  19. AnyRef
  20. Any
  21. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + getAccelerationComponent: AccelerationComponent + + +

    Gets the acceleration component +

    Gets the acceleration component +

    returns

    acceleration component

    Definition Classes
    Acceleration
    +
  2. + + + + + + + + abstract + def + + + getCollidableComponent: CollidableComponent + + +

    Gets the collidable component +

    Gets the collidable component +

    returns

    collidable component

    Definition Classes
    Collidable
    +
  3. + + + + + + + + abstract + def + + + getDimensionComponent: DimensionComponent + + +

    Gets the dimension component +

    Gets the dimension component +

    returns

    dimension component

    Definition Classes
    Dimension
    +
  4. + + + + + + + + abstract + def + + + getPositionComponent: PositionComponent + + +

    Gets the position component +

    Gets the position component +

    returns

    position component

    Definition Classes
    Position
    +
  5. + + + + + + + + abstract + def + + + getSpawnerComponent: SpawnerComponent + + +

    Gets the Spawner Component +

    Gets the Spawner Component +

    returns

    the Spawner Component

    Definition Classes
    Spawner
    +
  6. + + + + + + + + abstract + def + + + getSpeedComponent: SpeedComponent + + +

    Gets the Speed Component +

    Gets the Speed Component +

    returns

    the Speed Component

    Definition Classes
    Speed
    +
  7. + + + + + + + + abstract + def + + + getTypeComponent: TypeComponent + + +

    Gets the Type Component +

    Gets the Type Component +

    returns

    the Type Component

    Definition Classes
    Type
    +
  8. + + + + + + + + abstract + def + + + getUUID: UUID + + +

    Gets the UUID for this entity +

    Gets the UUID for this entity +

    returns

    UUID for this entity

    Definition Classes
    AbstractEntity
    +
  9. + + + + + + + + abstract + def + + + getVisibleComponent: VisibleComponent + + +

    Gets the Visible Component +

    Gets the Visible Component +

    returns

    the Visible Component

    Definition Classes
    Visible
    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from InputProperty

+
+

Inherited from Spawner

+
+

Inherited from CellEntity

+
+

Inherited from SentientEnemyProperty

+
+

Inherited from DeathProperty

+
+

Inherited from DrawableProperty

+
+

Inherited from Visible

+
+

Inherited from CollidableProperty

+
+

Inherited from Type

+
+

Inherited from Collidable

+
+

Inherited from MovableProperty

+
+

Inherited from Dimension

+
+

Inherited from Speed

+
+

Inherited from Position

+
+

Inherited from Acceleration

+
+

Inherited from AbstractEntity

+
+

Inherited from Property

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Position.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Position.html new file mode 100644 index 00000000..a161e57c --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Position.html @@ -0,0 +1,782 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.Position + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.ecs.entities

+

Position + + + +

+

+
+ +

+ + + trait + + + Position extends Property + +

+ + +

Trait representing the entity's position property

+ + Linear Supertypes + +
Property, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. Position
  2. Property
  3. AnyRef
  4. Any
  5. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + getPositionComponent: PositionComponent + + +

    Gets the position component +

    Gets the position component +

    returns

    position component

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from Property

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Property.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Property.html new file mode 100644 index 00000000..21fadd3e --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Property.html @@ -0,0 +1,759 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.Property + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.ecs.entities

+

Property + + + +

+

+
+ +

+ + + trait + + + Property extends AnyRef + +

+ + + + + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. Property
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/SentientCellEntity$.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/SentientCellEntity$.html new file mode 100644 index 00000000..adaf341d --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/SentientCellEntity$.html @@ -0,0 +1,772 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.SentientCellEntity + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + object + + + SentientCellEntity + +

+ + +
+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. SentientCellEntity
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + def + + + apply(acceleration: AccelerationComponent, collidable: CollidableComponent, dimension: DimensionComponent, position: PositionComponent, speed: SpeedComponent, visible: VisibleComponent): SentientCellEntity + + + +
  5. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  6. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  9. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  10. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  13. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  14. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/SentientCellEntity.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/SentientCellEntity.html new file mode 100644 index 00000000..e2c1f3d7 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/SentientCellEntity.html @@ -0,0 +1,935 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.SentientCellEntity + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + trait + + + SentientCellEntity extends AbstractEntity with CellEntity with SentientProperty + +

+ + + + + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. SentientCellEntity
  2. SentientProperty
  3. CellEntity
  4. SentientEnemyProperty
  5. DeathProperty
  6. DrawableProperty
  7. Visible
  8. CollidableProperty
  9. Type
  10. Collidable
  11. MovableProperty
  12. Dimension
  13. Speed
  14. Position
  15. Acceleration
  16. AbstractEntity
  17. Property
  18. AnyRef
  19. Any
  20. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + getAccelerationComponent: AccelerationComponent + + +

    Gets the acceleration component +

    Gets the acceleration component +

    returns

    acceleration component

    Definition Classes
    Acceleration
    +
  2. + + + + + + + + abstract + def + + + getCollidableComponent: CollidableComponent + + +

    Gets the collidable component +

    Gets the collidable component +

    returns

    collidable component

    Definition Classes
    Collidable
    +
  3. + + + + + + + + abstract + def + + + getDimensionComponent: DimensionComponent + + +

    Gets the dimension component +

    Gets the dimension component +

    returns

    dimension component

    Definition Classes
    Dimension
    +
  4. + + + + + + + + abstract + def + + + getPositionComponent: PositionComponent + + +

    Gets the position component +

    Gets the position component +

    returns

    position component

    Definition Classes
    Position
    +
  5. + + + + + + + + abstract + def + + + getSpeedComponent: SpeedComponent + + +

    Gets the Speed Component +

    Gets the Speed Component +

    returns

    the Speed Component

    Definition Classes
    Speed
    +
  6. + + + + + + + + abstract + def + + + getTypeComponent: TypeComponent + + +

    Gets the Type Component +

    Gets the Type Component +

    returns

    the Type Component

    Definition Classes
    Type
    +
  7. + + + + + + + + abstract + def + + + getUUID: UUID + + +

    Gets the UUID for this entity +

    Gets the UUID for this entity +

    returns

    UUID for this entity

    Definition Classes
    AbstractEntity
    +
  8. + + + + + + + + abstract + def + + + getVisibleComponent: VisibleComponent + + +

    Gets the Visible Component +

    Gets the Visible Component +

    returns

    the Visible Component

    Definition Classes
    Visible
    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from SentientProperty

+
+

Inherited from CellEntity

+
+

Inherited from SentientEnemyProperty

+
+

Inherited from DeathProperty

+
+

Inherited from DrawableProperty

+
+

Inherited from Visible

+
+

Inherited from CollidableProperty

+
+

Inherited from Type

+
+

Inherited from Collidable

+
+

Inherited from MovableProperty

+
+

Inherited from Dimension

+
+

Inherited from Speed

+
+

Inherited from Position

+
+

Inherited from Acceleration

+
+

Inherited from AbstractEntity

+
+

Inherited from Property

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/SentientEnemyProperty.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/SentientEnemyProperty.html new file mode 100644 index 00000000..c351b705 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/SentientEnemyProperty.html @@ -0,0 +1,846 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.SentientEnemyProperty + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.ecs.entities

+

SentientEnemyProperty + + + +

+

+
+ +

+ + + trait + + + SentientEnemyProperty extends Position with Speed with Dimension with Type + +

+ + +

Trait representing the properties needed by an entity +to be seen as an enemy by the sentient cells +

+ + Linear Supertypes + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. SentientEnemyProperty
  2. Type
  3. Dimension
  4. Speed
  5. Position
  6. Property
  7. AnyRef
  8. Any
  9. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + getDimensionComponent: DimensionComponent + + +

    Gets the dimension component +

    Gets the dimension component +

    returns

    dimension component

    Definition Classes
    Dimension
    +
  2. + + + + + + + + abstract + def + + + getPositionComponent: PositionComponent + + +

    Gets the position component +

    Gets the position component +

    returns

    position component

    Definition Classes
    Position
    +
  3. + + + + + + + + abstract + def + + + getSpeedComponent: SpeedComponent + + +

    Gets the Speed Component +

    Gets the Speed Component +

    returns

    the Speed Component

    Definition Classes
    Speed
    +
  4. + + + + + + + + abstract + def + + + getTypeComponent: TypeComponent + + +

    Gets the Type Component +

    Gets the Type Component +

    returns

    the Type Component

    Definition Classes
    Type
    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from Type

+
+

Inherited from Dimension

+
+

Inherited from Speed

+
+

Inherited from Position

+
+

Inherited from Property

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/SentientProperty.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/SentientProperty.html new file mode 100644 index 00000000..b76c3c8c --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/SentientProperty.html @@ -0,0 +1,844 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.SentientProperty + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.ecs.entities

+

SentientProperty + + + +

+

+
+ +

+ + + trait + + + SentientProperty extends Position with Speed with Acceleration with Dimension + +

+ + +

Trait representing the properties needed by an entity to be sentient

+ + Linear Supertypes + + +
+ + Known Subclasses + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. SentientProperty
  2. Dimension
  3. Acceleration
  4. Speed
  5. Position
  6. Property
  7. AnyRef
  8. Any
  9. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + getAccelerationComponent: AccelerationComponent + + +

    Gets the acceleration component +

    Gets the acceleration component +

    returns

    acceleration component

    Definition Classes
    Acceleration
    +
  2. + + + + + + + + abstract + def + + + getDimensionComponent: DimensionComponent + + +

    Gets the dimension component +

    Gets the dimension component +

    returns

    dimension component

    Definition Classes
    Dimension
    +
  3. + + + + + + + + abstract + def + + + getPositionComponent: PositionComponent + + +

    Gets the position component +

    Gets the position component +

    returns

    position component

    Definition Classes
    Position
    +
  4. + + + + + + + + abstract + def + + + getSpeedComponent: SpeedComponent + + +

    Gets the Speed Component +

    Gets the Speed Component +

    returns

    the Speed Component

    Definition Classes
    Speed
    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from Dimension

+
+

Inherited from Acceleration

+
+

Inherited from Speed

+
+

Inherited from Position

+
+

Inherited from Property

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Spawner.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Spawner.html new file mode 100644 index 00000000..e63a054d --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Spawner.html @@ -0,0 +1,782 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.Spawner + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.ecs.entities

+

Spawner + + + +

+

+
+ +

+ + + trait + + + Spawner extends Property + +

+ + +

Trait representing the entity's spawn property

+ + Linear Supertypes + +
Property, AnyRef, Any
+
+ + Known Subclasses + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. Spawner
  2. Property
  3. AnyRef
  4. Any
  5. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + getSpawnerComponent: SpawnerComponent + + +

    Gets the Spawner Component +

    Gets the Spawner Component +

    returns

    the Spawner Component

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from Property

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/SpecificWeight.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/SpecificWeight.html new file mode 100644 index 00000000..e51c10b0 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/SpecificWeight.html @@ -0,0 +1,782 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.SpecificWeight + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.ecs.entities

+

SpecificWeight + + + +

+

+
+ +

+ + + trait + + + SpecificWeight extends Property + +

+ + +

Trait representing the entity's specific weight property.

+ + Linear Supertypes + +
Property, AnyRef, Any
+
+ + Known Subclasses + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. SpecificWeight
  2. Property
  3. AnyRef
  4. Any
  5. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + getSpecificWeightComponent: SpecificWeightComponent + + +

    Gets the SpecificWeight Component +

    Gets the SpecificWeight Component +

    returns

    the SpecificWeight Component

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from Property

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Speed.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Speed.html new file mode 100644 index 00000000..036bb992 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Speed.html @@ -0,0 +1,782 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.Speed + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.ecs.entities

+

Speed + + + +

+

+
+ +

+ + + trait + + + Speed extends Property + +

+ + +

Trait representing the entity's speed property

+ + Linear Supertypes + +
Property, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. Speed
  2. Property
  3. AnyRef
  4. Any
  5. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + getSpeedComponent: SpeedComponent + + +

    Gets the Speed Component +

    Gets the Speed Component +

    returns

    the Speed Component

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from Property

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Type.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Type.html new file mode 100644 index 00000000..1833fca1 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Type.html @@ -0,0 +1,782 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.Type + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.ecs.entities

+

Type + + + +

+

+
+ +

+ + + trait + + + Type extends Property + +

+ + +

Trait representing the entity's type property

+ + Linear Supertypes + +
Property, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. Type
  2. Property
  3. AnyRef
  4. Any
  5. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + getTypeComponent: TypeComponent + + +

    Gets the Type Component +

    Gets the Type Component +

    returns

    the Type Component

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from Property

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Visible.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Visible.html new file mode 100644 index 00000000..c11ce5ec --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/Visible.html @@ -0,0 +1,782 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities.Visible + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.ecs.entities

+

Visible + + + +

+

+
+ +

+ + + trait + + + Visible extends Property + +

+ + +

Trait representing the entity's visible property

+ + Linear Supertypes + +
Property, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. Visible
  2. Property
  3. AnyRef
  4. Any
  5. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + getVisibleComponent: VisibleComponent + + +

    Gets the Visible Component +

    Gets the Visible Component +

    returns

    the Visible Component

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from Property

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/index.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/index.html new file mode 100644 index 00000000..70636523 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/entities/index.html @@ -0,0 +1,980 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.entities + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
p
+

it.unibo.osmos.redux.ecs

+

entities + + + +

+ +
+ +

+ + + package + + + entities + +

+ + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. + +
+
+ +
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + +
+

Type Members

+
  1. + + + + + + + + abstract + class + + + AbstractEntity extends Property + + +

    Abstract class representing an ECS Entity

    +
  2. + + + + + + + + + trait + + + Acceleration extends Property + + +

    Trait representing the entity's acceleration property

    +
  3. + + + + + + + + + case class + + + CellBuilder() extends Product with Serializable + + +

    Builder for Cell Entities

    +
  4. + + + + + + + + + trait + + + CellEntity extends AbstractEntity with MovableProperty with CollidableProperty with DrawableProperty with DeathProperty with SentientEnemyProperty + + +

    Trait representing a CellEntity

    +
  5. + + + + + + + + + trait + + + Collidable extends Property + + +

    Trait representing the entity's collidable property

    +
  6. + + + + + + + + + trait + + + CollidableProperty extends Position with Dimension with Speed with Collidable with Acceleration with Type + + +

    Trait representing the properties needed by an entity to be collidable

    +
  7. + + + + + + + + + trait + + + DeathProperty extends Dimension with Type + + +

    Trait representing the properties needed by an entity to be no longer alive

    +
  8. + + + + + + + + + trait + + + Dimension extends Property + + +

    Trait representing the entity's dimension property

    +
  9. + + + + + + + + + trait + + + DrawableProperty extends Position with Dimension with Visible with Type with Speed + + +

    Trait representing the properties needed by an entity to be drawable

    +
  10. + + + + + + + + + trait + + + EntityManager extends AnyRef + + +

    Define the methods for manage an entities collection

    +
  11. + + + + + + + + + trait + + + GravityCellEntity extends AbstractEntity with CellEntity with GravityProperty with SpecificWeight + + +

    Trait representing a CellEntity with gravity force

    +
  12. + + + + + + + + + trait + + + GravityProperty extends Position with Mass with Type + + +

    Trait representing the properties needed by an entity to exercise gravitational forces

    +
  13. + + + + + + + + + trait + + + InputProperty extends Position with Speed with Acceleration with Spawner with Dimension + + +

    Trait representing the properties needed by an entity to handle input

    +
  14. + + + + + + + + + trait + + + Mass extends Property + + +

    Trait representing the entity's mass property

    +
  15. + + + + + + + + + trait + + + MovableProperty extends Acceleration with Position with Speed with Dimension + + +

    Trait representing the properties needed by an entity to be movable

    +
  16. + + + + + + + + + trait + + + Observable extends AnyRef + + +

    Define an observable interface for entity manager

    +
  17. + + + + + + + + + trait + + + Observer extends AnyRef + + +

    Define an Observer interface for entity manager

    +
  18. + + + + + + + + + trait + + + PlayerCellEntity extends AbstractEntity with CellEntity with InputProperty with Spawner + + +

    Trait representing a CellEntity controllable by the player

    +
  19. + + + + + + + + + trait + + + Position extends Property + + +

    Trait representing the entity's position property

    +
  20. + + + + + + + + + trait + + + Property extends AnyRef + + +

    Property base trait

    +
  21. + + + + + + + + + trait + + + SentientCellEntity extends AbstractEntity with CellEntity with SentientProperty + + +

    Trait representing a sentient cell

    +
  22. + + + + + + + + + trait + + + SentientEnemyProperty extends Position with Speed with Dimension with Type + + +

    Trait representing the properties needed by an entity +to be seen as an enemy by the sentient cells +

    +
  23. + + + + + + + + + trait + + + SentientProperty extends Position with Speed with Acceleration with Dimension + + +

    Trait representing the properties needed by an entity to be sentient

    +
  24. + + + + + + + + + trait + + + Spawner extends Property + + +

    Trait representing the entity's spawn property

    +
  25. + + + + + + + + + trait + + + SpecificWeight extends Property + + +

    Trait representing the entity's specific weight property.

    +
  26. + + + + + + + + + trait + + + Speed extends Property + + +

    Trait representing the entity's speed property

    +
  27. + + + + + + + + + trait + + + Type extends Property + + +

    Trait representing the entity's type property

    +
  28. + + + + + + + + + trait + + + Visible extends Property + + +

    Trait representing the entity's visible property

    +
+
+ + + +
+

Value Members

+
    +
  1. + + + + + + + + + object + + + CellEntity + + + +
  2. + + + + + + + + + object + + + EMEvents + + +

    EntityManager events

    +
  3. + + + + + + + + + object + + + EntityManager extends EntityManager with Observable + + +

    Entity manager who manage the system entities and notify events to observers

    +
  4. + + + + + + + + + object + + + GravityCellEntity + + + +
  5. + + + + + + + + + object + + + PlayerCellEntity + + + +
  6. + + + + + + + + + object + + + SentientCellEntity + + + +
  7. +
+
+ + + + +
+ +
+ + +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/index.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/index.html new file mode 100644 index 00000000..f1fc8db2 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/index.html @@ -0,0 +1,334 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
p
+

it.unibo.osmos.redux

+

ecs + + + +

+ +
+ +

+ + + package + + + ecs + +

+ + +
+ + + + +
+
+ + + + + + + + + + + +
+ +
+ + +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/AbsorbCellsWithTypeVictoryCondition.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/AbsorbCellsWithTypeVictoryCondition.html new file mode 100644 index 00000000..dcc3d515 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/AbsorbCellsWithTypeVictoryCondition.html @@ -0,0 +1,734 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.systems.AbsorbCellsWithTypeVictoryCondition + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.ecs.systems

+

AbsorbCellsWithTypeVictoryCondition + + + +

+

+
+ +

+ + + case class + + + AbsorbCellsWithTypeVictoryCondition(entityType: components.EntityType.Value) extends AbstractVictoryCondition[DeathProperty] with Product with Serializable + +

+ + +

class implementing absorb cells that share a common type victory condition

+ + Linear Supertypes + +
Serializable, Serializable, Product, Equals, AbstractVictoryCondition[DeathProperty], AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. AbsorbCellsWithTypeVictoryCondition
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AbstractVictoryCondition
  7. AnyRef
  8. Any
  9. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + AbsorbCellsWithTypeVictoryCondition(entityType: components.EntityType.Value) + + + +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + check(playerCellEntity: DeathProperty, entityList: ListBuffer[DeathProperty]): Boolean + + +

    Checks if the victory condition is fulfilled +

    Checks if the victory condition is fulfilled +

    playerCellEntity

    player's entity

    entityList

    entities present in this game instant

    returns

    the evaluation result

    Definition Classes
    AbsorbCellsWithTypeVictoryConditionAbstractVictoryCondition
    +
  6. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  7. + + + + + + + + + val + + + entityType: components.EntityType.Value + + + +
  8. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  9. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  10. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  17. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  19. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/AbstractBorder.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/AbstractBorder.html new file mode 100644 index 00000000..3d6129de --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/AbstractBorder.html @@ -0,0 +1,784 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.systems.AbstractBorder + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.ecs.systems

+

AbstractBorder + + + +

+

+
+ +

+ + abstract + class + + + AbstractBorder extends AnyRef + +

+ + +

Abstract class implementing the border collision strategy +

+ + Linear Supertypes + +
AnyRef, Any
+
+ + Known Subclasses + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. AbstractBorder
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + AbstractBorder(levelCenter: Point, collisionRule: mvc.model.CollisionRules.Value) + + +

    levelCenter

    center of the level

    +
+
+ + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + checkCollision(entity: CollidableProperty): Unit + + +

    Checks if an entity has collided with the border.

    Checks if an entity has collided with the border. +If so, computes it's new position and speed +

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + + val + + + restitution: Double + + +
    Attributes
    protected
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/AbstractSystem.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/AbstractSystem.html new file mode 100644 index 00000000..75178eb9 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/AbstractSystem.html @@ -0,0 +1,820 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.systems.AbstractSystem + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.ecs.systems

+

AbstractSystem + + + +

+

+
+ +

+ + abstract + class + + + AbstractSystem[T <: Property] extends Observer with System + +

+ + + + + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. AbstractSystem
  2. System
  3. Observer
  4. AnyRef
  5. Any
  6. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + AbstractSystem() + + + +
+
+ + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + getGroupProperty: Class[T] + + +
    Attributes
    protected
    +
  2. + + + + + + + + abstract + def + + + update(): Unit + + +

    Performs an action on all the entities of the system +

    Performs an action on all the entities of the system +

    Definition Classes
    System
    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + + var + + + entities: ListBuffer[T] + + +
    Attributes
    protected
    +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  9. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  10. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  13. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  14. + + + + + + + + + def + + + notify(event: EntityManagerEvent): Unit + + +
    Definition Classes
    AbstractSystemObserver
    +
  15. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  16. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  17. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  18. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  19. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  21. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  22. +
+
+ + + + +
+ +
+
+

Inherited from System

+
+

Inherited from Observer

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/AbstractSystemWithThreeTypeOfEntity.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/AbstractSystemWithThreeTypeOfEntity.html new file mode 100644 index 00000000..eb77905b --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/AbstractSystemWithThreeTypeOfEntity.html @@ -0,0 +1,884 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.systems.AbstractSystemWithThreeTypeOfEntity + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.ecs.systems

+

AbstractSystemWithThreeTypeOfEntity + + + +

+

+
+ +

+ + abstract + class + + + AbstractSystemWithThreeTypeOfEntity[T <: Property, R <: Property, S <: Property] extends AbstractSystemWithTwoTypeOfEntity[T, R] with Observer with System + +

+ + +

Abstract system with three type of generic entity. +The lists of entity are not exclusive +

+ + Linear Supertypes + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. AbstractSystemWithThreeTypeOfEntity
  2. AbstractSystemWithTwoTypeOfEntity
  3. AbstractSystem
  4. System
  5. Observer
  6. AnyRef
  7. Any
  8. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + AbstractSystemWithThreeTypeOfEntity()(implicit arg0: ClassTag[R], arg1: ClassTag[S]) + + + +
+
+ + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + getGroupProperty: Class[T] + + +
    Attributes
    protected
    Definition Classes
    AbstractSystem
    +
  2. + + + + + + + + abstract + def + + + getGroupPropertySecondType: Class[R] + + +
    Attributes
    protected
    Definition Classes
    AbstractSystemWithTwoTypeOfEntity
    +
  3. + + + + + + + + abstract + def + + + getGroupPropertyThirdType: Class[S] + + +
    Attributes
    protected
    +
  4. + + + + + + + + abstract + def + + + update(): Unit + + +

    Performs an action on all the entities of the system +

    Performs an action on all the entities of the system +

    Definition Classes
    System
    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + + var + + + entities: ListBuffer[T] + + +
    Attributes
    protected
    Definition Classes
    AbstractSystem
    +
  7. + + + + + + + + + var + + + entitiesSecondType: ListBuffer[R] + + +
    Attributes
    protected
    Definition Classes
    AbstractSystemWithTwoTypeOfEntity
    +
  8. + + + + + + + + + var + + + entitiesThirdType: ListBuffer[S] + + +
    Attributes
    protected
    +
  9. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  10. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  11. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  12. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  13. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  15. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + notify(event: EntityManagerEvent): Unit + + + +
  17. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  18. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  19. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  20. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  21. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  22. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  23. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  24. +
+
+ + + + +
+ +
+
+

Inherited from AbstractSystemWithTwoTypeOfEntity[T, R]

+
+

Inherited from AbstractSystem[T]

+
+

Inherited from System

+
+

Inherited from Observer

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/AbstractSystemWithTwoTypeOfEntity.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/AbstractSystemWithTwoTypeOfEntity.html new file mode 100644 index 00000000..46bb988c --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/AbstractSystemWithTwoTypeOfEntity.html @@ -0,0 +1,855 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.systems.AbstractSystemWithTwoTypeOfEntity + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.ecs.systems

+

AbstractSystemWithTwoTypeOfEntity + + + +

+

+
+ +

+ + abstract + class + + + AbstractSystemWithTwoTypeOfEntity[T <: Property, R <: Property] extends AbstractSystem[T] with Observer with System + +

+ + +

Abstract system with two type of generic entity. +The lists of entity are not exclusive +

+ + Linear Supertypes + +
AbstractSystem[T], System, Observer, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. AbstractSystemWithTwoTypeOfEntity
  2. AbstractSystem
  3. System
  4. Observer
  5. AnyRef
  6. Any
  7. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + AbstractSystemWithTwoTypeOfEntity()(implicit arg0: ClassTag[R]) + + + +
+
+ + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + getGroupProperty: Class[T] + + +
    Attributes
    protected
    Definition Classes
    AbstractSystem
    +
  2. + + + + + + + + abstract + def + + + getGroupPropertySecondType: Class[R] + + +
    Attributes
    protected
    +
  3. + + + + + + + + abstract + def + + + update(): Unit + + +

    Performs an action on all the entities of the system +

    Performs an action on all the entities of the system +

    Definition Classes
    System
    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + + var + + + entities: ListBuffer[T] + + +
    Attributes
    protected
    Definition Classes
    AbstractSystem
    +
  7. + + + + + + + + + var + + + entitiesSecondType: ListBuffer[R] + + +
    Attributes
    protected
    +
  8. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  9. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  10. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  11. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  13. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  14. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  15. + + + + + + + + + def + + + notify(event: EntityManagerEvent): Unit + + + +
  16. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  17. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  18. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  19. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  20. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  21. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  22. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  23. +
+
+ + + + +
+ +
+
+

Inherited from AbstractSystem[T]

+
+

Inherited from System

+
+

Inherited from Observer

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/AbstractVictoryCondition.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/AbstractVictoryCondition.html new file mode 100644 index 00000000..ca983309 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/AbstractVictoryCondition.html @@ -0,0 +1,768 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.systems.AbstractVictoryCondition + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.ecs.systems

+

AbstractVictoryCondition + + + +

+

+
+ +

+ + abstract + class + + + AbstractVictoryCondition[A <: Property] extends AnyRef + +

+ + +

Abstract class for victory condition strategy +

+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. AbstractVictoryCondition
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + AbstractVictoryCondition() + + + +
+
+ + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + check(playerCellEntity: A, entityList: ListBuffer[A]): Boolean + + +

    Checks if the victory condition is fulfilled +

    Checks if the victory condition is fulfilled +

    playerCellEntity

    player's entity

    entityList

    entities present in this game instant

    returns

    the evaluation result

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/BecomeHugeVictoryCondition.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/BecomeHugeVictoryCondition.html new file mode 100644 index 00000000..6ebbeb64 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/BecomeHugeVictoryCondition.html @@ -0,0 +1,718 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.systems.BecomeHugeVictoryCondition + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.ecs.systems

+

BecomeHugeVictoryCondition + + + +

+

+
+ +

+ + + case class + + + BecomeHugeVictoryCondition() extends AbstractVictoryCondition[DeathProperty] with Product with Serializable + +

+ + +

class implementing become huge victory condition

+ + Linear Supertypes + +
Serializable, Serializable, Product, Equals, AbstractVictoryCondition[DeathProperty], AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. BecomeHugeVictoryCondition
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AbstractVictoryCondition
  7. AnyRef
  8. Any
  9. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + BecomeHugeVictoryCondition() + + + +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + check(playerCellEntity: DeathProperty, entityList: ListBuffer[DeathProperty]): Boolean + + +

    Checks if the victory condition is fulfilled +

    Checks if the victory condition is fulfilled +

    playerCellEntity

    player's entity

    entityList

    entities present in this game instant

    returns

    the evaluation result

    Definition Classes
    BecomeHugeVictoryConditionAbstractVictoryCondition
    +
  6. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  11. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  12. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  13. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  15. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  16. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  17. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  18. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/BecomeTheBiggestVictoryCondition.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/BecomeTheBiggestVictoryCondition.html new file mode 100644 index 00000000..144f47e0 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/BecomeTheBiggestVictoryCondition.html @@ -0,0 +1,718 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.systems.BecomeTheBiggestVictoryCondition + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.ecs.systems

+

BecomeTheBiggestVictoryCondition + + + +

+

+
+ +

+ + + case class + + + BecomeTheBiggestVictoryCondition() extends AbstractVictoryCondition[DeathProperty] with Product with Serializable + +

+ + +

class implementing become the biggest victory condition

+ + Linear Supertypes + +
Serializable, Serializable, Product, Equals, AbstractVictoryCondition[DeathProperty], AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. BecomeTheBiggestVictoryCondition
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AbstractVictoryCondition
  7. AnyRef
  8. Any
  9. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + BecomeTheBiggestVictoryCondition() + + + +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + check(playerCellEntity: DeathProperty, entityList: ListBuffer[DeathProperty]): Boolean + + +

    Checks if the victory condition is fulfilled +

    Checks if the victory condition is fulfilled +

    playerCellEntity

    player's entity

    entityList

    entities present in this game instant

    returns

    the evaluation result

    Definition Classes
    BecomeTheBiggestVictoryConditionAbstractVictoryCondition
    +
  6. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  11. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  12. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  13. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  15. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  16. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  17. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  18. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/CellsEliminationSystem.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/CellsEliminationSystem.html new file mode 100644 index 00000000..38a92771 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/CellsEliminationSystem.html @@ -0,0 +1,786 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.systems.CellsEliminationSystem + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.ecs.systems

+

CellsEliminationSystem + + + +

+

+
+ +

+ + + case class + + + CellsEliminationSystem() extends AbstractSystem[DeathProperty] with Product with Serializable + +

+ + +
+ + Linear Supertypes + +
Serializable, Serializable, Product, Equals, AbstractSystem[DeathProperty], System, Observer, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. CellsEliminationSystem
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AbstractSystem
  7. System
  8. Observer
  9. AnyRef
  10. Any
  11. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + CellsEliminationSystem() + + + +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + + var + + + entities: ListBuffer[DeathProperty] + + +
    Attributes
    protected
    Definition Classes
    AbstractSystem
    +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + getGroupProperty: Class[DeathProperty] + + +
    Definition Classes
    CellsEliminationSystemAbstractSystem
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + + def + + + notify(event: EntityManagerEvent): Unit + + +
    Definition Classes
    AbstractSystemObserver
    +
  14. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  16. + + + + + + + + + val + + + radiusThreshold: Double + + + +
  17. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  18. + + + + + + + + + def + + + update(): Unit + + +

    Performs an action on all the entities of the system +

    Performs an action on all the entities of the system +

    Definition Classes
    CellsEliminationSystemSystem
    +
  19. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  21. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  22. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from AbstractSystem[DeathProperty]

+
+

Inherited from System

+
+

Inherited from Observer

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/CircularBorder.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/CircularBorder.html new file mode 100644 index 00000000..205b41ae --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/CircularBorder.html @@ -0,0 +1,782 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.systems.CircularBorder + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.ecs.systems

+

CircularBorder + + + +

+

+
+ +

+ + + case class + + + CircularBorder(levelCenter: Point, collisionRule: mvc.model.CollisionRules.Value, levelRadius: Double) extends AbstractBorder with Product with Serializable + +

+ + +

Implementation of a playing field with circular shape

+ + Linear Supertypes + +
Serializable, Serializable, Product, Equals, AbstractBorder, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. CircularBorder
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AbstractBorder
  7. AnyRef
  8. Any
  9. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + CircularBorder(levelCenter: Point, collisionRule: mvc.model.CollisionRules.Value, levelRadius: Double) + + + +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + checkCollision(entity: CollidableProperty): Unit + + +

    Checks if an entity has collided with the border.

    Checks if an entity has collided with the border. +If so, computes it's new position and speed +

    Definition Classes
    CircularBorderAbstractBorder
    +
  6. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  7. + + + + + + + + + val + + + collisionRule: mvc.model.CollisionRules.Value + + + +
  8. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  9. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  10. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + + val + + + levelCenter: Point + + + +
  13. + + + + + + + + + val + + + levelRadius: Double + + + +
  14. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  15. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  16. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  17. + + + + + + + + + val + + + restitution: Double + + +
    Attributes
    protected
    Definition Classes
    AbstractBorder
    +
  18. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  19. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  21. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  22. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from AbstractBorder

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/CollisionSystem.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/CollisionSystem.html new file mode 100644 index 00000000..a997d48c --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/CollisionSystem.html @@ -0,0 +1,786 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.systems.CollisionSystem + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.ecs.systems

+

CollisionSystem + + + +

+

+
+ +

+ + + case class + + + CollisionSystem(levelInfo: Level) extends AbstractSystem[CollidableProperty] with Product with Serializable + +

+ + +
+ + Linear Supertypes + +
Serializable, Serializable, Product, Equals, AbstractSystem[CollidableProperty], System, Observer, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. CollisionSystem
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AbstractSystem
  7. System
  8. Observer
  9. AnyRef
  10. Any
  11. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + CollisionSystem(levelInfo: Level) + + + +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + + var + + + entities: ListBuffer[CollidableProperty] + + +
    Attributes
    protected
    Definition Classes
    AbstractSystem
    +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + getGroupProperty: Class[CollidableProperty] + + +
    Definition Classes
    CollisionSystemAbstractSystem
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + + val + + + levelInfo: Level + + + +
  13. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  14. + + + + + + + + + def + + + notify(event: EntityManagerEvent): Unit + + +
    Definition Classes
    AbstractSystemObserver
    +
  15. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  16. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  17. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  18. + + + + + + + + + def + + + update(): Unit + + +

    Performs an action on all the entities of the system +

    Performs an action on all the entities of the system +

    Definition Classes
    CollisionSystemSystem
    +
  19. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  21. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  22. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from AbstractSystem[CollidableProperty]

+
+

Inherited from System

+
+

Inherited from Observer

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/DrawSystem.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/DrawSystem.html new file mode 100644 index 00000000..6b279cd8 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/DrawSystem.html @@ -0,0 +1,820 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.systems.DrawSystem + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.ecs.systems

+

DrawSystem + + + +

+

+
+ +

+ + + case class + + + DrawSystem(entitiesDrawer: EntitiesDrawer) extends AbstractSystemWithTwoTypeOfEntity[DrawableProperty, PlayerCellEntity] with Product with Serializable + +

+ + +

System to draw all the entity

entitiesDrawer

entitiesDrawer for communicate the entities to the view

+ + Linear Supertypes + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. DrawSystem
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AbstractSystemWithTwoTypeOfEntity
  7. AbstractSystem
  8. System
  9. Observer
  10. AnyRef
  11. Any
  12. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + DrawSystem(entitiesDrawer: EntitiesDrawer) + + +

    entitiesDrawer

    entitiesDrawer for communicate the entities to the view

    +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + + var + + + entities: ListBuffer[DrawableProperty] + + +
    Attributes
    protected
    Definition Classes
    AbstractSystem
    +
  7. + + + + + + + + + val + + + entitiesDrawer: EntitiesDrawer + + + +
  8. + + + + + + + + + var + + + entitiesSecondType: ListBuffer[PlayerCellEntity] + + +
    Attributes
    protected
    Definition Classes
    AbstractSystemWithTwoTypeOfEntity
    +
  9. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  10. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  11. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + + def + + + getGroupProperty: Class[DrawableProperty] + + +
    Definition Classes
    DrawSystemAbstractSystem
    +
  13. + + + + + + + + + def + + + getGroupPropertySecondType: Class[PlayerCellEntity] + + +
    Attributes
    protected
    Definition Classes
    DrawSystemAbstractSystemWithTwoTypeOfEntity
    +
  14. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  15. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + notify(event: EntityManagerEvent): Unit + + + +
  17. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  18. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  19. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  20. + + + + + + + + + def + + + update(): Unit + + +

    Performs an action on all the entities of the system +

    Performs an action on all the entities of the system +

    Definition Classes
    DrawSystemSystem
    +
  21. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  22. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  23. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  24. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from AbstractSystem[DrawableProperty]

+
+

Inherited from System

+
+

Inherited from Observer

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/EndGameSystem.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/EndGameSystem.html new file mode 100644 index 00000000..9dab3a8c --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/EndGameSystem.html @@ -0,0 +1,837 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.systems.EndGameSystem + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.ecs.systems

+

EndGameSystem + + + +

+

+
+ +

+ + + case class + + + EndGameSystem(levelContext: GameStateHolder, victoryRules: mvc.model.VictoryRules.Value) extends AbstractSystemWithTwoTypeOfEntity[PlayerCellEntity, DeathProperty] with Product with Serializable + +

+ + +

System managing the level's ending rules +

levelContext

object to notify the view of the end game result

victoryRules

enumeration representing the level's victory rules

+ + Linear Supertypes + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. EndGameSystem
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AbstractSystemWithTwoTypeOfEntity
  7. AbstractSystem
  8. System
  9. Observer
  10. AnyRef
  11. Any
  12. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + EndGameSystem(levelContext: GameStateHolder, victoryRules: mvc.model.VictoryRules.Value) + + +

    levelContext

    object to notify the view of the end game result

    victoryRules

    enumeration representing the level's victory rules

    +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + + var + + + entities: ListBuffer[PlayerCellEntity] + + +
    Attributes
    protected
    Definition Classes
    AbstractSystem
    +
  7. + + + + + + + + + var + + + entitiesSecondType: ListBuffer[DeathProperty] + + +
    Attributes
    protected
    Definition Classes
    AbstractSystemWithTwoTypeOfEntity
    +
  8. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  9. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  10. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + + def + + + getGroupProperty: Class[PlayerCellEntity] + + +
    Attributes
    protected
    Definition Classes
    EndGameSystemAbstractSystem
    +
  12. + + + + + + + + + def + + + getGroupPropertySecondType: Class[DeathProperty] + + +
    Attributes
    protected
    Definition Classes
    EndGameSystemAbstractSystemWithTwoTypeOfEntity
    +
  13. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  14. + + + + + + + + + val + + + levelContext: GameStateHolder + + + +
  15. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + notify(event: EntityManagerEvent): Unit + + + +
  17. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  18. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  19. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  20. + + + + + + + + + def + + + update(): Unit + + +

    Performs an action on all the entities of the system +

    Performs an action on all the entities of the system +

    Definition Classes
    EndGameSystemSystem
    +
  21. + + + + + + + + + val + + + victoryRules: mvc.model.VictoryRules.Value + + + +
  22. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  23. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  24. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  25. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from AbstractSystem[PlayerCellEntity]

+
+

Inherited from System

+
+

Inherited from Observer

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/GravitySystem.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/GravitySystem.html new file mode 100644 index 00000000..90f53391 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/GravitySystem.html @@ -0,0 +1,804 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.systems.GravitySystem + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.ecs.systems

+

GravitySystem + + + +

+

+
+ +

+ + + case class + + + GravitySystem() extends AbstractSystemWithTwoTypeOfEntity[MovableProperty, GravityProperty] with Product with Serializable + +

+ + +
+ + Linear Supertypes + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. GravitySystem
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AbstractSystemWithTwoTypeOfEntity
  7. AbstractSystem
  8. System
  9. Observer
  10. AnyRef
  11. Any
  12. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + GravitySystem() + + + +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + + var + + + entities: ListBuffer[MovableProperty] + + +
    Attributes
    protected
    Definition Classes
    AbstractSystem
    +
  7. + + + + + + + + + var + + + entitiesSecondType: ListBuffer[GravityProperty] + + +
    Attributes
    protected
    Definition Classes
    AbstractSystemWithTwoTypeOfEntity
    +
  8. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  9. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  10. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + + def + + + getGroupProperty: Class[MovableProperty] + + +
    Definition Classes
    GravitySystemAbstractSystem
    +
  12. + + + + + + + + + def + + + getGroupPropertySecondType: Class[GravityProperty] + + +
    Attributes
    protected
    Definition Classes
    GravitySystemAbstractSystemWithTwoTypeOfEntity
    +
  13. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  14. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  15. + + + + + + + + + def + + + notify(event: EntityManagerEvent): Unit + + + +
  16. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  17. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  18. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  19. + + + + + + + + + def + + + update(): Unit + + +

    Performs an action on all the entities of the system +

    Performs an action on all the entities of the system +

    Definition Classes
    GravitySystemSystem
    +
  20. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  21. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  22. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  23. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from AbstractSystem[MovableProperty]

+
+

Inherited from System

+
+

Inherited from Observer

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/InputSystem.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/InputSystem.html new file mode 100644 index 00000000..0715b4d4 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/InputSystem.html @@ -0,0 +1,838 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.systems.InputSystem + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.ecs.systems

+

InputSystem + + + +

+

+
+ +

+ + + case class + + + InputSystem() extends AbstractSystem[InputProperty] with Product with Serializable + +

+ + +
+ + Linear Supertypes + +
Serializable, Serializable, Product, Equals, AbstractSystem[InputProperty], System, Observer, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. InputSystem
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AbstractSystem
  7. System
  8. Observer
  9. AnyRef
  10. Any
  11. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + InputSystem() + + + +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + val + + + accelCoefficient: Double + + +

    Acceleration coefficient to apply to each input movement +

    +
  5. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  6. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  7. + + + + + + + + + var + + + entities: ListBuffer[InputProperty] + + +
    Attributes
    protected
    Definition Classes
    AbstractSystem
    +
  8. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  9. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  10. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + + def + + + getGroupProperty(): Class[InputProperty] + + +
    Definition Classes
    InputSystemAbstractSystem
    +
  12. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  13. + + + + + + + + + val + + + lostMassInitialVelocity: Double + + +

    The initial velocity of the lost mass +

    +
  14. + + + + + + + + + val + + + lostMassPercentage: Double + + +

    The amount of lost mass for each movement +

    +
  15. + + + + + + + + + val + + + lostMassSpawnOffset: Double + + +

    The lost mass spawn point offset (starting from the perimeter of the entity, where to spawn lost mass due to movement) +

    +
  16. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + notify(event: EntityManagerEvent): Unit + + +
    Definition Classes
    AbstractSystemObserver
    +
  18. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  19. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  20. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  21. + + + + + + + + + def + + + update(): Unit + + +

    Performs an action on all the entities of the system +

    Performs an action on all the entities of the system +

    Definition Classes
    InputSystemSystem
    +
  22. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  23. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  24. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  25. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from AbstractSystem[InputProperty]

+
+

Inherited from System

+
+

Inherited from Observer

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/MovementSystem.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/MovementSystem.html new file mode 100644 index 00000000..cd8fa917 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/MovementSystem.html @@ -0,0 +1,770 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.systems.MovementSystem + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.ecs.systems

+

MovementSystem + + + +

+

+
+ +

+ + + case class + + + MovementSystem() extends AbstractSystem[MovableProperty] with Product with Serializable + +

+ + +
+ + Linear Supertypes + +
Serializable, Serializable, Product, Equals, AbstractSystem[MovableProperty], System, Observer, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. MovementSystem
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AbstractSystem
  7. System
  8. Observer
  9. AnyRef
  10. Any
  11. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + MovementSystem() + + + +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + + var + + + entities: ListBuffer[MovableProperty] + + +
    Attributes
    protected
    Definition Classes
    AbstractSystem
    +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + getGroupProperty: Class[MovableProperty] + + +
    Definition Classes
    MovementSystemAbstractSystem
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + + def + + + notify(event: EntityManagerEvent): Unit + + +
    Definition Classes
    AbstractSystemObserver
    +
  14. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + update(): Unit + + +

    Performs an action on all the entities of the system +

    Performs an action on all the entities of the system +

    Definition Classes
    MovementSystemSystem
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from AbstractSystem[MovableProperty]

+
+

Inherited from System

+
+

Inherited from Observer

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/RectangularBorder.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/RectangularBorder.html new file mode 100644 index 00000000..070d6a48 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/RectangularBorder.html @@ -0,0 +1,798 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.systems.RectangularBorder + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.ecs.systems

+

RectangularBorder + + + +

+

+
+ +

+ + + case class + + + RectangularBorder(levelCenter: Point, collisionRule: mvc.model.CollisionRules.Value, base: Double, height: Double) extends AbstractBorder with Product with Serializable + +

+ + +

Implementation of a playing field with rectangular shape

+ + Linear Supertypes + +
Serializable, Serializable, Product, Equals, AbstractBorder, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. RectangularBorder
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AbstractBorder
  7. AnyRef
  8. Any
  9. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + RectangularBorder(levelCenter: Point, collisionRule: mvc.model.CollisionRules.Value, base: Double, height: Double) + + + +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + val + + + base: Double + + + +
  6. + + + + + + + + + def + + + checkCollision(entity: CollidableProperty): Unit + + +

    Checks if an entity has collided with the border.

    Checks if an entity has collided with the border. +If so, computes it's new position and speed +

    Definition Classes
    RectangularBorderAbstractBorder
    +
  7. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  8. + + + + + + + + + val + + + collisionRule: mvc.model.CollisionRules.Value + + + +
  9. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  10. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  11. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + + val + + + height: Double + + + +
  13. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  14. + + + + + + + + + val + + + levelCenter: Point + + + +
  15. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  17. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  18. + + + + + + + + + val + + + restitution: Double + + +
    Attributes
    protected
    Definition Classes
    AbstractBorder
    +
  19. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  20. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  21. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  22. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  23. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from AbstractBorder

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/SentientPrologSystem.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/SentientPrologSystem.html new file mode 100644 index 00000000..5d926465 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/SentientPrologSystem.html @@ -0,0 +1,804 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.systems.SentientPrologSystem + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.ecs.systems

+

SentientPrologSystem + + + +

+

+
+ +

+ + + case class + + + SentientPrologSystem() extends AbstractSystemWithTwoTypeOfEntity[SentientProperty, SentientEnemyProperty] with Product with Serializable + +

+ + +
+ + Linear Supertypes + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. SentientPrologSystem
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AbstractSystemWithTwoTypeOfEntity
  7. AbstractSystem
  8. System
  9. Observer
  10. AnyRef
  11. Any
  12. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + SentientPrologSystem() + + + +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + + var + + + entities: ListBuffer[SentientProperty] + + +
    Attributes
    protected
    Definition Classes
    AbstractSystem
    +
  7. + + + + + + + + + var + + + entitiesSecondType: ListBuffer[SentientEnemyProperty] + + +
    Attributes
    protected
    Definition Classes
    AbstractSystemWithTwoTypeOfEntity
    +
  8. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  9. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  10. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + + def + + + getGroupProperty: Class[SentientProperty] + + +
    Attributes
    protected
    Definition Classes
    SentientPrologSystemAbstractSystem
    +
  12. + + + + + + + + + def + + + getGroupPropertySecondType: Class[SentientEnemyProperty] + + +
    Attributes
    protected
    Definition Classes
    SentientPrologSystemAbstractSystemWithTwoTypeOfEntity
    +
  13. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  14. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  15. + + + + + + + + + def + + + notify(event: EntityManagerEvent): Unit + + + +
  16. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  17. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  18. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  19. + + + + + + + + + def + + + update(): Unit + + +

    Performs an action on all the entities of the system +

    Performs an action on all the entities of the system +

    Definition Classes
    SentientPrologSystemSystem
    +
  20. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  21. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  22. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  23. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from AbstractSystem[SentientProperty]

+
+

Inherited from System

+
+

Inherited from Observer

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/SentientSystem.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/SentientSystem.html new file mode 100644 index 00000000..fbf50f74 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/SentientSystem.html @@ -0,0 +1,836 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.systems.SentientSystem + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.ecs.systems

+

SentientSystem + + + +

+

+
+ +

+ + + case class + + + SentientSystem() extends AbstractSystemWithTwoTypeOfEntity[SentientProperty, SentientEnemyProperty] with Product with Serializable + +

+ + +
+ + Linear Supertypes + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. SentientSystem
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AbstractSystemWithTwoTypeOfEntity
  7. AbstractSystem
  8. System
  9. Observer
  10. AnyRef
  11. Any
  12. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + SentientSystem() + + + +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + average(s: List[Vector]): Vector + + + +
  6. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  7. + + + + + + + + + var + + + entities: ListBuffer[SentientProperty] + + +
    Attributes
    protected
    Definition Classes
    AbstractSystem
    +
  8. + + + + + + + + + var + + + entitiesSecondType: ListBuffer[SentientEnemyProperty] + + +
    Attributes
    protected
    Definition Classes
    AbstractSystemWithTwoTypeOfEntity
    +
  9. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  10. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  11. + + + + + + + + + def + + + followTarget(sentient: SentientProperty, target: SentientEnemyProperty): Unit + + +

    apply a acceleration to the sentient to follow the target

    apply a acceleration to the sentient to follow the target

    sentient

    sentient entity

    target

    target entity

    +
  12. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  13. + + + + + + + + + def + + + getGroupProperty: Class[SentientProperty] + + +
    Attributes
    protected
    Definition Classes
    SentientSystemAbstractSystem
    +
  14. + + + + + + + + + def + + + getGroupPropertySecondType: Class[SentientEnemyProperty] + + +
    Attributes
    protected
    Definition Classes
    SentientSystemAbstractSystemWithTwoTypeOfEntity
    +
  15. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  16. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + notify(event: EntityManagerEvent): Unit + + + +
  18. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  19. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  20. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  21. + + + + + + + + + def + + + update(): Unit + + +

    Performs an action on all the entities of the system +

    Performs an action on all the entities of the system +

    Definition Classes
    SentientSystemSystem
    +
  22. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  23. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  24. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  25. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from AbstractSystem[SentientProperty]

+
+

Inherited from System

+
+

Inherited from Observer

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/SpawnSystem.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/SpawnSystem.html new file mode 100644 index 00000000..2ec658a8 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/SpawnSystem.html @@ -0,0 +1,770 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.systems.SpawnSystem + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.ecs.systems

+

SpawnSystem + + + +

+

+
+ +

+ + + case class + + + SpawnSystem() extends AbstractSystem[Spawner] with Product with Serializable + +

+ + +
+ + Linear Supertypes + +
Serializable, Serializable, Product, Equals, AbstractSystem[Spawner], System, Observer, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. SpawnSystem
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AbstractSystem
  7. System
  8. Observer
  9. AnyRef
  10. Any
  11. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + SpawnSystem() + + + +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + + var + + + entities: ListBuffer[Spawner] + + +
    Attributes
    protected
    Definition Classes
    AbstractSystem
    +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + getGroupProperty: Class[Spawner] + + +
    Definition Classes
    SpawnSystemAbstractSystem
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + + def + + + notify(event: EntityManagerEvent): Unit + + +
    Definition Classes
    AbstractSystemObserver
    +
  14. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + update(): Unit + + +

    Performs an action on all the entities of the system +

    Performs an action on all the entities of the system +

    Definition Classes
    SpawnSystemSystem
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from AbstractSystem[Spawner]

+
+

Inherited from System

+
+

Inherited from Observer

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/System.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/System.html new file mode 100644 index 00000000..d12a211a --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/System.html @@ -0,0 +1,748 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.systems.System + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.ecs.systems

+

System + + + +

+

+
+ +

+ + + trait + + + System extends AnyRef + +

+ + + + + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. System
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + update(): Unit + + +

    Performs an action on all the entities of the system +

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/index.html b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/index.html new file mode 100644 index 00000000..96f05ea0 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/ecs/systems/index.html @@ -0,0 +1,719 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.ecs.systems + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
p
+

it.unibo.osmos.redux.ecs

+

systems + + + +

+ +
+ +

+ + + package + + + systems + +

+ + +
+ + + + +
+
+ + +
+

Type Members

+
  1. + + + + + + + + + case class + + + AbsorbCellsWithTypeVictoryCondition(entityType: components.EntityType.Value) extends AbstractVictoryCondition[DeathProperty] with Product with Serializable + + +

    class implementing absorb cells that share a common type victory condition

    +
  2. + + + + + + + + abstract + class + + + AbstractBorder extends AnyRef + + +

    Abstract class implementing the border collision strategy +

    +
  3. + + + + + + + + abstract + class + + + AbstractSystem[T <: Property] extends Observer with System + + +

    Abstract system of generic entity +

    +
  4. + + + + + + + + abstract + class + + + AbstractSystemWithThreeTypeOfEntity[T <: Property, R <: Property, S <: Property] extends AbstractSystemWithTwoTypeOfEntity[T, R] with Observer with System + + +

    Abstract system with three type of generic entity.

    Abstract system with three type of generic entity. +The lists of entity are not exclusive +

    +
  5. + + + + + + + + abstract + class + + + AbstractSystemWithTwoTypeOfEntity[T <: Property, R <: Property] extends AbstractSystem[T] with Observer with System + + +

    Abstract system with two type of generic entity.

    Abstract system with two type of generic entity. +The lists of entity are not exclusive +

    +
  6. + + + + + + + + abstract + class + + + AbstractVictoryCondition[A <: Property] extends AnyRef + + +

    Abstract class for victory condition strategy +

    +
  7. + + + + + + + + + case class + + + BecomeHugeVictoryCondition() extends AbstractVictoryCondition[DeathProperty] with Product with Serializable + + +

    class implementing become huge victory condition

    +
  8. + + + + + + + + + case class + + + BecomeTheBiggestVictoryCondition() extends AbstractVictoryCondition[DeathProperty] with Product with Serializable + + +

    class implementing become the biggest victory condition

    +
  9. + + + + + + + + + case class + + + CellsEliminationSystem() extends AbstractSystem[DeathProperty] with Product with Serializable + + + +
  10. + + + + + + + + + case class + + + CircularBorder(levelCenter: Point, collisionRule: mvc.model.CollisionRules.Value, levelRadius: Double) extends AbstractBorder with Product with Serializable + + +

    Implementation of a playing field with circular shape

    +
  11. + + + + + + + + + case class + + + CollisionSystem(levelInfo: Level) extends AbstractSystem[CollidableProperty] with Product with Serializable + + + +
  12. + + + + + + + + + case class + + + DrawSystem(entitiesDrawer: EntitiesDrawer) extends AbstractSystemWithTwoTypeOfEntity[DrawableProperty, PlayerCellEntity] with Product with Serializable + + +

    System to draw all the entity

    System to draw all the entity

    entitiesDrawer

    entitiesDrawer for communicate the entities to the view

    +
  13. + + + + + + + + + case class + + + EndGameSystem(levelContext: GameStateHolder, victoryRules: mvc.model.VictoryRules.Value) extends AbstractSystemWithTwoTypeOfEntity[PlayerCellEntity, DeathProperty] with Product with Serializable + + +

    System managing the level's ending rules +

    System managing the level's ending rules +

    levelContext

    object to notify the view of the end game result

    victoryRules

    enumeration representing the level's victory rules

    +
  14. + + + + + + + + + case class + + + GravitySystem() extends AbstractSystemWithTwoTypeOfEntity[MovableProperty, GravityProperty] with Product with Serializable + + + +
  15. + + + + + + + + + case class + + + InputSystem() extends AbstractSystem[InputProperty] with Product with Serializable + + + +
  16. + + + + + + + + + case class + + + MovementSystem() extends AbstractSystem[MovableProperty] with Product with Serializable + + + +
  17. + + + + + + + + + case class + + + RectangularBorder(levelCenter: Point, collisionRule: mvc.model.CollisionRules.Value, base: Double, height: Double) extends AbstractBorder with Product with Serializable + + +

    Implementation of a playing field with rectangular shape

    +
  18. + + + + + + + + + case class + + + SentientPrologSystem() extends AbstractSystemWithTwoTypeOfEntity[SentientProperty, SentientEnemyProperty] with Product with Serializable + + + +
  19. + + + + + + + + + case class + + + SentientSystem() extends AbstractSystemWithTwoTypeOfEntity[SentientProperty, SentientEnemyProperty] with Product with Serializable + + + +
  20. + + + + + + + + + case class + + + SpawnSystem() extends AbstractSystem[Spawner] with Product with Serializable + + + +
  21. + + + + + + + + + trait + + + System extends AnyRef + + +

    Base trait which represent a system +

    +
+
+ + + + + + + + +
+ +
+ + +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/index.html b/docs/scaladoc/it/unibo/osmos/redux/index.html new file mode 100644 index 00000000..0f2dfc43 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/index.html @@ -0,0 +1,270 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
p
+

it.unibo.osmos

+

redux + + + +

+ +
+ +

+ + + package + + + redux + +

+ + +
+ + + + +
+
+ + + + + + + + + + + +
+ +
+ + +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/main/AppLauncher$.html b/docs/scaladoc/it/unibo/osmos/redux/main/AppLauncher$.html new file mode 100644 index 00000000..a9f97e53 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/main/AppLauncher$.html @@ -0,0 +1,775 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.main.AppLauncher + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.main

+

AppLauncher + + + +

+

+
+ +

+ + + object + + + AppLauncher extends JFXApp + +

+ + +

Application entry point. +

+ + Linear Supertypes + +
JFXApp, DelayedInit, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. AppLauncher
  2. JFXApp
  3. DelayedInit
  4. AnyRef
  5. Any
  6. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + + val + + + controller: Controller + + + +
  7. + + + + + + + + + def + + + delayedInit(x: ⇒ Unit): Unit + + +
    Definition Classes
    JFXApp → DelayedInit
    +
  8. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  9. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  10. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  11. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  13. + + + + + + + + + def + + + hostServices: HostServices + + +
    Definition Classes
    JFXApp
    +
  14. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  15. + + + + + + + + + def + + + main(args: Array[String]): Unit + + +
    Definition Classes
    JFXApp
    +
  16. + + + + + + + + + val + + + model: Model + + + +
  17. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  18. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  19. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  20. + + + + + + + + + lazy val + + + parameters: Parameters + + +
    Attributes
    protected
    Definition Classes
    JFXApp
    +
  21. + + + + + + + + + val + + + stage: PrimaryStage + + +
    Definition Classes
    JFXApp
    +
  22. + + + + + + + + + def + + + stopApp(): Unit + + +
    Definition Classes
    JFXApp
    +
  23. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  24. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  25. + + + + + + + + + val + + + view: View + + + +
  26. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  27. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  28. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  29. +
+
+ + + + +
+ +
+
+

Inherited from JFXApp

+
+

Inherited from DelayedInit

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/main/index.html b/docs/scaladoc/it/unibo/osmos/redux/main/index.html new file mode 100644 index 00000000..abcb8b44 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/main/index.html @@ -0,0 +1,319 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.main + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
p
+

it.unibo.osmos.redux

+

main + + + +

+ +
+ +

+ + + package + + + main + +

+ + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. + +
+
+ +
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + + object + + + AppLauncher extends JFXApp + + +

    Application entry point.

    +
  2. +
+
+ + + + +
+ +
+ + +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/controller/Controller.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/controller/Controller.html new file mode 100644 index 00000000..8539ffb9 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/controller/Controller.html @@ -0,0 +1,787 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.controller.Controller + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.mvc.controller

+

Controller + + + +

+

+
+ +

+ + + trait + + + Controller extends AnyRef + +

+ + +

Controller base trait +

+ + Linear Supertypes + +
AnyRef, Any
+
+ + Known Subclasses + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. Controller
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + getCustomLevels: List[String] + + + +
  2. + + + + + + + + abstract + def + + + initCustomLevel(levelContext: LevelContext, chosenLevel: String, isSimulation: Boolean): Unit + + + +
  3. + + + + + + + + abstract + def + + + initLevel(levelContext: LevelContext, chosenLevel: Int, isSimulation: Boolean): Unit + + + +
  4. + + + + + + + + abstract + def + + + pauseLevel(): Unit + + + +
  5. + + + + + + + + abstract + def + + + resumeLevel(): Unit + + + +
  6. + + + + + + + + abstract + def + + + startLevel(): Unit + + + +
  7. + + + + + + + + abstract + def + + + stopLevel(): Unit + + + +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + getSinglePlayerLevels: List[(Int, Boolean)] + + + +
  11. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  13. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  14. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/controller/ControllerImpl.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/controller/ControllerImpl.html new file mode 100644 index 00000000..f7a74bf8 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/controller/ControllerImpl.html @@ -0,0 +1,772 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.controller.ControllerImpl + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.mvc.controller

+

ControllerImpl + + + +

+

+
+ +

+ + + case class + + + ControllerImpl() extends Controller with Product with Serializable + +

+ + +
+ + Linear Supertypes + +
Serializable, Serializable, Product, Equals, Controller, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. ControllerImpl
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. Controller
  7. AnyRef
  8. Any
  9. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + ControllerImpl() + + + +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + + var + + + engine: Option[GameEngine] + + + +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + getCustomLevels: List[String] + + +
    Definition Classes
    ControllerImplController
    +
  11. + + + + + + + + + def + + + getSinglePlayerLevels: List[(Int, Boolean)] + + +
    Definition Classes
    Controller
    +
  12. + + + + + + + + + def + + + initCustomLevel(levelContext: LevelContext, chosenLevel: String, isSimulation: Boolean): Unit + + +
    Definition Classes
    ControllerImplController
    +
  13. + + + + + + + + + def + + + initLevel(levelContext: LevelContext, chosenLevel: Int, isSimulation: Boolean): Unit + + +
    Definition Classes
    ControllerImplController
    +
  14. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  15. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  17. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  18. + + + + + + + + + def + + + pauseLevel(): Unit + + +
    Definition Classes
    ControllerImplController
    +
  19. + + + + + + + + + def + + + resumeLevel(): Unit + + +
    Definition Classes
    ControllerImplController
    +
  20. + + + + + + + + + def + + + startLevel(): Unit + + +
    Definition Classes
    ControllerImplController
    +
  21. + + + + + + + + + def + + + stopLevel(): Unit + + +
    Definition Classes
    ControllerImplController
    +
  22. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  23. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  24. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  25. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  26. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from Controller

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/controller/FileManager$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/controller/FileManager$.html new file mode 100644 index 00000000..f5ffdc47 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/controller/FileManager$.html @@ -0,0 +1,972 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.controller.FileManager + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.mvc.controller

+

FileManager + + + +

+

+
+ +

+ + + object + + + FileManager + +

+ + +
+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. FileManager
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + + def + + + createDirectoriesTree(file: File): Boolean + + + +
  7. + + + + + + + + + def + + + customLevelsFilesName: List[String] + + + +
  8. + + + + + + + + + val + + + defaultFS: FileSystem + + + +
  9. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  10. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  11. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  12. + + + + + + + + + val + + + gameDirectory: String + + + +
  13. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  14. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  16. + + + + + + + + + val + + + jsonExtension: String + + + +
  17. + + + + + + + + + val + + + levelStartPath: String + + + +
  18. + + + + + + + + + val + + + levelsDirectory: String + + + +
  19. + + + + + + + + + def + + + loadCustomLevel(fileName: String): Option[Level] + + +

    Load level from file saved into user home directory

    Load level from file saved into user home directory

    fileName

    the name of file

    returns

    an option with the required level if it doesn't fail

    +
  20. + + + + + + + + + def + + + loadFile(filePath: String): Option[String] + + + +
  21. + + + + + + + + + def + + + loadResource(isSimulation: Boolean, chosenLevel: Int): Try[Level] + + +

    Reads a file from the resources folder +

    Reads a file from the resources folder +

    isSimulation

    if i have to load a simulation or a playable levels

    chosenLevel

    levels id

    returns

    content of file wrapped into a Try

    +
  22. + + + + + + + + + def + + + loadUserProgress(): Option[UserStat] + + + +
  23. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  24. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  25. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  26. + + + + + + + + + def + + + saveLevel(level: Level, fileName: String): Option[Path] + + +

    Save a level on file

    Save a level on file

    level

    the level to save

    fileName

    the file name

    returns

    option with the file path if it doesn't fail

    +
  27. + + + + + + + + + def + + + saveToFile(file: File, text: String): Boolean + + + +
  28. + + + + + + + + + def + + + saveUserProgress(userProgress: UserStat): Option[Path] + + + +
  29. + + + + + + + + + val + + + separator: String + + + +
  30. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  31. + + + + + + + + + val + + + systemSeparator: String + + + +
  32. + + + + + + + + + def + + + textToLevel(text: String): Try[Level] + + +

    Convert a json string into a Level

    Convert a json string into a Level

    text

    json string

    returns

    Try with Level if it doesn't fail

    +
  33. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  34. + + + + + + + + + val + + + userHome: String + + + +
  35. + + + + + + + + + val + + + userProgressDirectory: String + + + +
  36. + + + + + + + + + val + + + userProgressFileName: String + + + +
  37. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  38. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  39. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  40. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/controller/index.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/controller/index.html new file mode 100644 index 00000000..562aae6b --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/controller/index.html @@ -0,0 +1,363 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.controller + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
p
+

it.unibo.osmos.redux.mvc

+

controller + + + +

+ +
+ +

+ + + package + + + controller + +

+ + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. + +
+
+ +
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + +
+

Type Members

+
  1. + + + + + + + + + trait + + + Controller extends AnyRef + + +

    Controller base trait +

    +
  2. + + + + + + + + + case class + + + ControllerImpl() extends Controller with Product with Serializable + + + +
+
+ + + +
+

Value Members

+
    +
  1. + + + + + + + + + object + + + FileManager + + + +
  2. +
+
+ + + + +
+ +
+ + +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/index.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/index.html new file mode 100644 index 00000000..d5ed0afe --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/index.html @@ -0,0 +1,318 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
p
+

it.unibo.osmos.redux

+

mvc + + + +

+ +
+ +

+ + + package + + + mvc + +

+ + +
+ + + + +
+
+ + + + + + + + + + + +
+ +
+ + +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/model/CellType$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/CellType$.html new file mode 100644 index 00000000..8bce3e63 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/CellType$.html @@ -0,0 +1,743 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.model.CellType + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.mvc.model

+

CellType + + + +

+

+
+ +

+ + + object + + + CellType + +

+ + +

List of cell types +

+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. CellType
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + val + + + basicCell: String + + + +
  6. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  9. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  10. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + + val + + + gravityCell: String + + + +
  12. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  13. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  14. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  15. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  16. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  17. + + + + + + + + + val + + + playerCell: String + + + +
  18. + + + + + + + + + val + + + sentientCell: String + + + +
  19. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  20. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  21. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  22. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  23. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  24. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/model/CollisionRules$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/CollisionRules$.html new file mode 100644 index 00000000..e726305b --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/CollisionRules$.html @@ -0,0 +1,950 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.model.CollisionRules + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.mvc.model

+

CollisionRules + + + +

+

+
+ +

+ + + object + + + CollisionRules extends Enumeration + +

+ + +

Map edges collision rules +

+ + Linear Supertypes + +
Enumeration, Serializable, Serializable, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. CollisionRules
  2. Enumeration
  3. Serializable
  4. Serializable
  5. AnyRef
  6. Any
  7. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + +
+

Type Members

+
  1. + + + + + + + + + class + + + Val extends Value with Serializable + + +
    Attributes
    protected
    Definition Classes
    Enumeration
    Annotations
    + @SerialVersionUID() + +
    +
  2. + + + + + + + + abstract + class + + + Value extends Ordered[Value] with Serializable + + +
    Definition Classes
    Enumeration
    Annotations
    + @SerialVersionUID() + +
    +
  3. + + + + + + + + + class + + + ValueSet extends AbstractSet[Value] with SortedSet[Value] with SortedSetLike[Value, ValueSet] with Serializable + + +
    Definition Classes
    Enumeration
    +
+
+ + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + Value(i: Int, name: String): Value + + +
    Attributes
    protected
    Definition Classes
    Enumeration
    +
  5. + + + + + + + + final + def + + + Value(name: String): Value + + +
    Attributes
    protected
    Definition Classes
    Enumeration
    +
  6. + + + + + + + + final + def + + + Value(i: Int): Value + + +
    Attributes
    protected
    Definition Classes
    Enumeration
    +
  7. + + + + + + + + final + def + + + Value: Value + + +
    Attributes
    protected
    Definition Classes
    Enumeration
    +
  8. + + + + + + + + final + def + + + apply(x: Int): Value + + +
    Definition Classes
    Enumeration
    +
  9. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  10. + + + + + + + + + val + + + bouncing: Value + + + +
  11. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  12. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  14. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  15. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  16. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  17. + + + + + + + + + val + + + instantDeath: Value + + + +
  18. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  19. + + + + + + + + final + def + + + maxId: Int + + +
    Definition Classes
    Enumeration
    +
  20. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  21. + + + + + + + + + var + + + nextId: Int + + +
    Attributes
    protected
    Definition Classes
    Enumeration
    +
  22. + + + + + + + + + var + + + nextName: Iterator[String] + + +
    Attributes
    protected
    Definition Classes
    Enumeration
    +
  23. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  24. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  25. + + + + + + + + + def + + + readResolve(): AnyRef + + +
    Attributes
    protected
    Definition Classes
    Enumeration
    +
  26. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  27. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    Enumeration → AnyRef → Any
    +
  28. + + + + + + + + + def + + + values: ValueSet + + +
    Definition Classes
    Enumeration
    +
  29. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  30. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  31. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  32. + + + + + + + + final + def + + + withName(s: String): Value + + +
    Definition Classes
    Enumeration
    +
  33. +
+
+ + + + +
+ +
+
+

Inherited from Enumeration

+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$AccelerationFormatter$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$AccelerationFormatter$.html new file mode 100644 index 00000000..90ef83e8 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$AccelerationFormatter$.html @@ -0,0 +1,768 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.model.JsonProtocols.AccelerationFormatter + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.mvc.model.JsonProtocols

+

AccelerationFormatter + + + +

+

+
+ +

+ + implicit + object + + + AccelerationFormatter extends RootJsonFormat[AccelerationComponent] + +

+ + +
+ + Linear Supertypes + +
RootJsonFormat[AccelerationComponent], RootJsonWriter[AccelerationComponent], RootJsonReader[AccelerationComponent], JsonFormat[AccelerationComponent], JsonWriter[AccelerationComponent], JsonReader[AccelerationComponent], AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. AccelerationFormatter
  2. RootJsonFormat
  3. RootJsonWriter
  4. RootJsonReader
  5. JsonFormat
  6. JsonWriter
  7. JsonReader
  8. AnyRef
  9. Any
  10. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + + def + + + read(value: JsValue): AccelerationComponent + + +
    Definition Classes
    AccelerationFormatter → JsonReader
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. + + + + + + + + + def + + + write(acceleration: AccelerationComponent): JsObject + + +
    Definition Classes
    AccelerationFormatter → JsonWriter
    +
  22. +
+
+ + + + +
+ +
+
+

Inherited from RootJsonFormat[AccelerationComponent]

+
+

Inherited from RootJsonWriter[AccelerationComponent]

+
+

Inherited from RootJsonReader[AccelerationComponent]

+
+

Inherited from JsonFormat[AccelerationComponent]

+
+

Inherited from JsonWriter[AccelerationComponent]

+
+

Inherited from JsonReader[AccelerationComponent]

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$CellEntityFormatter$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$CellEntityFormatter$.html new file mode 100644 index 00000000..f5057465 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$CellEntityFormatter$.html @@ -0,0 +1,768 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.model.JsonProtocols.CellEntityFormatter + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.mvc.model.JsonProtocols

+

CellEntityFormatter + + + +

+

+
+ +

+ + implicit + object + + + CellEntityFormatter extends RootJsonFormat[CellEntity] + +

+ + +
+ + Linear Supertypes + +
RootJsonFormat[CellEntity], RootJsonWriter[CellEntity], RootJsonReader[CellEntity], JsonFormat[CellEntity], JsonWriter[CellEntity], JsonReader[CellEntity], AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. CellEntityFormatter
  2. RootJsonFormat
  3. RootJsonWriter
  4. RootJsonReader
  5. JsonFormat
  6. JsonWriter
  7. JsonReader
  8. AnyRef
  9. Any
  10. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + + def + + + read(value: JsValue): CellEntity + + +
    Definition Classes
    CellEntityFormatter → JsonReader
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. + + + + + + + + + def + + + write(cellEntity: CellEntity): JsValue + + +
    Definition Classes
    CellEntityFormatter → JsonWriter
    +
  22. +
+
+ + + + +
+ +
+
+

Inherited from RootJsonFormat[CellEntity]

+
+

Inherited from RootJsonWriter[CellEntity]

+
+

Inherited from RootJsonReader[CellEntity]

+
+

Inherited from JsonFormat[CellEntity]

+
+

Inherited from JsonWriter[CellEntity]

+
+

Inherited from JsonReader[CellEntity]

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$CollidableFormatter$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$CollidableFormatter$.html new file mode 100644 index 00000000..c513c11f --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$CollidableFormatter$.html @@ -0,0 +1,768 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.model.JsonProtocols.CollidableFormatter + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.mvc.model.JsonProtocols

+

CollidableFormatter + + + +

+

+
+ +

+ + implicit + object + + + CollidableFormatter extends RootJsonFormat[CollidableComponent] + +

+ + +
+ + Linear Supertypes + +
RootJsonFormat[CollidableComponent], RootJsonWriter[CollidableComponent], RootJsonReader[CollidableComponent], JsonFormat[CollidableComponent], JsonWriter[CollidableComponent], JsonReader[CollidableComponent], AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. CollidableFormatter
  2. RootJsonFormat
  3. RootJsonWriter
  4. RootJsonReader
  5. JsonFormat
  6. JsonWriter
  7. JsonReader
  8. AnyRef
  9. Any
  10. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + + def + + + read(value: JsValue): CollidableComponent + + +
    Definition Classes
    CollidableFormatter → JsonReader
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. + + + + + + + + + def + + + write(collidable: CollidableComponent): JsObject + + +
    Definition Classes
    CollidableFormatter → JsonWriter
    +
  22. +
+
+ + + + +
+ +
+
+

Inherited from RootJsonFormat[CollidableComponent]

+
+

Inherited from RootJsonWriter[CollidableComponent]

+
+

Inherited from RootJsonReader[CollidableComponent]

+
+

Inherited from JsonFormat[CollidableComponent]

+
+

Inherited from JsonWriter[CollidableComponent]

+
+

Inherited from JsonReader[CollidableComponent]

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$ComponentTypeFormatter$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$ComponentTypeFormatter$.html new file mode 100644 index 00000000..d929174b --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$ComponentTypeFormatter$.html @@ -0,0 +1,768 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.model.JsonProtocols.ComponentTypeFormatter + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.mvc.model.JsonProtocols

+

ComponentTypeFormatter + + + +

+

+
+ +

+ + implicit + object + + + ComponentTypeFormatter extends RootJsonFormat[TypeComponent] + +

+ + +
+ + Linear Supertypes + +
RootJsonFormat[TypeComponent], RootJsonWriter[TypeComponent], RootJsonReader[TypeComponent], JsonFormat[TypeComponent], JsonWriter[TypeComponent], JsonReader[TypeComponent], AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. ComponentTypeFormatter
  2. RootJsonFormat
  3. RootJsonWriter
  4. RootJsonReader
  5. JsonFormat
  6. JsonWriter
  7. JsonReader
  8. AnyRef
  9. Any
  10. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + + def + + + read(value: JsValue): TypeComponent + + +
    Definition Classes
    ComponentTypeFormatter → JsonReader
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. + + + + + + + + + def + + + write(entityType: TypeComponent): JsObject + + +
    Definition Classes
    ComponentTypeFormatter → JsonWriter
    +
  22. +
+
+ + + + +
+ +
+
+

Inherited from RootJsonFormat[TypeComponent]

+
+

Inherited from RootJsonWriter[TypeComponent]

+
+

Inherited from RootJsonReader[TypeComponent]

+
+

Inherited from JsonFormat[TypeComponent]

+
+

Inherited from JsonWriter[TypeComponent]

+
+

Inherited from JsonReader[TypeComponent]

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$DimensionFormatter$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$DimensionFormatter$.html new file mode 100644 index 00000000..efb2de1c --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$DimensionFormatter$.html @@ -0,0 +1,768 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.model.JsonProtocols.DimensionFormatter + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.mvc.model.JsonProtocols

+

DimensionFormatter + + + +

+

+
+ +

+ + implicit + object + + + DimensionFormatter extends RootJsonFormat[DimensionComponent] + +

+ + +
+ + Linear Supertypes + +
RootJsonFormat[DimensionComponent], RootJsonWriter[DimensionComponent], RootJsonReader[DimensionComponent], JsonFormat[DimensionComponent], JsonWriter[DimensionComponent], JsonReader[DimensionComponent], AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. DimensionFormatter
  2. RootJsonFormat
  3. RootJsonWriter
  4. RootJsonReader
  5. JsonFormat
  6. JsonWriter
  7. JsonReader
  8. AnyRef
  9. Any
  10. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + + def + + + read(value: JsValue): DimensionComponent + + +
    Definition Classes
    DimensionFormatter → JsonReader
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. + + + + + + + + + def + + + write(dimension: DimensionComponent): JsObject + + +
    Definition Classes
    DimensionFormatter → JsonWriter
    +
  22. +
+
+ + + + +
+ +
+
+

Inherited from RootJsonFormat[DimensionComponent]

+
+

Inherited from RootJsonWriter[DimensionComponent]

+
+

Inherited from RootJsonReader[DimensionComponent]

+
+

Inherited from JsonFormat[DimensionComponent]

+
+

Inherited from JsonWriter[DimensionComponent]

+
+

Inherited from JsonReader[DimensionComponent]

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$EntityTypeFormatter$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$EntityTypeFormatter$.html new file mode 100644 index 00000000..f6b93af7 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$EntityTypeFormatter$.html @@ -0,0 +1,768 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.model.JsonProtocols.EntityTypeFormatter + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.mvc.model.JsonProtocols

+

EntityTypeFormatter + + + +

+

+
+ +

+ + implicit + object + + + EntityTypeFormatter extends RootJsonFormat[ecs.components.EntityType.Value] + +

+ + +
+ + Linear Supertypes + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. EntityTypeFormatter
  2. RootJsonFormat
  3. RootJsonWriter
  4. RootJsonReader
  5. JsonFormat
  6. JsonWriter
  7. JsonReader
  8. AnyRef
  9. Any
  10. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + + def + + + read(value: JsValue): ecs.components.EntityType.Value + + +
    Definition Classes
    EntityTypeFormatter → JsonReader
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. + + + + + + + + + def + + + write(entityType: ecs.components.EntityType.Value): JsObject + + +
    Definition Classes
    EntityTypeFormatter → JsonWriter
    +
  22. +
+
+ + + + +
+ +
+
+

Inherited from RootJsonFormat[ecs.components.EntityType.Value]

+
+

Inherited from RootJsonWriter[ecs.components.EntityType.Value]

+
+

Inherited from RootJsonReader[ecs.components.EntityType.Value]

+
+

Inherited from JsonFormat[ecs.components.EntityType.Value]

+
+

Inherited from JsonWriter[ecs.components.EntityType.Value]

+
+

Inherited from JsonReader[ecs.components.EntityType.Value]

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$GravityCellEntityFormatter$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$GravityCellEntityFormatter$.html new file mode 100644 index 00000000..97823e0c --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$GravityCellEntityFormatter$.html @@ -0,0 +1,768 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.model.JsonProtocols.GravityCellEntityFormatter + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.mvc.model.JsonProtocols

+

GravityCellEntityFormatter + + + +

+

+
+ +

+ + implicit + object + + + GravityCellEntityFormatter extends RootJsonFormat[GravityCellEntity] + +

+ + +
+ + Linear Supertypes + +
RootJsonFormat[GravityCellEntity], RootJsonWriter[GravityCellEntity], RootJsonReader[GravityCellEntity], JsonFormat[GravityCellEntity], JsonWriter[GravityCellEntity], JsonReader[GravityCellEntity], AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. GravityCellEntityFormatter
  2. RootJsonFormat
  3. RootJsonWriter
  4. RootJsonReader
  5. JsonFormat
  6. JsonWriter
  7. JsonReader
  8. AnyRef
  9. Any
  10. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + + def + + + read(value: JsValue): GravityCellEntity + + +
    Definition Classes
    GravityCellEntityFormatter → JsonReader
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. + + + + + + + + + def + + + write(gravityCell: GravityCellEntity): JsObject + + +
    Definition Classes
    GravityCellEntityFormatter → JsonWriter
    +
  22. +
+
+ + + + +
+ +
+
+

Inherited from RootJsonFormat[GravityCellEntity]

+
+

Inherited from RootJsonWriter[GravityCellEntity]

+
+

Inherited from RootJsonReader[GravityCellEntity]

+
+

Inherited from JsonFormat[GravityCellEntity]

+
+

Inherited from JsonWriter[GravityCellEntity]

+
+

Inherited from JsonReader[GravityCellEntity]

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$LevelMapFormatter$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$LevelMapFormatter$.html new file mode 100644 index 00000000..bf389b34 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$LevelMapFormatter$.html @@ -0,0 +1,768 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.model.JsonProtocols.LevelMapFormatter + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.mvc.model.JsonProtocols

+

LevelMapFormatter + + + +

+

+
+ +

+ + implicit + object + + + LevelMapFormatter extends RootJsonFormat[LevelMap] + +

+ + +
+ + Linear Supertypes + +
RootJsonFormat[LevelMap], RootJsonWriter[LevelMap], RootJsonReader[LevelMap], JsonFormat[LevelMap], JsonWriter[LevelMap], JsonReader[LevelMap], AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. LevelMapFormatter
  2. RootJsonFormat
  3. RootJsonWriter
  4. RootJsonReader
  5. JsonFormat
  6. JsonWriter
  7. JsonReader
  8. AnyRef
  9. Any
  10. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + + def + + + read(value: JsValue): LevelMap + + +
    Definition Classes
    LevelMapFormatter → JsonReader
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. + + + + + + + + + def + + + write(levelMap: LevelMap): JsObject + + +
    Definition Classes
    LevelMapFormatter → JsonWriter
    +
  22. +
+
+ + + + +
+ +
+
+

Inherited from RootJsonFormat[LevelMap]

+
+

Inherited from RootJsonWriter[LevelMap]

+
+

Inherited from RootJsonReader[LevelMap]

+
+

Inherited from JsonFormat[LevelMap]

+
+

Inherited from JsonWriter[LevelMap]

+
+

Inherited from JsonReader[LevelMap]

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$MapShapeFormatter$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$MapShapeFormatter$.html new file mode 100644 index 00000000..b7d59b93 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$MapShapeFormatter$.html @@ -0,0 +1,768 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.model.JsonProtocols.MapShapeFormatter + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.mvc.model.JsonProtocols

+

MapShapeFormatter + + + +

+

+
+ +

+ + implicit + object + + + MapShapeFormatter extends RootJsonFormat[MapShape] + +

+ + +
+ + Linear Supertypes + +
RootJsonFormat[MapShape], RootJsonWriter[MapShape], RootJsonReader[MapShape], JsonFormat[MapShape], JsonWriter[MapShape], JsonReader[MapShape], AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. MapShapeFormatter
  2. RootJsonFormat
  3. RootJsonWriter
  4. RootJsonReader
  5. JsonFormat
  6. JsonWriter
  7. JsonReader
  8. AnyRef
  9. Any
  10. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + + def + + + read(value: JsValue): MapShape + + +
    Definition Classes
    MapShapeFormatter → JsonReader
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. + + + + + + + + + def + + + write(mapShape: MapShape): JsObject + + +
    Definition Classes
    MapShapeFormatter → JsonWriter
    +
  22. +
+
+ + + + +
+ +
+
+

Inherited from RootJsonFormat[MapShape]

+
+

Inherited from RootJsonWriter[MapShape]

+
+

Inherited from RootJsonReader[MapShape]

+
+

Inherited from JsonFormat[MapShape]

+
+

Inherited from JsonWriter[MapShape]

+
+

Inherited from JsonReader[MapShape]

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$PlayerCellEntityFormatter$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$PlayerCellEntityFormatter$.html new file mode 100644 index 00000000..9c2dcd8a --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$PlayerCellEntityFormatter$.html @@ -0,0 +1,768 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.model.JsonProtocols.PlayerCellEntityFormatter + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.mvc.model.JsonProtocols

+

PlayerCellEntityFormatter + + + +

+

+
+ +

+ + implicit + object + + + PlayerCellEntityFormatter extends RootJsonFormat[PlayerCellEntity] + +

+ + +
+ + Linear Supertypes + +
RootJsonFormat[PlayerCellEntity], RootJsonWriter[PlayerCellEntity], RootJsonReader[PlayerCellEntity], JsonFormat[PlayerCellEntity], JsonWriter[PlayerCellEntity], JsonReader[PlayerCellEntity], AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. PlayerCellEntityFormatter
  2. RootJsonFormat
  3. RootJsonWriter
  4. RootJsonReader
  5. JsonFormat
  6. JsonWriter
  7. JsonReader
  8. AnyRef
  9. Any
  10. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + + def + + + read(value: JsValue): PlayerCellEntity + + +
    Definition Classes
    PlayerCellEntityFormatter → JsonReader
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. + + + + + + + + + def + + + write(playerCell: PlayerCellEntity): JsObject + + +
    Definition Classes
    PlayerCellEntityFormatter → JsonWriter
    +
  22. +
+
+ + + + +
+ +
+
+

Inherited from RootJsonFormat[PlayerCellEntity]

+
+

Inherited from RootJsonWriter[PlayerCellEntity]

+
+

Inherited from RootJsonReader[PlayerCellEntity]

+
+

Inherited from JsonFormat[PlayerCellEntity]

+
+

Inherited from JsonWriter[PlayerCellEntity]

+
+

Inherited from JsonReader[PlayerCellEntity]

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$PointFormatter$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$PointFormatter$.html new file mode 100644 index 00000000..502d10e3 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$PointFormatter$.html @@ -0,0 +1,768 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.model.JsonProtocols.PointFormatter + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.mvc.model.JsonProtocols

+

PointFormatter + + + +

+

+
+ +

+ + implicit + object + + + PointFormatter extends RootJsonFormat[Point] + +

+ + +
+ + Linear Supertypes + +
RootJsonFormat[Point], RootJsonWriter[Point], RootJsonReader[Point], JsonFormat[Point], JsonWriter[Point], JsonReader[Point], AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. PointFormatter
  2. RootJsonFormat
  3. RootJsonWriter
  4. RootJsonReader
  5. JsonFormat
  6. JsonWriter
  7. JsonReader
  8. AnyRef
  9. Any
  10. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + + def + + + read(value: JsValue): Point + + +
    Definition Classes
    PointFormatter → JsonReader
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. + + + + + + + + + def + + + write(point: Point): JsObject + + +
    Definition Classes
    PointFormatter → JsonWriter
    +
  22. +
+
+ + + + +
+ +
+
+

Inherited from RootJsonFormat[Point]

+
+

Inherited from RootJsonWriter[Point]

+
+

Inherited from RootJsonReader[Point]

+
+

Inherited from JsonFormat[Point]

+
+

Inherited from JsonWriter[Point]

+
+

Inherited from JsonReader[Point]

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$PositionFormatter$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$PositionFormatter$.html new file mode 100644 index 00000000..b4900853 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$PositionFormatter$.html @@ -0,0 +1,768 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.model.JsonProtocols.PositionFormatter + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.mvc.model.JsonProtocols

+

PositionFormatter + + + +

+

+
+ +

+ + implicit + object + + + PositionFormatter extends RootJsonFormat[PositionComponent] + +

+ + +
+ + Linear Supertypes + +
RootJsonFormat[PositionComponent], RootJsonWriter[PositionComponent], RootJsonReader[PositionComponent], JsonFormat[PositionComponent], JsonWriter[PositionComponent], JsonReader[PositionComponent], AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. PositionFormatter
  2. RootJsonFormat
  3. RootJsonWriter
  4. RootJsonReader
  5. JsonFormat
  6. JsonWriter
  7. JsonReader
  8. AnyRef
  9. Any
  10. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + + def + + + read(value: JsValue): PositionComponent + + +
    Definition Classes
    PositionFormatter → JsonReader
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. + + + + + + + + + def + + + write(position: PositionComponent): JsObject + + +
    Definition Classes
    PositionFormatter → JsonWriter
    +
  22. +
+
+ + + + +
+ +
+
+

Inherited from RootJsonFormat[PositionComponent]

+
+

Inherited from RootJsonWriter[PositionComponent]

+
+

Inherited from RootJsonReader[PositionComponent]

+
+

Inherited from JsonFormat[PositionComponent]

+
+

Inherited from JsonWriter[PositionComponent]

+
+

Inherited from JsonReader[PositionComponent]

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$SentientCellEntityFormatter$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$SentientCellEntityFormatter$.html new file mode 100644 index 00000000..40d8c16d --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$SentientCellEntityFormatter$.html @@ -0,0 +1,768 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.model.JsonProtocols.SentientCellEntityFormatter + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.mvc.model.JsonProtocols

+

SentientCellEntityFormatter + + + +

+

+
+ +

+ + implicit + object + + + SentientCellEntityFormatter extends RootJsonFormat[SentientCellEntity] + +

+ + +
+ + Linear Supertypes + +
RootJsonFormat[SentientCellEntity], RootJsonWriter[SentientCellEntity], RootJsonReader[SentientCellEntity], JsonFormat[SentientCellEntity], JsonWriter[SentientCellEntity], JsonReader[SentientCellEntity], AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. SentientCellEntityFormatter
  2. RootJsonFormat
  3. RootJsonWriter
  4. RootJsonReader
  5. JsonFormat
  6. JsonWriter
  7. JsonReader
  8. AnyRef
  9. Any
  10. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + + def + + + read(value: JsValue): SentientCellEntity + + +
    Definition Classes
    SentientCellEntityFormatter → JsonReader
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. + + + + + + + + + def + + + write(sentientCell: SentientCellEntity): JsObject + + +
    Definition Classes
    SentientCellEntityFormatter → JsonWriter
    +
  22. +
+
+ + + + +
+ +
+
+

Inherited from RootJsonFormat[SentientCellEntity]

+
+

Inherited from RootJsonWriter[SentientCellEntity]

+
+

Inherited from RootJsonReader[SentientCellEntity]

+
+

Inherited from JsonFormat[SentientCellEntity]

+
+

Inherited from JsonWriter[SentientCellEntity]

+
+

Inherited from JsonReader[SentientCellEntity]

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$SpawnerFormatter$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$SpawnerFormatter$.html new file mode 100644 index 00000000..34a2eda6 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$SpawnerFormatter$.html @@ -0,0 +1,768 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.model.JsonProtocols.SpawnerFormatter + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.mvc.model.JsonProtocols

+

SpawnerFormatter + + + +

+

+
+ +

+ + implicit + object + + + SpawnerFormatter extends RootJsonFormat[SpawnerComponent] + +

+ + +
+ + Linear Supertypes + +
RootJsonFormat[SpawnerComponent], RootJsonWriter[SpawnerComponent], RootJsonReader[SpawnerComponent], JsonFormat[SpawnerComponent], JsonWriter[SpawnerComponent], JsonReader[SpawnerComponent], AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. SpawnerFormatter
  2. RootJsonFormat
  3. RootJsonWriter
  4. RootJsonReader
  5. JsonFormat
  6. JsonWriter
  7. JsonReader
  8. AnyRef
  9. Any
  10. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + + def + + + read(value: JsValue): SpawnerComponent + + +
    Definition Classes
    SpawnerFormatter → JsonReader
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. + + + + + + + + + def + + + write(spawner: SpawnerComponent): JsObject + + +
    Definition Classes
    SpawnerFormatter → JsonWriter
    +
  22. +
+
+ + + + +
+ +
+
+

Inherited from RootJsonFormat[SpawnerComponent]

+
+

Inherited from RootJsonWriter[SpawnerComponent]

+
+

Inherited from RootJsonReader[SpawnerComponent]

+
+

Inherited from JsonFormat[SpawnerComponent]

+
+

Inherited from JsonWriter[SpawnerComponent]

+
+

Inherited from JsonReader[SpawnerComponent]

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$SpeedFormatter$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$SpeedFormatter$.html new file mode 100644 index 00000000..be9f67d1 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$SpeedFormatter$.html @@ -0,0 +1,768 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.model.JsonProtocols.SpeedFormatter + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.mvc.model.JsonProtocols

+

SpeedFormatter + + + +

+

+
+ +

+ + implicit + object + + + SpeedFormatter extends RootJsonFormat[SpeedComponent] + +

+ + +
+ + Linear Supertypes + +
RootJsonFormat[SpeedComponent], RootJsonWriter[SpeedComponent], RootJsonReader[SpeedComponent], JsonFormat[SpeedComponent], JsonWriter[SpeedComponent], JsonReader[SpeedComponent], AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. SpeedFormatter
  2. RootJsonFormat
  3. RootJsonWriter
  4. RootJsonReader
  5. JsonFormat
  6. JsonWriter
  7. JsonReader
  8. AnyRef
  9. Any
  10. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + + def + + + read(value: JsValue): SpeedComponent + + +
    Definition Classes
    SpeedFormatter → JsonReader
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. + + + + + + + + + def + + + write(speed: SpeedComponent): JsObject + + +
    Definition Classes
    SpeedFormatter → JsonWriter
    +
  22. +
+
+ + + + +
+ +
+
+

Inherited from RootJsonFormat[SpeedComponent]

+
+

Inherited from RootJsonWriter[SpeedComponent]

+
+

Inherited from RootJsonReader[SpeedComponent]

+
+

Inherited from JsonFormat[SpeedComponent]

+
+

Inherited from JsonWriter[SpeedComponent]

+
+

Inherited from JsonReader[SpeedComponent]

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$VictoryRuleFormatter$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$VictoryRuleFormatter$.html new file mode 100644 index 00000000..6d08d7ce --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$VictoryRuleFormatter$.html @@ -0,0 +1,768 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.model.JsonProtocols.VictoryRuleFormatter + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.mvc.model.JsonProtocols

+

VictoryRuleFormatter + + + +

+

+
+ +

+ + implicit + object + + + VictoryRuleFormatter extends RootJsonFormat[VictoryRules.Value] + +

+ + +
+ + Linear Supertypes + +
RootJsonFormat[VictoryRules.Value], RootJsonWriter[VictoryRules.Value], RootJsonReader[VictoryRules.Value], JsonFormat[VictoryRules.Value], JsonWriter[VictoryRules.Value], JsonReader[VictoryRules.Value], AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. VictoryRuleFormatter
  2. RootJsonFormat
  3. RootJsonWriter
  4. RootJsonReader
  5. JsonFormat
  6. JsonWriter
  7. JsonReader
  8. AnyRef
  9. Any
  10. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + + def + + + read(value: JsValue): VictoryRules.Value + + +
    Definition Classes
    VictoryRuleFormatter → JsonReader
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. + + + + + + + + + def + + + write(vicRule: VictoryRules.Value): JsObject + + +
    Definition Classes
    VictoryRuleFormatter → JsonWriter
    +
  22. +
+
+ + + + +
+ +
+
+

Inherited from RootJsonFormat[VictoryRules.Value]

+
+

Inherited from RootJsonWriter[VictoryRules.Value]

+
+

Inherited from RootJsonReader[VictoryRules.Value]

+
+

Inherited from JsonFormat[VictoryRules.Value]

+
+

Inherited from JsonWriter[VictoryRules.Value]

+
+

Inherited from JsonReader[VictoryRules.Value]

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$VisibleFormatter$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$VisibleFormatter$.html new file mode 100644 index 00000000..0fde4d39 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$$VisibleFormatter$.html @@ -0,0 +1,768 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.model.JsonProtocols.VisibleFormatter + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.mvc.model.JsonProtocols

+

VisibleFormatter + + + +

+

+
+ +

+ + implicit + object + + + VisibleFormatter extends RootJsonFormat[VisibleComponent] + +

+ + +
+ + Linear Supertypes + +
RootJsonFormat[VisibleComponent], RootJsonWriter[VisibleComponent], RootJsonReader[VisibleComponent], JsonFormat[VisibleComponent], JsonWriter[VisibleComponent], JsonReader[VisibleComponent], AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. VisibleFormatter
  2. RootJsonFormat
  3. RootJsonWriter
  4. RootJsonReader
  5. JsonFormat
  6. JsonWriter
  7. JsonReader
  8. AnyRef
  9. Any
  10. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + + def + + + read(value: JsValue): VisibleComponent + + +
    Definition Classes
    VisibleFormatter → JsonReader
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. + + + + + + + + + def + + + write(visible: VisibleComponent): JsObject + + +
    Definition Classes
    VisibleFormatter → JsonWriter
    +
  22. +
+
+ + + + +
+ +
+
+

Inherited from RootJsonFormat[VisibleComponent]

+
+

Inherited from RootJsonWriter[VisibleComponent]

+
+

Inherited from RootJsonReader[VisibleComponent]

+
+

Inherited from JsonFormat[VisibleComponent]

+
+

Inherited from JsonWriter[VisibleComponent]

+
+

Inherited from JsonReader[VisibleComponent]

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$.html new file mode 100644 index 00000000..061daa92 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/JsonProtocols$.html @@ -0,0 +1,1015 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.model.JsonProtocols + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.mvc.model

+

JsonProtocols + + + +

+

+
+ +

+ + + object + + + JsonProtocols + +

+ + +

Json implicit stategies for: convert json to Level or convert Level to json +

+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. JsonProtocols
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + implicit + val + + + drawableWrapperFormatter: RootJsonFormat[DrawableWrapper] + + + +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  9. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  10. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  13. + + + + + + + + implicit + val + + + levelFormatter: RootJsonFormat[Level] + + + +
  14. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  15. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  16. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  17. + + + + + + + + implicit + val + + + specificWeightFormatter: RootJsonFormat[SpecificWeightComponent] + + + +
  18. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  19. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  20. + + + + + + + + implicit + val + + + userProgressFormatter: RootJsonFormat[UserStat] + + + +
  21. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  22. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  23. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  24. + + + + + + + + implicit + object + + + AccelerationFormatter extends RootJsonFormat[AccelerationComponent] + + + +
  25. + + + + + + + + implicit + object + + + CellEntityFormatter extends RootJsonFormat[CellEntity] + + + +
  26. + + + + + + + + implicit + object + + + CollidableFormatter extends RootJsonFormat[CollidableComponent] + + + +
  27. + + + + + + + + implicit + object + + + ComponentTypeFormatter extends RootJsonFormat[TypeComponent] + + + +
  28. + + + + + + + + implicit + object + + + DimensionFormatter extends RootJsonFormat[DimensionComponent] + + + +
  29. + + + + + + + + implicit + object + + + EntityTypeFormatter extends RootJsonFormat[ecs.components.EntityType.Value] + + + +
  30. + + + + + + + + implicit + object + + + GravityCellEntityFormatter extends RootJsonFormat[GravityCellEntity] + + + +
  31. + + + + + + + + implicit + object + + + LevelMapFormatter extends RootJsonFormat[LevelMap] + + + +
  32. + + + + + + + + implicit + object + + + MapShapeFormatter extends RootJsonFormat[MapShape] + + + +
  33. + + + + + + + + implicit + object + + + PlayerCellEntityFormatter extends RootJsonFormat[PlayerCellEntity] + + + +
  34. + + + + + + + + implicit + object + + + PointFormatter extends RootJsonFormat[Point] + + + +
  35. + + + + + + + + implicit + object + + + PositionFormatter extends RootJsonFormat[PositionComponent] + + + +
  36. + + + + + + + + implicit + object + + + SentientCellEntityFormatter extends RootJsonFormat[SentientCellEntity] + + + +
  37. + + + + + + + + implicit + object + + + SpawnerFormatter extends RootJsonFormat[SpawnerComponent] + + + +
  38. + + + + + + + + implicit + object + + + SpeedFormatter extends RootJsonFormat[SpeedComponent] + + + +
  39. + + + + + + + + implicit + object + + + VictoryRuleFormatter extends RootJsonFormat[VictoryRules.Value] + + + +
  40. + + + + + + + + implicit + object + + + VisibleFormatter extends RootJsonFormat[VisibleComponent] + + + +
  41. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/model/Level.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/Level.html new file mode 100644 index 00000000..7768d0ec --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/Level.html @@ -0,0 +1,782 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.model.Level + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.mvc.model

+

Level + + + +

+

+
+ +

+ + + case class + + + Level(levelId: Int, levelMap: LevelMap, entities: List[CellEntity], victoryRule: VictoryRules.Value, isSimulation: Boolean = false) extends Product with Serializable + +

+ + +

Level configuratoin

levelId

level identifier

levelMap

level map

entities

list of level entities

victoryRule

victory rule

isSimulation

if it's a simulation

+ + Linear Supertypes + +
Serializable, Serializable, Product, Equals, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. Level
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
  8. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + Level(levelId: Int, levelMap: LevelMap, entities: List[CellEntity], victoryRule: VictoryRules.Value, isSimulation: Boolean = false) + + +

    levelId

    level identifier

    levelMap

    level map

    entities

    list of level entities

    victoryRule

    victory rule

    isSimulation

    if it's a simulation

    +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + checkCellPosition(): Unit + + + +
  6. + + + + + + + + + def + + + circularMapCheck(circle: Circle): Unit + + + +
  7. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  8. + + + + + + + + + var + + + entities: List[CellEntity] + + + +
  9. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  10. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  11. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  13. + + + + + + + + + var + + + isSimulation: Boolean + + + +
  14. + + + + + + + + + val + + + levelId: Int + + + +
  15. + + + + + + + + + val + + + levelMap: LevelMap + + + +
  16. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  18. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  19. + + + + + + + + + def + + + rectangularMapCheck(rectangle: Rectangle): Unit + + +

    Remove all entities who aren't into map boundary

    Remove all entities who aren't into map boundary

    rectangle

    map shape

    +
  20. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  21. + + + + + + + + + val + + + victoryRule: VictoryRules.Value + + + +
  22. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  23. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  24. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  25. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/model/LevelMap.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/LevelMap.html new file mode 100644 index 00000000..0326d608 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/LevelMap.html @@ -0,0 +1,686 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.model.LevelMap + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.mvc.model

+

LevelMap + + + +

+

+
+ +

+ + + case class + + + LevelMap(mapShape: MapShape, collisionRule: CollisionRules.Value) extends Product with Serializable + +

+ + +

Map of a level

mapShape

map shape

collisionRule

edges collision rule

+ + Linear Supertypes + +
Serializable, Serializable, Product, Equals, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. LevelMap
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
  8. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + LevelMap(mapShape: MapShape, collisionRule: CollisionRules.Value) + + +

    mapShape

    map shape

    collisionRule

    edges collision rule

    +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + + val + + + collisionRule: CollisionRules.Value + + + +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  11. + + + + + + + + + val + + + mapShape: MapShape + + + +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  17. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  19. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/model/MapShape$$Circle.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/MapShape$$Circle.html new file mode 100644 index 00000000..49bf470d --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/MapShape$$Circle.html @@ -0,0 +1,688 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.model.MapShape.Circle + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.mvc.model.MapShape

+

Circle + + + +

+

+
+ +

+ + + case class + + + Circle(center: (Double, Double), radius: Double) extends MapShape with Product with Serializable + +

+ + +

Circular level map

center

center of map

radius

circle radius

+ + Linear Supertypes + +
Serializable, Serializable, Product, Equals, MapShape, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. Circle
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. MapShape
  7. AnyRef
  8. Any
  9. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + Circle(center: (Double, Double), radius: Double) + + +

    center

    center of map

    radius

    circle radius

    +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + val + + + center: (Double, Double) + + +
    Definition Classes
    CircleMapShape
    +
  6. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  11. + + + + + + + + + val + + + mapShape: String + + +
    Definition Classes
    CircleMapShape
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + + val + + + radius: Double + + + +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from MapShape

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/model/MapShape$$Rectangle.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/MapShape$$Rectangle.html new file mode 100644 index 00000000..a4c84e25 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/MapShape$$Rectangle.html @@ -0,0 +1,704 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.model.MapShape.Rectangle + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.mvc.model.MapShape

+

Rectangle + + + +

+

+
+ +

+ + + case class + + + Rectangle(center: (Double, Double), height: Double, base: Double) extends MapShape with Product with Serializable + +

+ + +

Rectangular level map

center

center of map

height

rectangle height

base

rectangle base

+ + Linear Supertypes + +
Serializable, Serializable, Product, Equals, MapShape, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. Rectangle
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. MapShape
  7. AnyRef
  8. Any
  9. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + Rectangle(center: (Double, Double), height: Double, base: Double) + + +

    center

    center of map

    height

    rectangle height

    base

    rectangle base

    +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + val + + + base: Double + + + +
  6. + + + + + + + + + val + + + center: (Double, Double) + + +
    Definition Classes
    RectangleMapShape
    +
  7. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  8. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  9. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  10. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + + val + + + height: Double + + + +
  12. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  13. + + + + + + + + + val + + + mapShape: String + + +
    Definition Classes
    RectangleMapShape
    +
  14. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  15. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  16. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  17. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from MapShape

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/model/MapShape$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/MapShape$.html new file mode 100644 index 00000000..b7de11bb --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/MapShape$.html @@ -0,0 +1,747 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.model.MapShape + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + object + + + MapShape + +

+ + +
+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. MapShape
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + +
+

Type Members

+
  1. + + + + + + + + + case class + + + Circle(center: (Double, Double), radius: Double) extends MapShape with Product with Serializable + + +

    Circular level map

    Circular level map

    center

    center of map

    radius

    circle radius

    +
  2. + + + + + + + + + case class + + + Rectangle(center: (Double, Double), height: Double, base: Double) extends MapShape with Product with Serializable + + +

    Rectangular level map

    Rectangular level map

    center

    center of map

    height

    rectangle height

    base

    rectangle base

    +
+
+ + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + val + + + circle: String + + + +
  6. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  9. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  10. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  13. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  14. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  16. + + + + + + + + + val + + + rectangle: String + + + +
  17. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  18. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  19. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  21. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  22. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/model/MapShape.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/MapShape.html new file mode 100644 index 00000000..8244eb72 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/MapShape.html @@ -0,0 +1,721 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.model.MapShape + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + sealed + trait + + + MapShape extends AnyRef + +

+ + +

Map shape data structure +

+ + Linear Supertypes + +
AnyRef, Any
+
+ + Known Subclasses + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. MapShape
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + val + + + center: (Double, Double) + + + +
  2. + + + + + + + + abstract + val + + + mapShape: String + + + +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/model/Model.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/Model.html new file mode 100644 index 00000000..98ec0ec9 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/Model.html @@ -0,0 +1,679 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.model.Model + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.mvc.model

+

Model + + + +

+

+
+ +

+ + + trait + + + Model extends AnyRef + +

+ + +

Model base trait +

+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. Model
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/model/SinglePlayerLevels$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/SinglePlayerLevels$.html new file mode 100644 index 00000000..608b3241 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/SinglePlayerLevels$.html @@ -0,0 +1,694 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.model.SinglePlayerLevels + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.mvc.model

+

SinglePlayerLevels + + + +

+

+
+ +

+ + + object + + + SinglePlayerLevels + +

+ + +
+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. SinglePlayerLevels
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + + val + + + levels: Map[Int, Boolean] + + + +
  13. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  14. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/model/UserProgress$$UserStat.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/UserProgress$$UserStat.html new file mode 100644 index 00000000..721dd88e --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/UserProgress$$UserStat.html @@ -0,0 +1,650 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.model.UserProgress.UserStat + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.mvc.model.UserProgress

+

UserStat + + + +

+

+
+ +

+ + + case class + + + UserStat(toDoLevel: Int = 1) extends Product with Serializable + +

+ + +
+ + Linear Supertypes + +
Serializable, Serializable, Product, Equals, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. UserStat
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
  8. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + UserStat(toDoLevel: Int = 1) + + + +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  8. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  9. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  10. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  11. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  12. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  13. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  14. + + + + + + + + + val + + + toDoLevel: Int + + + +
  15. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  16. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  17. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  18. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/model/UserProgress$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/UserProgress$.html new file mode 100644 index 00000000..6f5ad6bb --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/UserProgress$.html @@ -0,0 +1,729 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.model.UserProgress + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.mvc.model

+

UserProgress + + + +

+

+
+ +

+ + + object + + + UserProgress + +

+ + +
+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. UserProgress
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + +
+

Type Members

+
  1. + + + + + + + + + case class + + + UserStat(toDoLevel: Int = 1) extends Product with Serializable + + + +
+
+ + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + getUserProgress: Option[UserStat] + + + +
  11. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  13. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  14. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  16. + + + + + + + + + def + + + synchronizeWithFile(userProgress: UserStat): Unit + + + +
  17. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  18. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  19. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  21. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  22. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/model/VictoryRules$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/VictoryRules$.html new file mode 100644 index 00000000..f1de7204 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/VictoryRules$.html @@ -0,0 +1,982 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.model.VictoryRules + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.mvc.model

+

VictoryRules + + + +

+

+
+ +

+ + + object + + + VictoryRules extends Enumeration + +

+ + +

Level victory rules +

+ + Linear Supertypes + +
Enumeration, Serializable, Serializable, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. VictoryRules
  2. Enumeration
  3. Serializable
  4. Serializable
  5. AnyRef
  6. Any
  7. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + +
+

Type Members

+
  1. + + + + + + + + + class + + + Val extends Value with Serializable + + +
    Attributes
    protected
    Definition Classes
    Enumeration
    Annotations
    + @SerialVersionUID() + +
    +
  2. + + + + + + + + abstract + class + + + Value extends Ordered[Value] with Serializable + + +
    Definition Classes
    Enumeration
    Annotations
    + @SerialVersionUID() + +
    +
  3. + + + + + + + + + class + + + ValueSet extends AbstractSet[Value] with SortedSet[Value] with SortedSetLike[Value, ValueSet] with Serializable + + +
    Definition Classes
    Enumeration
    +
+
+ + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + Value(i: Int, name: String): Value + + +
    Attributes
    protected
    Definition Classes
    Enumeration
    +
  5. + + + + + + + + final + def + + + Value(name: String): Value + + +
    Attributes
    protected
    Definition Classes
    Enumeration
    +
  6. + + + + + + + + final + def + + + Value(i: Int): Value + + +
    Attributes
    protected
    Definition Classes
    Enumeration
    +
  7. + + + + + + + + final + def + + + Value: Value + + +
    Attributes
    protected
    Definition Classes
    Enumeration
    +
  8. + + + + + + + + + val + + + absorbTheHostileCells: Value + + + +
  9. + + + + + + + + + val + + + absorbTheRepulsors: Value + + + +
  10. + + + + + + + + final + def + + + apply(x: Int): Value + + +
    Definition Classes
    Enumeration
    +
  11. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + + val + + + becomeHuge: Value + + + +
  13. + + + + + + + + + val + + + becomeTheBiggest: Value + + + +
  14. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  15. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  18. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  19. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  20. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  21. + + + + + + + + final + def + + + maxId: Int + + +
    Definition Classes
    Enumeration
    +
  22. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  23. + + + + + + + + + var + + + nextId: Int + + +
    Attributes
    protected
    Definition Classes
    Enumeration
    +
  24. + + + + + + + + + var + + + nextName: Iterator[String] + + +
    Attributes
    protected
    Definition Classes
    Enumeration
    +
  25. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  26. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  27. + + + + + + + + + def + + + readResolve(): AnyRef + + +
    Attributes
    protected
    Definition Classes
    Enumeration
    +
  28. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  29. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    Enumeration → AnyRef → Any
    +
  30. + + + + + + + + + def + + + values: ValueSet + + +
    Definition Classes
    Enumeration
    +
  31. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  32. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  33. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  34. + + + + + + + + final + def + + + withName(s: String): Value + + +
    Definition Classes
    Enumeration
    +
  35. +
+
+ + + + +
+ +
+
+

Inherited from Enumeration

+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/model/index.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/index.html new file mode 100644 index 00000000..d32df96c --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/model/index.html @@ -0,0 +1,524 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.model + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
p
+

it.unibo.osmos.redux.mvc

+

model + + + +

+ +
+ +

+ + + package + + + model + +

+ + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. + +
+
+ +
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + +
+

Type Members

+
  1. + + + + + + + + + case class + + + Level(levelId: Int, levelMap: LevelMap, entities: List[CellEntity], victoryRule: VictoryRules.Value, isSimulation: Boolean = false) extends Product with Serializable + + +

    Level configuratoin

    Level configuratoin

    levelId

    level identifier

    levelMap

    level map

    entities

    list of level entities

    victoryRule

    victory rule

    isSimulation

    if it's a simulation

    +
  2. + + + + + + + + + case class + + + LevelMap(mapShape: MapShape, collisionRule: CollisionRules.Value) extends Product with Serializable + + +

    Map of a level

    Map of a level

    mapShape

    map shape

    collisionRule

    edges collision rule

    +
  3. + + + + + + + + sealed + trait + + + MapShape extends AnyRef + + +

    Map shape data structure +

    +
  4. + + + + + + + + + trait + + + Model extends AnyRef + + +

    Model base trait +

    +
+
+ + + +
+

Value Members

+
    +
  1. + + + + + + + + + object + + + CellType + + +

    List of cell types +

    +
  2. + + + + + + + + + object + + + CollisionRules extends Enumeration + + +

    Map edges collision rules +

    +
  3. + + + + + + + + + object + + + JsonProtocols + + +

    Json implicit stategies for: convert json to Level or convert Level to json +

    +
  4. + + + + + + + + + object + + + MapShape + + + +
  5. + + + + + + + + + object + + + SinglePlayerLevels + + + +
  6. + + + + + + + + + object + + + UserProgress + + + +
  7. + + + + + + + + + object + + + VictoryRules extends Enumeration + + +

    Level victory rules +

    +
  8. +
+
+ + + + +
+ +
+ + +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/View$$ViewImpl.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/View$$ViewImpl.html new file mode 100644 index 00000000..7808fef1 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/View$$ViewImpl.html @@ -0,0 +1,789 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.View.ViewImpl + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.mvc.view.View

+

ViewImpl + + + +

+

+
+ +

+ + + class + + + ViewImpl extends View with PrimaryStageListener + +

+ + +

View implementation, holding the main stage and the current scene

+ + Linear Supertypes + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. ViewImpl
  2. PrimaryStageListener
  3. LevelSelectionSceneListener
  4. LevelSceneListener
  5. View
  6. AnyRef
  7. Any
  8. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + ViewImpl(app: JFXApp) + + +

    app

    a reference to the JFXApp, necessary to the correct setup of the whole application

    +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + + def + + + onLevelContextCreated(levelContext: LevelContext, level: Int, simulation: Boolean): Unit + + +

    This method called when the level context has been created

    This method called when the level context has been created

    levelContext

    the new level context

    level

    the new level index

    simulation

    true if the new level must be started as a simulation, false otherwise

    Definition Classes
    ViewImplLevelSelectionSceneListener
    +
  16. + + + + + + + + + def + + + onPauseLevel(): Unit + + +

    Called when the level gets paused +

    Called when the level gets paused +

    Definition Classes
    ViewImplLevelSceneListener
    +
  17. + + + + + + + + + def + + + onResumeLevel(): Unit + + +

    Called when the level gets resumed +

    Called when the level gets resumed +

    Definition Classes
    ViewImplLevelSceneListener
    +
  18. + + + + + + + + + def + + + onStartLevel(): Unit + + +

    Called when the level gets started +

    Called when the level gets started +

    Definition Classes
    ViewImplLevelSceneListener
    +
  19. + + + + + + + + + def + + + onStopLevel(): Unit + + +

    Called when the level gets stopped +

    Called when the level gets stopped +

    Definition Classes
    ViewImplLevelSceneListener
    +
  20. + + + + + + + + + def + + + setController(controller: Controller): Unit + + +

    Setter.

    Setter. This method sets the reference to the Controller instance

    controller

    the Controller instance

    Definition Classes
    ViewImplView
    +
  21. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  22. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  23. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  24. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  25. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  26. +
+
+ + + + +
+ +
+
+

Inherited from PrimaryStageListener

+
+

Inherited from LevelSelectionSceneListener

+
+

Inherited from LevelSceneListener

+
+

Inherited from View

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/View$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/View$.html new file mode 100644 index 00000000..78a982b5 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/View$.html @@ -0,0 +1,795 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.View + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.mvc.view

+

View + + + +

+

+ Companion trait View +

+
+ +

+ + + object + + + View + +

+ + +
+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. View
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + +
+

Type Members

+
  1. + + + + + + + + + class + + + ViewImpl extends View with PrimaryStageListener + + +

    View implementation, holding the main stage and the current scene

    +
+
+ + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + def + + + apply(app: JFXApp): View + + + +
  5. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  6. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  9. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  10. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  13. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  14. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/View.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/View.html new file mode 100644 index 00000000..3fc5b0e0 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/View.html @@ -0,0 +1,785 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.View + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.mvc.view

+

View + + + +

+

+ Companion object View +

+
+ +

+ + + trait + + + View extends AnyRef + +

+ + +

View base trait +

+ + Linear Supertypes + +
AnyRef, Any
+
+ + Known Subclasses + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. View
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + setController(controller: Controller): Unit + + +

    Setter.

    Setter. This method sets the reference to the Controller instance

    controller

    the Controller instance

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/ViewConstants$$Entities$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/ViewConstants$$Entities$.html new file mode 100644 index 00000000..10dcc217 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/ViewConstants$$Entities$.html @@ -0,0 +1,744 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.ViewConstants.Entities + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.mvc.view.ViewConstants

+

Entities + + + +

+

+
+ +

+ + + object + + + Entities + +

+ + +
+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. Entities
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + val + + + attractiveCellColor: Color + + + +
  6. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  7. + + + + + + + + + val + + + defaultEntityMaxColor: Color + + + +
  8. + + + + + + + + + val + + + defaultEntityMinColor: Color + + + +
  9. + + + + + + + + + val + + + defaultPlayerColor: Color + + + +
  10. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  11. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  12. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  13. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  14. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  16. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  18. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  19. + + + + + + + + + val + + + repulsiveCellColor: Color + + + +
  20. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  21. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  22. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  23. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  24. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  25. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/ViewConstants$$Window$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/ViewConstants$$Window$.html new file mode 100644 index 00000000..42bd7a9e --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/ViewConstants$$Window$.html @@ -0,0 +1,713 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.ViewConstants.Window + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + object + + + Window + +

+ + +

Window constants +

+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. Window
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + + val + + + defaultWindowHeight: Double + + + +
  7. + + + + + + + + + val + + + defaultWindowTitle: String + + + +
  8. + + + + + + + + + val + + + defaultWindowWidth: Double + + + +
  9. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  10. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  11. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  12. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  13. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  15. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  17. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  18. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  19. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  20. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  21. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  22. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  23. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/ViewConstants$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/ViewConstants$.html new file mode 100644 index 00000000..9edd9d25 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/ViewConstants$.html @@ -0,0 +1,792 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.ViewConstants + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.mvc.view

+

ViewConstants + + + +

+

+
+ +

+ + + object + + + ViewConstants + +

+ + +

View constants +

+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. ViewConstants
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. + + + + + + + + + object + + + Entities + + + +
  21. + + + + + + + + + object + + + Window + + +

    Window constants +

    +
  22. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/LevelNode.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/LevelNode.html new file mode 100644 index 00000000..c2110506 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/LevelNode.html @@ -0,0 +1,5223 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.components.LevelNode + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.mvc.view.components

+

LevelNode + + + +

+

+
+ +

+ + + class + + + LevelNode extends VBox + +

+ + +

This node represents a single selectable level from the menu

+ + Linear Supertypes + +
VBox, AlignmentDelegate[VBox], Pane, Region, Parent, Node, Styleable, SFXDelegate[VBox], EventHandlerDelegate, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. LevelNode
  2. VBox
  3. AlignmentDelegate
  4. Pane
  5. Region
  6. Parent
  7. Node
  8. Styleable
  9. SFXDelegate
  10. EventHandlerDelegate
  11. AnyRef
  12. Any
  13. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + LevelNode(listener: LevelNodeListener, level: Int, available: Boolean) + + +

    listener

    the LevelNodeListener

    level

    the level index

    available

    true if the level is currently available, false otherwise

    +
+
+ +
+

Type Members

+
  1. + + + + + + + + + type + + + EventHandled = AnyRef { ... /* 5 definitions in type refinement */ } + + +
    Definition Classes
    EventHandlerDelegate
    +
  2. + + + + + + + + sealed + trait + + + FilterMagnet[J <: Event, S <: SFXDelegate[J]] extends AnyRef + + +
    Definition Classes
    EventHandlerDelegate
    +
  3. + + + + + + + + sealed + trait + + + HandlerMagnet[J <: Event, S <: SFXDelegate[J]] extends AnyRef + + +
    Definition Classes
    EventHandlerDelegate
    +
+
+ + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + def + + + accessibleHelp: ObjectProperty[String] + + +
    Definition Classes
    Node
    +
  5. + + + + + + + + + def + + + accessibleHelp_=(v: String): Unit + + +
    Definition Classes
    Node
    +
  6. + + + + + + + + + def + + + accessibleRole: ObjectProperty[AccessibleRole] + + +
    Definition Classes
    Node
    +
  7. + + + + + + + + + def + + + accessibleRoleDescription: ObjectProperty[String] + + +
    Definition Classes
    Node
    +
  8. + + + + + + + + + def + + + accessibleRoleDescription_=(v: String): Unit + + +
    Definition Classes
    Node
    +
  9. + + + + + + + + + def + + + accessibleRole_=(v: AccessibleRole): Unit + + +
    Definition Classes
    Node
    +
  10. + + + + + + + + + def + + + accessibleText: ObjectProperty[String] + + +
    Definition Classes
    Node
    +
  11. + + + + + + + + + def + + + accessibleText_=(v: String): Unit + + +
    Definition Classes
    Node
    +
  12. + + + + + + + + + def + + + addEventFilter[E <: Event](eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit + + +
    Definition Classes
    EventHandlerDelegate
    +
  13. + + + + + + + + + def + + + addEventHandler[E <: Event](eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit + + +
    Definition Classes
    EventHandlerDelegate
    +
  14. + + + + + + + + + def + + + alignment: ObjectProperty[Pos] + + +
    Definition Classes
    AlignmentDelegate
    +
  15. + + + + + + + + + def + + + alignmentInParent: Pos + + +
    Definition Classes
    Node
    +
  16. + + + + + + + + + def + + + alignmentInParent_=(p: Pos): Unit + + +
    Definition Classes
    Node
    +
  17. + + + + + + + + + def + + + alignment_=(v: Pos): Unit + + +
    Definition Classes
    AlignmentDelegate
    +
  18. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  19. + + + + + + + + + def + + + autosize(): Unit + + +
    Definition Classes
    Node
    +
  20. + + + + + + + + + val + + + available: Boolean + + + +
  21. + + + + + + + + + def + + + background: ObjectProperty[Background] + + +
    Definition Classes
    Region
    +
  22. + + + + + + + + + def + + + background_=(v: Background): Unit + + +
    Definition Classes
    Region
    +
  23. + + + + + + + + + def + + + baselineOffset: Double + + +
    Definition Classes
    Node
    +
  24. + + + + + + + + + def + + + blendMode: ObjectProperty[BlendMode] + + +
    Definition Classes
    Node
    +
  25. + + + + + + + + + def + + + blendMode_=(v: BlendMode): Unit + + +
    Definition Classes
    Node
    +
  26. + + + + + + + + + def + + + border: ObjectProperty[Border] + + +
    Definition Classes
    Region
    +
  27. + + + + + + + + + def + + + border_=(v: Border): Unit + + +
    Definition Classes
    Region
    +
  28. + + + + + + + + + def + + + boundsInLocal: ReadOnlyObjectProperty[Bounds] + + +
    Definition Classes
    Node
    +
  29. + + + + + + + + + def + + + boundsInParent: ReadOnlyObjectProperty[Bounds] + + +
    Definition Classes
    Node
    +
  30. + + + + + + + + + def + + + buildEventDispatchChain(chain: EventDispatchChain): EventDispatchChain + + +
    Definition Classes
    EventHandlerDelegate
    +
  31. + + + + + + + + + def + + + cache: BooleanProperty + + +
    Definition Classes
    Node
    +
  32. + + + + + + + + + def + + + cacheHint: ObjectProperty[CacheHint] + + +
    Definition Classes
    Node
    +
  33. + + + + + + + + + def + + + cacheHint_=(v: CacheHint): Unit + + +
    Definition Classes
    Node
    +
  34. + + + + + + + + + def + + + cacheShape: BooleanProperty + + +
    Definition Classes
    Region
    +
  35. + + + + + + + + + def + + + cacheShape_=(v: Boolean): Unit + + +
    Definition Classes
    Region
    +
  36. + + + + + + + + + def + + + cache_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  37. + + + + + + + + + def + + + centerShape: BooleanProperty + + +
    Definition Classes
    Region
    +
  38. + + + + + + + + + def + + + centerShape_=(v: Boolean): Unit + + +
    Definition Classes
    Region
    +
  39. + + + + + + + + + def + + + children: ObservableList[Node] + + +
    Definition Classes
    Pane
    +
  40. + + + + + + + + + def + + + children_=(n: Node): Unit + + +
    Definition Classes
    Pane
    +
  41. + + + + + + + + + def + + + children_=(c: Iterable[Node]): Unit + + +
    Definition Classes
    Pane
    +
  42. + + + + + + + + + def + + + clip: ObjectProperty[Node] + + +
    Definition Classes
    Node
    +
  43. + + + + + + + + + def + + + clip_=(v: Node): Unit + + +
    Definition Classes
    Node
    +
  44. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  45. + + + + + + + + + def + + + contains(localPoint: Point2D): Boolean + + +
    Definition Classes
    Node
    +
  46. + + + + + + + + + def + + + contains(localX: Double, localY: Double): Boolean + + +
    Definition Classes
    Node
    +
  47. + + + + + + + + + def + + + contentBias: Orientation + + +
    Definition Classes
    Node
    +
  48. + + + + + + + + + def + + + cssMetaData: Seq[CssMetaData[_ <: Styleable, _]] + + +
    Definition Classes
    Styleable
    +
  49. + + + + + + + + + def + + + cursor: ObjectProperty[Cursor] + + +
    Definition Classes
    Node
    +
  50. + + + + + + + + + def + + + cursor_=(v: Cursor): Unit + + +
    Definition Classes
    Node
    +
  51. + + + + + + + + + val + + + delegate: VBox + + +
    Definition Classes
    VBox → Pane → Region → Parent → Node → SFXDelegate
    +
  52. + + + + + + + + + def + + + depthTest: ObjectProperty[DepthTest] + + +
    Definition Classes
    Node
    +
  53. + + + + + + + + + def + + + depthTest_=(v: DepthTest): Unit + + +
    Definition Classes
    Node
    +
  54. + + + + + + + + + def + + + disable: BooleanProperty + + +
    Definition Classes
    Node
    +
  55. + + + + + + + + + def + + + disable_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  56. + + + + + + + + + def + + + disabled: ReadOnlyBooleanProperty + + +
    Definition Classes
    Node
    +
  57. + + + + + + + + + def + + + effect: ObjectProperty[Effect] + + +
    Definition Classes
    Node
    +
  58. + + + + + + + + + def + + + effect_=(v: Effect): Unit + + +
    Definition Classes
    Node
    +
  59. + + + + + + + + + def + + + effectiveNodeOrientation: ReadOnlyObjectProperty[NodeOrientation] + + +
    Definition Classes
    Node
    +
  60. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  61. + + + + + + + + + def + + + equals(ref: Any): Boolean + + +
    Definition Classes
    SFXDelegate → AnyRef → Any
    +
  62. + + + + + + + + + def + + + eventDispatcher: ObjectProperty[EventDispatcher] + + +
    Definition Classes
    Node
    +
  63. + + + + + + + + + def + + + eventDispatcher_=(v: EventDispatcher): Unit + + +
    Definition Classes
    Node
    +
  64. + + + + + + + + + def + + + eventHandlerDelegate: EventHandled + + +
    Attributes
    protected
    Definition Classes
    Node → EventHandlerDelegate
    +
  65. + + + + + + + + + val + + + fadeInTransition: Transition + + + +
  66. + + + + + + + + + val + + + fadeOutTransition: Transition + + + +
  67. + + + + + + + + + def + + + fillWidth: BooleanProperty + + +
    Definition Classes
    VBox
    +
  68. + + + + + + + + + def + + + fillWidth_=(v: Boolean): Unit + + +
    Definition Classes
    VBox
    +
  69. + + + + + + + + + def + + + filterEvent[J <: Event, S <: Event with SFXDelegate[J]](eventType: EventType[J])(filter: FilterMagnet[J, S]): Subscription + + +
    Definition Classes
    EventHandlerDelegate
    +
  70. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  71. + + + + + + + + + def + + + fireEvent(event: Event): Unit + + +
    Definition Classes
    Node
    +
  72. + + + + + + + + + def + + + focusTraversable: BooleanProperty + + +
    Definition Classes
    Node
    +
  73. + + + + + + + + + def + + + focusTraversable_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  74. + + + + + + + + + def + + + focused: ReadOnlyBooleanProperty + + +
    Definition Classes
    Node
    +
  75. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  76. + + + + + + + + + def + + + getContentBias: Orientation + + +
    Definition Classes
    VBox
    +
  77. + + + + + + + + + def + + + getId: String + + +
    Definition Classes
    Styleable
    +
  78. + + + + + + + + + def + + + getStyle: String + + +
    Definition Classes
    Styleable
    +
  79. + + + + + + + + + def + + + handleEvent[J <: Event, S <: Event with SFXDelegate[J]](eventType: EventType[J])(handler: HandlerMagnet[J, S]): Subscription + + +
    Definition Classes
    EventHandlerDelegate
    +
  80. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    SFXDelegate → AnyRef → Any
    +
  81. + + + + + + + + + def + + + height: ReadOnlyDoubleProperty + + +
    Definition Classes
    Region
    +
  82. + + + + + + + + + def + + + hgrow: Priority + + +
    Definition Classes
    Node
    +
  83. + + + + + + + + + def + + + hgrow_=(p: Priority): Unit + + +
    Definition Classes
    Node
    +
  84. + + + + + + + + + def + + + hover: ReadOnlyBooleanProperty + + +
    Definition Classes
    Node
    +
  85. + + + + + + + + + def + + + id: StringProperty + + +
    Definition Classes
    Node
    +
  86. + + + + + + + + + def + + + id_=(v: String): Unit + + +
    Definition Classes
    Node
    +
  87. + + + + + + + + + val + + + imageView: ImageView + + + +
  88. + + + + + + + + + def + + + inputMethodRequests: ObjectProperty[InputMethodRequests] + + +
    Definition Classes
    Node
    +
  89. + + + + + + + + + def + + + inputMethodRequests_=(v: InputMethodRequests): Unit + + +
    Definition Classes
    Node
    +
  90. + + + + + + + + + def + + + insets: Insets + + +
    Definition Classes
    Region
    +
  91. + + + + + + + + + def + + + intersects(localX: Double, localY: Double, localWidth: Double, localHeight: Double): Boolean + + +
    Definition Classes
    Node
    +
  92. + + + + + + + + + def + + + intersects(localBounds: Bounds): Boolean + + +
    Definition Classes
    Node
    +
  93. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  94. + + + + + + + + + def + + + layoutBounds: ReadOnlyObjectProperty[Bounds] + + +
    Definition Classes
    Node
    +
  95. + + + + + + + + + def + + + layoutX: DoubleProperty + + +
    Definition Classes
    Node
    +
  96. + + + + + + + + + def + + + layoutX_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  97. + + + + + + + + + def + + + layoutY: DoubleProperty + + +
    Definition Classes
    Node
    +
  98. + + + + + + + + + def + + + layoutY_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  99. + + + + + + + + + val + + + level: Int + + + +
  100. + + + + + + + + + val + + + listener: LevelNodeListener + + + +
  101. + + + + + + + + + def + + + localToParent(localPoint: Point2D): Point2D + + +
    Definition Classes
    Node
    +
  102. + + + + + + + + + def + + + localToParent(localX: Double, localY: Double): Point2D + + +
    Definition Classes
    Node
    +
  103. + + + + + + + + + def + + + localToParent(localBounds: Bounds): Bounds + + +
    Definition Classes
    Node
    +
  104. + + + + + + + + + def + + + localToParentTransform: Transform + + +
    Definition Classes
    Node
    +
  105. + + + + + + + + + def + + + localToScene(localPoint: Point2D): Point2D + + +
    Definition Classes
    Node
    +
  106. + + + + + + + + + def + + + localToScene(localX: Double, localY: Double): Point2D + + +
    Definition Classes
    Node
    +
  107. + + + + + + + + + def + + + localToScene(localBounds: Bounds): Bounds + + +
    Definition Classes
    Node
    +
  108. + + + + + + + + + def + + + localToSceneTransform: Transform + + +
    Definition Classes
    Node
    +
  109. + + + + + + + + + def + + + lookup(selector: String): Node + + +
    Definition Classes
    Node
    +
  110. + + + + + + + + + def + + + lookupAll(selector: String): Set[Node] + + +
    Definition Classes
    Node
    +
  111. + + + + + + + + + def + + + managed: BooleanProperty + + +
    Definition Classes
    Node
    +
  112. + + + + + + + + + def + + + managed_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  113. + + + + + + + + + def + + + margin: Insets + + +
    Definition Classes
    Node
    +
  114. + + + + + + + + + def + + + margin_=(i: Insets): Unit + + +
    Definition Classes
    Node
    +
  115. + + + + + + + + + def + + + maxHeight: DoubleProperty + + +
    Definition Classes
    Region
    +
  116. + + + + + + + + + def + + + maxHeight(width: Double): Double + + +
    Definition Classes
    Node
    +
  117. + + + + + + + + + def + + + maxHeight_=(v: Double): Unit + + +
    Definition Classes
    Region
    +
  118. + + + + + + + + + def + + + maxWidth: DoubleProperty + + +
    Definition Classes
    Region
    +
  119. + + + + + + + + + def + + + maxWidth(height: Double): Double + + +
    Definition Classes
    Node
    +
  120. + + + + + + + + + def + + + maxWidth_=(v: Double): Unit + + +
    Definition Classes
    Region
    +
  121. + + + + + + + + + def + + + minHeight: DoubleProperty + + +
    Definition Classes
    Region
    +
  122. + + + + + + + + + def + + + minHeight(width: Double): Double + + +
    Definition Classes
    Node
    +
  123. + + + + + + + + + def + + + minHeight_=(v: Double): Unit + + +
    Definition Classes
    Region
    +
  124. + + + + + + + + + def + + + minWidth: DoubleProperty + + +
    Definition Classes
    Region
    +
  125. + + + + + + + + + def + + + minWidth(height: Double): Double + + +
    Definition Classes
    Node
    +
  126. + + + + + + + + + def + + + minWidth_=(v: Double): Unit + + +
    Definition Classes
    Region
    +
  127. + + + + + + + + + def + + + mouseTransparent: BooleanProperty + + +
    Definition Classes
    Node
    +
  128. + + + + + + + + + def + + + mouseTransparent_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  129. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  130. + + + + + + + + + def + + + needsLayout: ReadOnlyBooleanProperty + + +
    Definition Classes
    Parent
    +
  131. + + + + + + + + + def + + + nodeOrientation: ObjectProperty[NodeOrientation] + + +
    Definition Classes
    Node
    +
  132. + + + + + + + + + def + + + nodeOrientation_=(v: NodeOrientation): Unit + + +
    Definition Classes
    Node
    +
  133. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  134. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  135. + + + + + + + + + def + + + onContextMenuRequested: ObjectProperty[EventHandler[_ >: ContextMenuEvent]] + + +
    Definition Classes
    Node
    +
  136. + + + + + + + + + def + + + onContextMenuRequested_=(v: EventHandler[_ >: ContextMenuEvent]): Unit + + +
    Definition Classes
    Node
    +
  137. + + + + + + + + + def + + + onDragDetected: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  138. + + + + + + + + + def + + + onDragDetected_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  139. + + + + + + + + + def + + + onDragDone: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Node
    +
  140. + + + + + + + + + def + + + onDragDone_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Node
    +
  141. + + + + + + + + + def + + + onDragDropped: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Node
    +
  142. + + + + + + + + + def + + + onDragDropped_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Node
    +
  143. + + + + + + + + + def + + + onDragEntered: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Node
    +
  144. + + + + + + + + + def + + + onDragEntered_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Node
    +
  145. + + + + + + + + + def + + + onDragExited: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Node
    +
  146. + + + + + + + + + def + + + onDragExited_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Node
    +
  147. + + + + + + + + + def + + + onDragOver: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Node
    +
  148. + + + + + + + + + def + + + onDragOver_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Node
    +
  149. + + + + + + + + + def + + + onInputMethodTextChanged: ObjectProperty[EventHandler[_ >: InputMethodEvent]] + + +
    Definition Classes
    Node
    +
  150. + + + + + + + + + def + + + onInputMethodTextChanged_=(v: EventHandler[_ >: InputMethodEvent]): Unit + + +
    Definition Classes
    Node
    +
  151. + + + + + + + + + def + + + onKeyPressed: ObjectProperty[EventHandler[_ >: KeyEvent]] + + +
    Definition Classes
    Node
    +
  152. + + + + + + + + + def + + + onKeyPressed_=(v: EventHandler[_ >: KeyEvent]): Unit + + +
    Definition Classes
    Node
    +
  153. + + + + + + + + + def + + + onKeyReleased: ObjectProperty[EventHandler[_ >: KeyEvent]] + + +
    Definition Classes
    Node
    +
  154. + + + + + + + + + def + + + onKeyReleased_=(v: EventHandler[_ >: KeyEvent]): Unit + + +
    Definition Classes
    Node
    +
  155. + + + + + + + + + def + + + onKeyTyped: ObjectProperty[EventHandler[_ >: KeyEvent]] + + +
    Definition Classes
    Node
    +
  156. + + + + + + + + + def + + + onKeyTyped_=(v: EventHandler[_ >: KeyEvent]): Unit + + +
    Definition Classes
    Node
    +
  157. + + + + + + + + + def + + + onMouseClicked: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  158. + + + + + + + + + def + + + onMouseClicked_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  159. + + + + + + + + + def + + + onMouseDragEntered: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Node
    +
  160. + + + + + + + + + def + + + onMouseDragEntered_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Node
    +
  161. + + + + + + + + + def + + + onMouseDragExited: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Node
    +
  162. + + + + + + + + + def + + + onMouseDragExited_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Node
    +
  163. + + + + + + + + + def + + + onMouseDragOver: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Node
    +
  164. + + + + + + + + + def + + + onMouseDragOver_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Node
    +
  165. + + + + + + + + + def + + + onMouseDragReleased: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Node
    +
  166. + + + + + + + + + def + + + onMouseDragReleased_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Node
    +
  167. + + + + + + + + + def + + + onMouseDragged: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  168. + + + + + + + + + def + + + onMouseDragged_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  169. + + + + + + + + + def + + + onMouseEntered: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  170. + + + + + + + + + def + + + onMouseEntered_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  171. + + + + + + + + + def + + + onMouseExited: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  172. + + + + + + + + + def + + + onMouseExited_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  173. + + + + + + + + + def + + + onMouseMoved: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  174. + + + + + + + + + def + + + onMouseMoved_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  175. + + + + + + + + + def + + + onMousePressed: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  176. + + + + + + + + + def + + + onMousePressed_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  177. + + + + + + + + + def + + + onMouseReleased: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  178. + + + + + + + + + def + + + onMouseReleased_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  179. + + + + + + + + + def + + + onRotate: ObjectProperty[EventHandler[_ >: RotateEvent]] + + +
    Definition Classes
    Node
    +
  180. + + + + + + + + + def + + + onRotate_=(v: EventHandler[_ >: RotateEvent]): Unit + + +
    Definition Classes
    Node
    +
  181. + + + + + + + + + def + + + onRotationFinished: ObjectProperty[EventHandler[_ >: RotateEvent]] + + +
    Definition Classes
    Node
    +
  182. + + + + + + + + + def + + + onRotationFinished_=(v: EventHandler[_ >: RotateEvent]): Unit + + +
    Definition Classes
    Node
    +
  183. + + + + + + + + + def + + + onRotationStarted: ObjectProperty[EventHandler[_ >: RotateEvent]] + + +
    Definition Classes
    Node
    +
  184. + + + + + + + + + def + + + onRotationStarted_=(v: EventHandler[_ >: RotateEvent]): Unit + + +
    Definition Classes
    Node
    +
  185. + + + + + + + + + def + + + onScroll: ObjectProperty[EventHandler[_ >: ScrollEvent]] + + +
    Definition Classes
    Node
    +
  186. + + + + + + + + + def + + + onScrollFinished: ObjectProperty[EventHandler[_ >: ScrollEvent]] + + +
    Definition Classes
    Node
    +
  187. + + + + + + + + + def + + + onScrollFinished_=(v: EventHandler[_ >: ScrollEvent]): Unit + + +
    Definition Classes
    Node
    +
  188. + + + + + + + + + def + + + onScrollStarted: ObjectProperty[EventHandler[_ >: ScrollEvent]] + + +
    Definition Classes
    Node
    +
  189. + + + + + + + + + def + + + onScrollStarted_=(v: EventHandler[_ >: ScrollEvent]): Unit + + +
    Definition Classes
    Node
    +
  190. + + + + + + + + + def + + + onScroll_=(v: EventHandler[_ >: ScrollEvent]): Unit + + +
    Definition Classes
    Node
    +
  191. + + + + + + + + + def + + + onSwipeDown: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Node
    +
  192. + + + + + + + + + def + + + onSwipeDown_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Node
    +
  193. + + + + + + + + + def + + + onSwipeLeft: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Node
    +
  194. + + + + + + + + + def + + + onSwipeLeft_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Node
    +
  195. + + + + + + + + + def + + + onSwipeRight: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Node
    +
  196. + + + + + + + + + def + + + onSwipeRight_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Node
    +
  197. + + + + + + + + + def + + + onSwipeUp: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Node
    +
  198. + + + + + + + + + def + + + onSwipeUp_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Node
    +
  199. + + + + + + + + + def + + + onTouchMoved: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Node
    +
  200. + + + + + + + + + def + + + onTouchMoved_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Node
    +
  201. + + + + + + + + + def + + + onTouchPressed: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Node
    +
  202. + + + + + + + + + def + + + onTouchPressed_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Node
    +
  203. + + + + + + + + + def + + + onTouchReleased: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Node
    +
  204. + + + + + + + + + def + + + onTouchReleased_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Node
    +
  205. + + + + + + + + + def + + + onTouchStationary: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Node
    +
  206. + + + + + + + + + def + + + onTouchStationary_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Node
    +
  207. + + + + + + + + + def + + + onZoom: ObjectProperty[EventHandler[_ >: ZoomEvent]] + + +
    Definition Classes
    Node
    +
  208. + + + + + + + + + def + + + onZoomFinished: ObjectProperty[EventHandler[_ >: ZoomEvent]] + + +
    Definition Classes
    Node
    +
  209. + + + + + + + + + def + + + onZoomFinished_=(v: EventHandler[_ >: ZoomEvent]): Unit + + +
    Definition Classes
    Node
    +
  210. + + + + + + + + + def + + + onZoomStarted: ObjectProperty[EventHandler[_ >: ZoomEvent]] + + +
    Definition Classes
    Node
    +
  211. + + + + + + + + + def + + + onZoomStarted_=(v: EventHandler[_ >: ZoomEvent]): Unit + + +
    Definition Classes
    Node
    +
  212. + + + + + + + + + def + + + onZoom_=(v: EventHandler[_ >: ZoomEvent]): Unit + + +
    Definition Classes
    Node
    +
  213. + + + + + + + + + def + + + opacity: DoubleProperty + + +
    Definition Classes
    Node
    +
  214. + + + + + + + + + def + + + opacity_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  215. + + + + + + + + + def + + + opaqueInsets: ObjectProperty[Insets] + + +
    Definition Classes
    Region
    +
  216. + + + + + + + + + def + + + opaqueInsets_=(v: Insets): Unit + + +
    Definition Classes
    Region
    +
  217. + + + + + + + + + def + + + padding: ObjectProperty[Insets] + + +
    Definition Classes
    Region
    +
  218. + + + + + + + + + def + + + padding_=(v: Insets): Unit + + +
    Definition Classes
    Region
    +
  219. + + + + + + + + + def + + + parent: ReadOnlyObjectProperty[Parent] + + +
    Definition Classes
    Node
    +
  220. + + + + + + + + + def + + + parentToLocal(parentPoint: Point2D): Point2D + + +
    Definition Classes
    Node
    +
  221. + + + + + + + + + def + + + parentToLocal(parentX: Double, parentY: Double): Point2D + + +
    Definition Classes
    Node
    +
  222. + + + + + + + + + def + + + parentToLocal(parentBounds: Bounds): Bounds + + +
    Definition Classes
    Node
    +
  223. + + + + + + + + + def + + + pickOnBounds: BooleanProperty + + +
    Definition Classes
    Node
    +
  224. + + + + + + + + + def + + + pickOnBounds_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  225. + + + + + + + + + val + + + playButton: Button + + + +
  226. + + + + + + + + + def + + + prefHeight: DoubleProperty + + +
    Definition Classes
    Region
    +
  227. + + + + + + + + + def + + + prefHeight_=(v: Double): Unit + + +
    Definition Classes
    Region
    +
  228. + + + + + + + + + def + + + prefWidth: DoubleProperty + + +
    Definition Classes
    Region
    +
  229. + + + + + + + + + def + + + prefWidth_=(v: Double): Unit + + +
    Definition Classes
    Region
    +
  230. + + + + + + + + + def + + + pressed: ReadOnlyBooleanProperty + + +
    Definition Classes
    Node
    +
  231. + + + + + + + + + def + + + pseudoClassStates: ObservableSet[PseudoClass] + + +
    Definition Classes
    Styleable
    +
  232. + + + + + + + + + def + + + relocate(x: Double, y: Double): Unit + + +
    Definition Classes
    Node
    +
  233. + + + + + + + + + def + + + removeEventFilter[E <: Event](eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit + + +
    Definition Classes
    EventHandlerDelegate
    +
  234. + + + + + + + + + def + + + removeEventHandler[E <: Event](eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit + + +
    Definition Classes
    EventHandlerDelegate
    +
  235. + + + + + + + + + def + + + requestFocus(): Unit + + +
    Definition Classes
    Node
    +
  236. + + + + + + + + + def + + + requestLayout(): Unit + + +
    Definition Classes
    VBox
    +
  237. + + + + + + + + + def + + + resize(width: Double, height: Double): Unit + + +
    Definition Classes
    Region → Node
    +
  238. + + + + + + + + + def + + + resize: Boolean + + +
    Definition Classes
    Region
    +
  239. + + + + + + + + + def + + + resizeRelocate(x: Double, y: Double, width: Double, height: Double): Unit + + +
    Definition Classes
    Node
    +
  240. + + + + + + + + + def + + + rotate: DoubleProperty + + +
    Definition Classes
    Node
    +
  241. + + + + + + + + + def + + + rotate_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  242. + + + + + + + + + def + + + rotationAxis: ObjectProperty[Point3D] + + +
    Definition Classes
    Node
    +
  243. + + + + + + + + + def + + + rotationAxis_=(v: Point3D): Unit + + +
    Definition Classes
    Node
    +
  244. + + + + + + + + + def + + + scaleShape: BooleanProperty + + +
    Definition Classes
    Region
    +
  245. + + + + + + + + + def + + + scaleShape_=(v: Boolean): Unit + + +
    Definition Classes
    Region
    +
  246. + + + + + + + + + def + + + scaleX: DoubleProperty + + +
    Definition Classes
    Node
    +
  247. + + + + + + + + + def + + + scaleX_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  248. + + + + + + + + + def + + + scaleY: DoubleProperty + + +
    Definition Classes
    Node
    +
  249. + + + + + + + + + def + + + scaleY_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  250. + + + + + + + + + def + + + scaleZ: DoubleProperty + + +
    Definition Classes
    Node
    +
  251. + + + + + + + + + def + + + scaleZ_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  252. + + + + + + + + + def + + + scene: ReadOnlyObjectProperty[Scene] + + +
    Definition Classes
    Node
    +
  253. + + + + + + + + + def + + + sceneToLocal(scenePoint: Point2D): Point2D + + +
    Definition Classes
    Node
    +
  254. + + + + + + + + + def + + + sceneToLocal(sceneX: Double, sceneY: Double): Point2D + + +
    Definition Classes
    Node
    +
  255. + + + + + + + + + def + + + sceneToLocal(sceneBounds: Bounds): Bounds + + +
    Definition Classes
    Node
    +
  256. + + + + + + + + + def + + + shape: ObjectProperty[Shape] + + +
    Definition Classes
    Region
    +
  257. + + + + + + + + + def + + + shape_=(v: Shape): Unit + + +
    Definition Classes
    Region
    +
  258. + + + + + + + + + val + + + simulationButton: Button + + + +
  259. + + + + + + + + + def + + + snapToPixel: BooleanProperty + + +
    Definition Classes
    Region
    +
  260. + + + + + + + + + def + + + snapToPixel_=(v: Boolean): Unit + + +
    Definition Classes
    Region
    +
  261. + + + + + + + + + def + + + snapshot(callback: (SnapshotResult) ⇒ Unit, params: SnapshotParameters, image: WritableImage): Unit + + +
    Definition Classes
    Node
    +
  262. + + + + + + + + + def + + + snapshot(params: SnapshotParameters, image: WritableImage): WritableImage + + +
    Definition Classes
    Node
    +
  263. + + + + + + + + + def + + + spacing: DoubleProperty + + +
    Definition Classes
    VBox
    +
  264. + + + + + + + + + def + + + spacing_=(v: Double): Unit + + +
    Definition Classes
    VBox
    +
  265. + + + + + + + + + def + + + startDragAndDrop(transferModes: TransferMode*): Dragboard + + +
    Definition Classes
    Node
    +
  266. + + + + + + + + + def + + + startFullDrag(): Unit + + +
    Definition Classes
    Node
    +
  267. + + + + + + + + + def + + + style: StringProperty + + +
    Definition Classes
    Node
    +
  268. + + + + + + + + + def + + + styleClass: ObservableBuffer[String] + + +
    Definition Classes
    Styleable
    +
  269. + + + + + + + + + def + + + styleClass_=(c: Iterable[String]): Unit + + +
    Definition Classes
    Node
    +
  270. + + + + + + + + + def + + + style_=(v: String): Unit + + +
    Definition Classes
    Node
    +
  271. + + + + + + + + + def + + + styleableParent: Styleable + + +
    Definition Classes
    Styleable
    +
  272. + + + + + + + + + def + + + stylesheets: ObservableList[String] + + +
    Definition Classes
    Parent
    +
  273. + + + + + + + + + def + + + stylesheets_=(c: Iterable[String]): Unit + + +
    Definition Classes
    Parent
    +
  274. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  275. + + + + + + + + + val + + + textField: Text + + + +
  276. + + + + + + + + + def + + + toBack(): Unit + + +
    Definition Classes
    Node
    +
  277. + + + + + + + + + def + + + toFront(): Unit + + +
    Definition Classes
    Node
    +
  278. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    SFXDelegate → AnyRef → Any
    +
  279. + + + + + + + + + def + + + transforms: ObservableList[Transform] + + +
    Definition Classes
    Node
    +
  280. + + + + + + + + + def + + + transforms_=(c: Iterable[Transform]): Unit + + +
    Definition Classes
    Node
    +
  281. + + + + + + + + + def + + + translateX: DoubleProperty + + +
    Definition Classes
    Node
    +
  282. + + + + + + + + + def + + + translateX_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  283. + + + + + + + + + def + + + translateY: DoubleProperty + + +
    Definition Classes
    Node
    +
  284. + + + + + + + + + def + + + translateY_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  285. + + + + + + + + + def + + + translateZ: DoubleProperty + + +
    Definition Classes
    Node
    +
  286. + + + + + + + + + def + + + translateZ_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  287. + + + + + + + + + def + + + typeSelector: String + + +
    Definition Classes
    Styleable
    +
  288. + + + + + + + + + def + + + userData: AnyRef + + +
    Definition Classes
    Node
    +
  289. + + + + + + + + + def + + + userData_=(v: AnyRef): Unit + + +
    Definition Classes
    Node
    +
  290. + + + + + + + + + def + + + vgrow: Priority + + +
    Definition Classes
    Node
    +
  291. + + + + + + + + + def + + + vgrow_=(p: Priority): Unit + + +
    Definition Classes
    Node
    +
  292. + + + + + + + + + def + + + visible: BooleanProperty + + +
    Definition Classes
    Node
    +
  293. + + + + + + + + + def + + + visible_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  294. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  295. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  296. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  297. + + + + + + + + + def + + + width: ReadOnlyDoubleProperty + + +
    Definition Classes
    Region
    +
  298. +
+
+ + + + +
+ +
+
+

Inherited from VBox

+
+

Inherited from AlignmentDelegate[VBox]

+
+

Inherited from Pane

+
+

Inherited from Region

+
+

Inherited from Parent

+
+

Inherited from Node

+
+

Inherited from Styleable

+
+

Inherited from SFXDelegate[VBox]

+
+

Inherited from EventHandlerDelegate

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/LevelNodeListener.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/LevelNodeListener.html new file mode 100644 index 00000000..2c3f42dc --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/LevelNodeListener.html @@ -0,0 +1,715 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.components.LevelNodeListener + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.mvc.view.components

+

LevelNodeListener + + + +

+

+
+ +

+ + + trait + + + LevelNodeListener extends AnyRef + +

+ + +

Trait which gets notified when a LevelNode event occurs +

+ + Linear Supertypes + +
AnyRef, Any
+
+ + Known Subclasses + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. LevelNodeListener
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + onLevelPlayClick(level: Int, simulation: Boolean): Unit + + +

    This method gets called when an available level buttons get clicked

    This method gets called when an available level buttons get clicked

    level

    the level index

    simulation

    true if the level must be started as a simulation, false otherwise

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/LevelScreen$$Builder.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/LevelScreen$$Builder.html new file mode 100644 index 00000000..408a4de8 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/LevelScreen$$Builder.html @@ -0,0 +1,704 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.components.LevelScreen.Builder + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + case class + + + Builder(parentScene: Scene) extends Product with Serializable + +

+ + +

Builder. The provided scene is used to determine the screen width and height

parentScene

the scene in which the screen will be shown

+ + Linear Supertypes + +
Serializable, Serializable, Product, Equals, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. Builder
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
  8. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + Builder(parentScene: Scene) + + +

    parentScene

    the scene in which the screen will be shown

    +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + build(): LevelScreenImpl + + +

    Creates a LevelScreenImpl with the provided components

    Creates a LevelScreenImpl with the provided components

    returns

    a LevelScreenImpl

    +
  6. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  11. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  12. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  13. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  15. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  16. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  17. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  18. + + + + + + + + + def + + + withButton(text: String, onClick: EventHandler[ActionEvent]): Builder + + +

    Add a Button to the screen

    Add a Button to the screen

    text

    the text

    onClick

    the handler that will be executed on the button click

    returns

    the builder itself

    +
  19. + + + + + + + + + def + + + withText(text: String, size: Double, color: Color): Builder + + +

    Add a Text to the screen

    Add a Text to the screen

    text

    the text

    size

    the text size

    color

    the text color

    returns

    the builder itself

    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/LevelScreen$$LevelScreenImpl.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/LevelScreen$$LevelScreenImpl.html new file mode 100644 index 00000000..784ef9e6 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/LevelScreen$$LevelScreenImpl.html @@ -0,0 +1,5069 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.components.LevelScreen.LevelScreenImpl + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.mvc.view.components.LevelScreen

+

LevelScreenImpl + + + +

+

+
+ +

+ + + class + + + LevelScreenImpl extends VBox + +

+ + +

A protected class representing a black level screen

Attributes
protected
+ + Linear Supertypes + +
VBox, AlignmentDelegate[VBox], Pane, Region, Parent, Node, Styleable, SFXDelegate[VBox], EventHandlerDelegate, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. LevelScreenImpl
  2. VBox
  3. AlignmentDelegate
  4. Pane
  5. Region
  6. Parent
  7. Node
  8. Styleable
  9. SFXDelegate
  10. EventHandlerDelegate
  11. AnyRef
  12. Any
  13. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + LevelScreenImpl(parentScene: Scene, components: Seq[Node]) + + +

    parentScene

    the parent scene

    components

    the screen nodes/components, shown in order top to bottom

    +
+
+ +
+

Type Members

+
  1. + + + + + + + + + type + + + EventHandled = AnyRef { ... /* 5 definitions in type refinement */ } + + +
    Definition Classes
    EventHandlerDelegate
    +
  2. + + + + + + + + sealed + trait + + + FilterMagnet[J <: Event, S <: SFXDelegate[J]] extends AnyRef + + +
    Definition Classes
    EventHandlerDelegate
    +
  3. + + + + + + + + sealed + trait + + + HandlerMagnet[J <: Event, S <: SFXDelegate[J]] extends AnyRef + + +
    Definition Classes
    EventHandlerDelegate
    +
+
+ + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + def + + + accessibleHelp: ObjectProperty[String] + + +
    Definition Classes
    Node
    +
  5. + + + + + + + + + def + + + accessibleHelp_=(v: String): Unit + + +
    Definition Classes
    Node
    +
  6. + + + + + + + + + def + + + accessibleRole: ObjectProperty[AccessibleRole] + + +
    Definition Classes
    Node
    +
  7. + + + + + + + + + def + + + accessibleRoleDescription: ObjectProperty[String] + + +
    Definition Classes
    Node
    +
  8. + + + + + + + + + def + + + accessibleRoleDescription_=(v: String): Unit + + +
    Definition Classes
    Node
    +
  9. + + + + + + + + + def + + + accessibleRole_=(v: AccessibleRole): Unit + + +
    Definition Classes
    Node
    +
  10. + + + + + + + + + def + + + accessibleText: ObjectProperty[String] + + +
    Definition Classes
    Node
    +
  11. + + + + + + + + + def + + + accessibleText_=(v: String): Unit + + +
    Definition Classes
    Node
    +
  12. + + + + + + + + + def + + + addEventFilter[E <: Event](eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit + + +
    Definition Classes
    EventHandlerDelegate
    +
  13. + + + + + + + + + def + + + addEventHandler[E <: Event](eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit + + +
    Definition Classes
    EventHandlerDelegate
    +
  14. + + + + + + + + + def + + + alignment: ObjectProperty[Pos] + + +
    Definition Classes
    AlignmentDelegate
    +
  15. + + + + + + + + + def + + + alignmentInParent: Pos + + +
    Definition Classes
    Node
    +
  16. + + + + + + + + + def + + + alignmentInParent_=(p: Pos): Unit + + +
    Definition Classes
    Node
    +
  17. + + + + + + + + + def + + + alignment_=(v: Pos): Unit + + +
    Definition Classes
    AlignmentDelegate
    +
  18. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  19. + + + + + + + + + def + + + autosize(): Unit + + +
    Definition Classes
    Node
    +
  20. + + + + + + + + + def + + + background: ObjectProperty[Background] + + +
    Definition Classes
    Region
    +
  21. + + + + + + + + + def + + + background_=(v: Background): Unit + + +
    Definition Classes
    Region
    +
  22. + + + + + + + + + def + + + baselineOffset: Double + + +
    Definition Classes
    Node
    +
  23. + + + + + + + + + def + + + blendMode: ObjectProperty[BlendMode] + + +
    Definition Classes
    Node
    +
  24. + + + + + + + + + def + + + blendMode_=(v: BlendMode): Unit + + +
    Definition Classes
    Node
    +
  25. + + + + + + + + + def + + + border: ObjectProperty[Border] + + +
    Definition Classes
    Region
    +
  26. + + + + + + + + + def + + + border_=(v: Border): Unit + + +
    Definition Classes
    Region
    +
  27. + + + + + + + + + def + + + boundsInLocal: ReadOnlyObjectProperty[Bounds] + + +
    Definition Classes
    Node
    +
  28. + + + + + + + + + def + + + boundsInParent: ReadOnlyObjectProperty[Bounds] + + +
    Definition Classes
    Node
    +
  29. + + + + + + + + + def + + + buildEventDispatchChain(chain: EventDispatchChain): EventDispatchChain + + +
    Definition Classes
    EventHandlerDelegate
    +
  30. + + + + + + + + + def + + + cache: BooleanProperty + + +
    Definition Classes
    Node
    +
  31. + + + + + + + + + def + + + cacheHint: ObjectProperty[CacheHint] + + +
    Definition Classes
    Node
    +
  32. + + + + + + + + + def + + + cacheHint_=(v: CacheHint): Unit + + +
    Definition Classes
    Node
    +
  33. + + + + + + + + + def + + + cacheShape: BooleanProperty + + +
    Definition Classes
    Region
    +
  34. + + + + + + + + + def + + + cacheShape_=(v: Boolean): Unit + + +
    Definition Classes
    Region
    +
  35. + + + + + + + + + def + + + cache_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  36. + + + + + + + + + def + + + centerShape: BooleanProperty + + +
    Definition Classes
    Region
    +
  37. + + + + + + + + + def + + + centerShape_=(v: Boolean): Unit + + +
    Definition Classes
    Region
    +
  38. + + + + + + + + + def + + + children: ObservableList[Node] + + +
    Definition Classes
    Pane
    +
  39. + + + + + + + + + def + + + children_=(n: Node): Unit + + +
    Definition Classes
    Pane
    +
  40. + + + + + + + + + def + + + children_=(c: Iterable[Node]): Unit + + +
    Definition Classes
    Pane
    +
  41. + + + + + + + + + def + + + clip: ObjectProperty[Node] + + +
    Definition Classes
    Node
    +
  42. + + + + + + + + + def + + + clip_=(v: Node): Unit + + +
    Definition Classes
    Node
    +
  43. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  44. + + + + + + + + + def + + + contains(localPoint: Point2D): Boolean + + +
    Definition Classes
    Node
    +
  45. + + + + + + + + + def + + + contains(localX: Double, localY: Double): Boolean + + +
    Definition Classes
    Node
    +
  46. + + + + + + + + + def + + + contentBias: Orientation + + +
    Definition Classes
    Node
    +
  47. + + + + + + + + + def + + + cssMetaData: Seq[CssMetaData[_ <: Styleable, _]] + + +
    Definition Classes
    Styleable
    +
  48. + + + + + + + + + def + + + cursor: ObjectProperty[Cursor] + + +
    Definition Classes
    Node
    +
  49. + + + + + + + + + def + + + cursor_=(v: Cursor): Unit + + +
    Definition Classes
    Node
    +
  50. + + + + + + + + + val + + + delegate: VBox + + +
    Definition Classes
    VBox → Pane → Region → Parent → Node → SFXDelegate
    +
  51. + + + + + + + + + def + + + depthTest: ObjectProperty[DepthTest] + + +
    Definition Classes
    Node
    +
  52. + + + + + + + + + def + + + depthTest_=(v: DepthTest): Unit + + +
    Definition Classes
    Node
    +
  53. + + + + + + + + + def + + + disable: BooleanProperty + + +
    Definition Classes
    Node
    +
  54. + + + + + + + + + def + + + disable_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  55. + + + + + + + + + def + + + disabled: ReadOnlyBooleanProperty + + +
    Definition Classes
    Node
    +
  56. + + + + + + + + + def + + + effect: ObjectProperty[Effect] + + +
    Definition Classes
    Node
    +
  57. + + + + + + + + + def + + + effect_=(v: Effect): Unit + + +
    Definition Classes
    Node
    +
  58. + + + + + + + + + def + + + effectiveNodeOrientation: ReadOnlyObjectProperty[NodeOrientation] + + +
    Definition Classes
    Node
    +
  59. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  60. + + + + + + + + + def + + + equals(ref: Any): Boolean + + +
    Definition Classes
    SFXDelegate → AnyRef → Any
    +
  61. + + + + + + + + + def + + + eventDispatcher: ObjectProperty[EventDispatcher] + + +
    Definition Classes
    Node
    +
  62. + + + + + + + + + def + + + eventDispatcher_=(v: EventDispatcher): Unit + + +
    Definition Classes
    Node
    +
  63. + + + + + + + + + def + + + eventHandlerDelegate: EventHandled + + +
    Attributes
    protected
    Definition Classes
    Node → EventHandlerDelegate
    +
  64. + + + + + + + + + def + + + fillWidth: BooleanProperty + + +
    Definition Classes
    VBox
    +
  65. + + + + + + + + + def + + + fillWidth_=(v: Boolean): Unit + + +
    Definition Classes
    VBox
    +
  66. + + + + + + + + + def + + + filterEvent[J <: Event, S <: Event with SFXDelegate[J]](eventType: EventType[J])(filter: FilterMagnet[J, S]): Subscription + + +
    Definition Classes
    EventHandlerDelegate
    +
  67. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  68. + + + + + + + + + def + + + fireEvent(event: Event): Unit + + +
    Definition Classes
    Node
    +
  69. + + + + + + + + + def + + + focusTraversable: BooleanProperty + + +
    Definition Classes
    Node
    +
  70. + + + + + + + + + def + + + focusTraversable_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  71. + + + + + + + + + def + + + focused: ReadOnlyBooleanProperty + + +
    Definition Classes
    Node
    +
  72. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  73. + + + + + + + + + def + + + getContentBias: Orientation + + +
    Definition Classes
    VBox
    +
  74. + + + + + + + + + def + + + getId: String + + +
    Definition Classes
    Styleable
    +
  75. + + + + + + + + + def + + + getStyle: String + + +
    Definition Classes
    Styleable
    +
  76. + + + + + + + + + def + + + handleEvent[J <: Event, S <: Event with SFXDelegate[J]](eventType: EventType[J])(handler: HandlerMagnet[J, S]): Subscription + + +
    Definition Classes
    EventHandlerDelegate
    +
  77. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    SFXDelegate → AnyRef → Any
    +
  78. + + + + + + + + + def + + + height: ReadOnlyDoubleProperty + + +
    Definition Classes
    Region
    +
  79. + + + + + + + + + def + + + hgrow: Priority + + +
    Definition Classes
    Node
    +
  80. + + + + + + + + + def + + + hgrow_=(p: Priority): Unit + + +
    Definition Classes
    Node
    +
  81. + + + + + + + + + def + + + hover: ReadOnlyBooleanProperty + + +
    Definition Classes
    Node
    +
  82. + + + + + + + + + def + + + id: StringProperty + + +
    Definition Classes
    Node
    +
  83. + + + + + + + + + def + + + id_=(v: String): Unit + + +
    Definition Classes
    Node
    +
  84. + + + + + + + + + def + + + inputMethodRequests: ObjectProperty[InputMethodRequests] + + +
    Definition Classes
    Node
    +
  85. + + + + + + + + + def + + + inputMethodRequests_=(v: InputMethodRequests): Unit + + +
    Definition Classes
    Node
    +
  86. + + + + + + + + + def + + + insets: Insets + + +
    Definition Classes
    Region
    +
  87. + + + + + + + + + def + + + intersects(localX: Double, localY: Double, localWidth: Double, localHeight: Double): Boolean + + +
    Definition Classes
    Node
    +
  88. + + + + + + + + + def + + + intersects(localBounds: Bounds): Boolean + + +
    Definition Classes
    Node
    +
  89. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  90. + + + + + + + + + def + + + layoutBounds: ReadOnlyObjectProperty[Bounds] + + +
    Definition Classes
    Node
    +
  91. + + + + + + + + + def + + + layoutX: DoubleProperty + + +
    Definition Classes
    Node
    +
  92. + + + + + + + + + def + + + layoutX_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  93. + + + + + + + + + def + + + layoutY: DoubleProperty + + +
    Definition Classes
    Node
    +
  94. + + + + + + + + + def + + + layoutY_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  95. + + + + + + + + + def + + + localToParent(localPoint: Point2D): Point2D + + +
    Definition Classes
    Node
    +
  96. + + + + + + + + + def + + + localToParent(localX: Double, localY: Double): Point2D + + +
    Definition Classes
    Node
    +
  97. + + + + + + + + + def + + + localToParent(localBounds: Bounds): Bounds + + +
    Definition Classes
    Node
    +
  98. + + + + + + + + + def + + + localToParentTransform: Transform + + +
    Definition Classes
    Node
    +
  99. + + + + + + + + + def + + + localToScene(localPoint: Point2D): Point2D + + +
    Definition Classes
    Node
    +
  100. + + + + + + + + + def + + + localToScene(localX: Double, localY: Double): Point2D + + +
    Definition Classes
    Node
    +
  101. + + + + + + + + + def + + + localToScene(localBounds: Bounds): Bounds + + +
    Definition Classes
    Node
    +
  102. + + + + + + + + + def + + + localToSceneTransform: Transform + + +
    Definition Classes
    Node
    +
  103. + + + + + + + + + def + + + lookup(selector: String): Node + + +
    Definition Classes
    Node
    +
  104. + + + + + + + + + def + + + lookupAll(selector: String): Set[Node] + + +
    Definition Classes
    Node
    +
  105. + + + + + + + + + def + + + managed: BooleanProperty + + +
    Definition Classes
    Node
    +
  106. + + + + + + + + + def + + + managed_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  107. + + + + + + + + + def + + + margin: Insets + + +
    Definition Classes
    Node
    +
  108. + + + + + + + + + def + + + margin_=(i: Insets): Unit + + +
    Definition Classes
    Node
    +
  109. + + + + + + + + + def + + + maxHeight: DoubleProperty + + +
    Definition Classes
    Region
    +
  110. + + + + + + + + + def + + + maxHeight(width: Double): Double + + +
    Definition Classes
    Node
    +
  111. + + + + + + + + + def + + + maxHeight_=(v: Double): Unit + + +
    Definition Classes
    Region
    +
  112. + + + + + + + + + def + + + maxWidth: DoubleProperty + + +
    Definition Classes
    Region
    +
  113. + + + + + + + + + def + + + maxWidth(height: Double): Double + + +
    Definition Classes
    Node
    +
  114. + + + + + + + + + def + + + maxWidth_=(v: Double): Unit + + +
    Definition Classes
    Region
    +
  115. + + + + + + + + + def + + + minHeight: DoubleProperty + + +
    Definition Classes
    Region
    +
  116. + + + + + + + + + def + + + minHeight(width: Double): Double + + +
    Definition Classes
    Node
    +
  117. + + + + + + + + + def + + + minHeight_=(v: Double): Unit + + +
    Definition Classes
    Region
    +
  118. + + + + + + + + + def + + + minWidth: DoubleProperty + + +
    Definition Classes
    Region
    +
  119. + + + + + + + + + def + + + minWidth(height: Double): Double + + +
    Definition Classes
    Node
    +
  120. + + + + + + + + + def + + + minWidth_=(v: Double): Unit + + +
    Definition Classes
    Region
    +
  121. + + + + + + + + + def + + + mouseTransparent: BooleanProperty + + +
    Definition Classes
    Node
    +
  122. + + + + + + + + + def + + + mouseTransparent_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  123. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  124. + + + + + + + + + def + + + needsLayout: ReadOnlyBooleanProperty + + +
    Definition Classes
    Parent
    +
  125. + + + + + + + + + def + + + nodeOrientation: ObjectProperty[NodeOrientation] + + +
    Definition Classes
    Node
    +
  126. + + + + + + + + + def + + + nodeOrientation_=(v: NodeOrientation): Unit + + +
    Definition Classes
    Node
    +
  127. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  128. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  129. + + + + + + + + + def + + + onContextMenuRequested: ObjectProperty[EventHandler[_ >: ContextMenuEvent]] + + +
    Definition Classes
    Node
    +
  130. + + + + + + + + + def + + + onContextMenuRequested_=(v: EventHandler[_ >: ContextMenuEvent]): Unit + + +
    Definition Classes
    Node
    +
  131. + + + + + + + + + def + + + onDragDetected: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  132. + + + + + + + + + def + + + onDragDetected_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  133. + + + + + + + + + def + + + onDragDone: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Node
    +
  134. + + + + + + + + + def + + + onDragDone_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Node
    +
  135. + + + + + + + + + def + + + onDragDropped: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Node
    +
  136. + + + + + + + + + def + + + onDragDropped_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Node
    +
  137. + + + + + + + + + def + + + onDragEntered: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Node
    +
  138. + + + + + + + + + def + + + onDragEntered_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Node
    +
  139. + + + + + + + + + def + + + onDragExited: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Node
    +
  140. + + + + + + + + + def + + + onDragExited_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Node
    +
  141. + + + + + + + + + def + + + onDragOver: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Node
    +
  142. + + + + + + + + + def + + + onDragOver_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Node
    +
  143. + + + + + + + + + def + + + onInputMethodTextChanged: ObjectProperty[EventHandler[_ >: InputMethodEvent]] + + +
    Definition Classes
    Node
    +
  144. + + + + + + + + + def + + + onInputMethodTextChanged_=(v: EventHandler[_ >: InputMethodEvent]): Unit + + +
    Definition Classes
    Node
    +
  145. + + + + + + + + + def + + + onKeyPressed: ObjectProperty[EventHandler[_ >: KeyEvent]] + + +
    Definition Classes
    Node
    +
  146. + + + + + + + + + def + + + onKeyPressed_=(v: EventHandler[_ >: KeyEvent]): Unit + + +
    Definition Classes
    Node
    +
  147. + + + + + + + + + def + + + onKeyReleased: ObjectProperty[EventHandler[_ >: KeyEvent]] + + +
    Definition Classes
    Node
    +
  148. + + + + + + + + + def + + + onKeyReleased_=(v: EventHandler[_ >: KeyEvent]): Unit + + +
    Definition Classes
    Node
    +
  149. + + + + + + + + + def + + + onKeyTyped: ObjectProperty[EventHandler[_ >: KeyEvent]] + + +
    Definition Classes
    Node
    +
  150. + + + + + + + + + def + + + onKeyTyped_=(v: EventHandler[_ >: KeyEvent]): Unit + + +
    Definition Classes
    Node
    +
  151. + + + + + + + + + def + + + onMouseClicked: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  152. + + + + + + + + + def + + + onMouseClicked_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  153. + + + + + + + + + def + + + onMouseDragEntered: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Node
    +
  154. + + + + + + + + + def + + + onMouseDragEntered_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Node
    +
  155. + + + + + + + + + def + + + onMouseDragExited: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Node
    +
  156. + + + + + + + + + def + + + onMouseDragExited_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Node
    +
  157. + + + + + + + + + def + + + onMouseDragOver: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Node
    +
  158. + + + + + + + + + def + + + onMouseDragOver_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Node
    +
  159. + + + + + + + + + def + + + onMouseDragReleased: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Node
    +
  160. + + + + + + + + + def + + + onMouseDragReleased_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Node
    +
  161. + + + + + + + + + def + + + onMouseDragged: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  162. + + + + + + + + + def + + + onMouseDragged_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  163. + + + + + + + + + def + + + onMouseEntered: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  164. + + + + + + + + + def + + + onMouseEntered_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  165. + + + + + + + + + def + + + onMouseExited: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  166. + + + + + + + + + def + + + onMouseExited_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  167. + + + + + + + + + def + + + onMouseMoved: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  168. + + + + + + + + + def + + + onMouseMoved_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  169. + + + + + + + + + def + + + onMousePressed: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  170. + + + + + + + + + def + + + onMousePressed_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  171. + + + + + + + + + def + + + onMouseReleased: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  172. + + + + + + + + + def + + + onMouseReleased_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  173. + + + + + + + + + def + + + onRotate: ObjectProperty[EventHandler[_ >: RotateEvent]] + + +
    Definition Classes
    Node
    +
  174. + + + + + + + + + def + + + onRotate_=(v: EventHandler[_ >: RotateEvent]): Unit + + +
    Definition Classes
    Node
    +
  175. + + + + + + + + + def + + + onRotationFinished: ObjectProperty[EventHandler[_ >: RotateEvent]] + + +
    Definition Classes
    Node
    +
  176. + + + + + + + + + def + + + onRotationFinished_=(v: EventHandler[_ >: RotateEvent]): Unit + + +
    Definition Classes
    Node
    +
  177. + + + + + + + + + def + + + onRotationStarted: ObjectProperty[EventHandler[_ >: RotateEvent]] + + +
    Definition Classes
    Node
    +
  178. + + + + + + + + + def + + + onRotationStarted_=(v: EventHandler[_ >: RotateEvent]): Unit + + +
    Definition Classes
    Node
    +
  179. + + + + + + + + + def + + + onScroll: ObjectProperty[EventHandler[_ >: ScrollEvent]] + + +
    Definition Classes
    Node
    +
  180. + + + + + + + + + def + + + onScrollFinished: ObjectProperty[EventHandler[_ >: ScrollEvent]] + + +
    Definition Classes
    Node
    +
  181. + + + + + + + + + def + + + onScrollFinished_=(v: EventHandler[_ >: ScrollEvent]): Unit + + +
    Definition Classes
    Node
    +
  182. + + + + + + + + + def + + + onScrollStarted: ObjectProperty[EventHandler[_ >: ScrollEvent]] + + +
    Definition Classes
    Node
    +
  183. + + + + + + + + + def + + + onScrollStarted_=(v: EventHandler[_ >: ScrollEvent]): Unit + + +
    Definition Classes
    Node
    +
  184. + + + + + + + + + def + + + onScroll_=(v: EventHandler[_ >: ScrollEvent]): Unit + + +
    Definition Classes
    Node
    +
  185. + + + + + + + + + def + + + onSwipeDown: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Node
    +
  186. + + + + + + + + + def + + + onSwipeDown_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Node
    +
  187. + + + + + + + + + def + + + onSwipeLeft: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Node
    +
  188. + + + + + + + + + def + + + onSwipeLeft_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Node
    +
  189. + + + + + + + + + def + + + onSwipeRight: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Node
    +
  190. + + + + + + + + + def + + + onSwipeRight_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Node
    +
  191. + + + + + + + + + def + + + onSwipeUp: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Node
    +
  192. + + + + + + + + + def + + + onSwipeUp_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Node
    +
  193. + + + + + + + + + def + + + onTouchMoved: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Node
    +
  194. + + + + + + + + + def + + + onTouchMoved_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Node
    +
  195. + + + + + + + + + def + + + onTouchPressed: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Node
    +
  196. + + + + + + + + + def + + + onTouchPressed_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Node
    +
  197. + + + + + + + + + def + + + onTouchReleased: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Node
    +
  198. + + + + + + + + + def + + + onTouchReleased_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Node
    +
  199. + + + + + + + + + def + + + onTouchStationary: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Node
    +
  200. + + + + + + + + + def + + + onTouchStationary_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Node
    +
  201. + + + + + + + + + def + + + onZoom: ObjectProperty[EventHandler[_ >: ZoomEvent]] + + +
    Definition Classes
    Node
    +
  202. + + + + + + + + + def + + + onZoomFinished: ObjectProperty[EventHandler[_ >: ZoomEvent]] + + +
    Definition Classes
    Node
    +
  203. + + + + + + + + + def + + + onZoomFinished_=(v: EventHandler[_ >: ZoomEvent]): Unit + + +
    Definition Classes
    Node
    +
  204. + + + + + + + + + def + + + onZoomStarted: ObjectProperty[EventHandler[_ >: ZoomEvent]] + + +
    Definition Classes
    Node
    +
  205. + + + + + + + + + def + + + onZoomStarted_=(v: EventHandler[_ >: ZoomEvent]): Unit + + +
    Definition Classes
    Node
    +
  206. + + + + + + + + + def + + + onZoom_=(v: EventHandler[_ >: ZoomEvent]): Unit + + +
    Definition Classes
    Node
    +
  207. + + + + + + + + + def + + + opacity: DoubleProperty + + +
    Definition Classes
    Node
    +
  208. + + + + + + + + + def + + + opacity_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  209. + + + + + + + + + def + + + opaqueInsets: ObjectProperty[Insets] + + +
    Definition Classes
    Region
    +
  210. + + + + + + + + + def + + + opaqueInsets_=(v: Insets): Unit + + +
    Definition Classes
    Region
    +
  211. + + + + + + + + + def + + + padding: ObjectProperty[Insets] + + +
    Definition Classes
    Region
    +
  212. + + + + + + + + + def + + + padding_=(v: Insets): Unit + + +
    Definition Classes
    Region
    +
  213. + + + + + + + + + def + + + parent: ReadOnlyObjectProperty[Parent] + + +
    Definition Classes
    Node
    +
  214. + + + + + + + + + def + + + parentToLocal(parentPoint: Point2D): Point2D + + +
    Definition Classes
    Node
    +
  215. + + + + + + + + + def + + + parentToLocal(parentX: Double, parentY: Double): Point2D + + +
    Definition Classes
    Node
    +
  216. + + + + + + + + + def + + + parentToLocal(parentBounds: Bounds): Bounds + + +
    Definition Classes
    Node
    +
  217. + + + + + + + + + def + + + pickOnBounds: BooleanProperty + + +
    Definition Classes
    Node
    +
  218. + + + + + + + + + def + + + pickOnBounds_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  219. + + + + + + + + + def + + + prefHeight: DoubleProperty + + +
    Definition Classes
    Region
    +
  220. + + + + + + + + + def + + + prefHeight_=(v: Double): Unit + + +
    Definition Classes
    Region
    +
  221. + + + + + + + + + def + + + prefWidth: DoubleProperty + + +
    Definition Classes
    Region
    +
  222. + + + + + + + + + def + + + prefWidth_=(v: Double): Unit + + +
    Definition Classes
    Region
    +
  223. + + + + + + + + + def + + + pressed: ReadOnlyBooleanProperty + + +
    Definition Classes
    Node
    +
  224. + + + + + + + + + def + + + pseudoClassStates: ObservableSet[PseudoClass] + + +
    Definition Classes
    Styleable
    +
  225. + + + + + + + + + def + + + relocate(x: Double, y: Double): Unit + + +
    Definition Classes
    Node
    +
  226. + + + + + + + + + def + + + removeEventFilter[E <: Event](eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit + + +
    Definition Classes
    EventHandlerDelegate
    +
  227. + + + + + + + + + def + + + removeEventHandler[E <: Event](eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit + + +
    Definition Classes
    EventHandlerDelegate
    +
  228. + + + + + + + + + def + + + requestFocus(): Unit + + +
    Definition Classes
    Node
    +
  229. + + + + + + + + + def + + + requestLayout(): Unit + + +
    Definition Classes
    VBox
    +
  230. + + + + + + + + + def + + + resize(width: Double, height: Double): Unit + + +
    Definition Classes
    Region → Node
    +
  231. + + + + + + + + + def + + + resize: Boolean + + +
    Definition Classes
    Region
    +
  232. + + + + + + + + + def + + + resizeRelocate(x: Double, y: Double, width: Double, height: Double): Unit + + +
    Definition Classes
    Node
    +
  233. + + + + + + + + + def + + + rotate: DoubleProperty + + +
    Definition Classes
    Node
    +
  234. + + + + + + + + + def + + + rotate_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  235. + + + + + + + + + def + + + rotationAxis: ObjectProperty[Point3D] + + +
    Definition Classes
    Node
    +
  236. + + + + + + + + + def + + + rotationAxis_=(v: Point3D): Unit + + +
    Definition Classes
    Node
    +
  237. + + + + + + + + + def + + + scaleShape: BooleanProperty + + +
    Definition Classes
    Region
    +
  238. + + + + + + + + + def + + + scaleShape_=(v: Boolean): Unit + + +
    Definition Classes
    Region
    +
  239. + + + + + + + + + def + + + scaleX: DoubleProperty + + +
    Definition Classes
    Node
    +
  240. + + + + + + + + + def + + + scaleX_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  241. + + + + + + + + + def + + + scaleY: DoubleProperty + + +
    Definition Classes
    Node
    +
  242. + + + + + + + + + def + + + scaleY_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  243. + + + + + + + + + def + + + scaleZ: DoubleProperty + + +
    Definition Classes
    Node
    +
  244. + + + + + + + + + def + + + scaleZ_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  245. + + + + + + + + + def + + + scene: ReadOnlyObjectProperty[Scene] + + +
    Definition Classes
    Node
    +
  246. + + + + + + + + + def + + + sceneToLocal(scenePoint: Point2D): Point2D + + +
    Definition Classes
    Node
    +
  247. + + + + + + + + + def + + + sceneToLocal(sceneX: Double, sceneY: Double): Point2D + + +
    Definition Classes
    Node
    +
  248. + + + + + + + + + def + + + sceneToLocal(sceneBounds: Bounds): Bounds + + +
    Definition Classes
    Node
    +
  249. + + + + + + + + + def + + + shape: ObjectProperty[Shape] + + +
    Definition Classes
    Region
    +
  250. + + + + + + + + + def + + + shape_=(v: Shape): Unit + + +
    Definition Classes
    Region
    +
  251. + + + + + + + + + def + + + snapToPixel: BooleanProperty + + +
    Definition Classes
    Region
    +
  252. + + + + + + + + + def + + + snapToPixel_=(v: Boolean): Unit + + +
    Definition Classes
    Region
    +
  253. + + + + + + + + + def + + + snapshot(callback: (SnapshotResult) ⇒ Unit, params: SnapshotParameters, image: WritableImage): Unit + + +
    Definition Classes
    Node
    +
  254. + + + + + + + + + def + + + snapshot(params: SnapshotParameters, image: WritableImage): WritableImage + + +
    Definition Classes
    Node
    +
  255. + + + + + + + + + def + + + spacing: DoubleProperty + + +
    Definition Classes
    VBox
    +
  256. + + + + + + + + + def + + + spacing_=(v: Double): Unit + + +
    Definition Classes
    VBox
    +
  257. + + + + + + + + + def + + + startDragAndDrop(transferModes: TransferMode*): Dragboard + + +
    Definition Classes
    Node
    +
  258. + + + + + + + + + def + + + startFullDrag(): Unit + + +
    Definition Classes
    Node
    +
  259. + + + + + + + + + def + + + style: StringProperty + + +
    Definition Classes
    Node
    +
  260. + + + + + + + + + def + + + styleClass: ObservableBuffer[String] + + +
    Definition Classes
    Styleable
    +
  261. + + + + + + + + + def + + + styleClass_=(c: Iterable[String]): Unit + + +
    Definition Classes
    Node
    +
  262. + + + + + + + + + def + + + style_=(v: String): Unit + + +
    Definition Classes
    Node
    +
  263. + + + + + + + + + def + + + styleableParent: Styleable + + +
    Definition Classes
    Styleable
    +
  264. + + + + + + + + + def + + + stylesheets: ObservableList[String] + + +
    Definition Classes
    Parent
    +
  265. + + + + + + + + + def + + + stylesheets_=(c: Iterable[String]): Unit + + +
    Definition Classes
    Parent
    +
  266. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  267. + + + + + + + + + def + + + toBack(): Unit + + +
    Definition Classes
    Node
    +
  268. + + + + + + + + + def + + + toFront(): Unit + + +
    Definition Classes
    Node
    +
  269. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    SFXDelegate → AnyRef → Any
    +
  270. + + + + + + + + + def + + + transforms: ObservableList[Transform] + + +
    Definition Classes
    Node
    +
  271. + + + + + + + + + def + + + transforms_=(c: Iterable[Transform]): Unit + + +
    Definition Classes
    Node
    +
  272. + + + + + + + + + def + + + translateX: DoubleProperty + + +
    Definition Classes
    Node
    +
  273. + + + + + + + + + def + + + translateX_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  274. + + + + + + + + + def + + + translateY: DoubleProperty + + +
    Definition Classes
    Node
    +
  275. + + + + + + + + + def + + + translateY_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  276. + + + + + + + + + def + + + translateZ: DoubleProperty + + +
    Definition Classes
    Node
    +
  277. + + + + + + + + + def + + + translateZ_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  278. + + + + + + + + + def + + + typeSelector: String + + +
    Definition Classes
    Styleable
    +
  279. + + + + + + + + + def + + + userData: AnyRef + + +
    Definition Classes
    Node
    +
  280. + + + + + + + + + def + + + userData_=(v: AnyRef): Unit + + +
    Definition Classes
    Node
    +
  281. + + + + + + + + + def + + + vgrow: Priority + + +
    Definition Classes
    Node
    +
  282. + + + + + + + + + def + + + vgrow_=(p: Priority): Unit + + +
    Definition Classes
    Node
    +
  283. + + + + + + + + + def + + + visible: BooleanProperty + + +
    Definition Classes
    Node
    +
  284. + + + + + + + + + def + + + visible_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  285. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  286. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  287. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  288. + + + + + + + + + def + + + width: ReadOnlyDoubleProperty + + +
    Definition Classes
    Region
    +
  289. +
+
+ + + + +
+ +
+
+

Inherited from VBox

+
+

Inherited from AlignmentDelegate[VBox]

+
+

Inherited from Pane

+
+

Inherited from Region

+
+

Inherited from Parent

+
+

Inherited from Node

+
+

Inherited from Styleable

+
+

Inherited from SFXDelegate[VBox]

+
+

Inherited from EventHandlerDelegate

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/LevelScreen$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/LevelScreen$.html new file mode 100644 index 00000000..76a41834 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/LevelScreen$.html @@ -0,0 +1,726 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.components.LevelScreen + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.mvc.view.components

+

LevelScreen + + + +

+

+
+ +

+ + + object + + + LevelScreen + +

+ + +

A simple splash screen shown at the beginning of the level +

+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. LevelScreen
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + +
+

Type Members

+
  1. + + + + + + + + + case class + + + Builder(parentScene: Scene) extends Product with Serializable + + +

    Builder.

    Builder. The provided scene is used to determine the screen width and height

    parentScene

    the scene in which the screen will be shown

    +
  2. + + + + + + + + + class + + + LevelScreenImpl extends VBox + + +

    A protected class representing a black level screen

    A protected class representing a black level screen

    Attributes
    protected
    +
+
+ + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/LevelStateBox.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/LevelStateBox.html new file mode 100644 index 00000000..483da50b --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/LevelStateBox.html @@ -0,0 +1,5112 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.components.LevelStateBox + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.mvc.view.components

+

LevelStateBox + + + +

+

+
+ +

+ + + class + + + LevelStateBox extends VBox + +

+ + +

Simple box to manage pause, resume and exit events +

+ + Linear Supertypes + +
VBox, AlignmentDelegate[VBox], Pane, Region, Parent, Node, Styleable, SFXDelegate[VBox], EventHandlerDelegate, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. LevelStateBox
  2. VBox
  3. AlignmentDelegate
  4. Pane
  5. Region
  6. Parent
  7. Node
  8. Styleable
  9. SFXDelegate
  10. EventHandlerDelegate
  11. AnyRef
  12. Any
  13. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + LevelStateBox(listener: LevelStateBoxListener, vSpacing: Double) + + + +
+
+ +
+

Type Members

+
  1. + + + + + + + + + type + + + EventHandled = AnyRef { ... /* 5 definitions in type refinement */ } + + +
    Definition Classes
    EventHandlerDelegate
    +
  2. + + + + + + + + sealed + trait + + + FilterMagnet[J <: Event, S <: SFXDelegate[J]] extends AnyRef + + +
    Definition Classes
    EventHandlerDelegate
    +
  3. + + + + + + + + sealed + trait + + + HandlerMagnet[J <: Event, S <: SFXDelegate[J]] extends AnyRef + + +
    Definition Classes
    EventHandlerDelegate
    +
+
+ + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + def + + + accessibleHelp: ObjectProperty[String] + + +
    Definition Classes
    Node
    +
  5. + + + + + + + + + def + + + accessibleHelp_=(v: String): Unit + + +
    Definition Classes
    Node
    +
  6. + + + + + + + + + def + + + accessibleRole: ObjectProperty[AccessibleRole] + + +
    Definition Classes
    Node
    +
  7. + + + + + + + + + def + + + accessibleRoleDescription: ObjectProperty[String] + + +
    Definition Classes
    Node
    +
  8. + + + + + + + + + def + + + accessibleRoleDescription_=(v: String): Unit + + +
    Definition Classes
    Node
    +
  9. + + + + + + + + + def + + + accessibleRole_=(v: AccessibleRole): Unit + + +
    Definition Classes
    Node
    +
  10. + + + + + + + + + def + + + accessibleText: ObjectProperty[String] + + +
    Definition Classes
    Node
    +
  11. + + + + + + + + + def + + + accessibleText_=(v: String): Unit + + +
    Definition Classes
    Node
    +
  12. + + + + + + + + + def + + + addEventFilter[E <: Event](eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit + + +
    Definition Classes
    EventHandlerDelegate
    +
  13. + + + + + + + + + def + + + addEventHandler[E <: Event](eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit + + +
    Definition Classes
    EventHandlerDelegate
    +
  14. + + + + + + + + + def + + + alignment: ObjectProperty[Pos] + + +
    Definition Classes
    AlignmentDelegate
    +
  15. + + + + + + + + + def + + + alignmentInParent: Pos + + +
    Definition Classes
    Node
    +
  16. + + + + + + + + + def + + + alignmentInParent_=(p: Pos): Unit + + +
    Definition Classes
    Node
    +
  17. + + + + + + + + + def + + + alignment_=(v: Pos): Unit + + +
    Definition Classes
    AlignmentDelegate
    +
  18. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  19. + + + + + + + + + def + + + autosize(): Unit + + +
    Definition Classes
    Node
    +
  20. + + + + + + + + + def + + + background: ObjectProperty[Background] + + +
    Definition Classes
    Region
    +
  21. + + + + + + + + + def + + + background_=(v: Background): Unit + + +
    Definition Classes
    Region
    +
  22. + + + + + + + + + def + + + baselineOffset: Double + + +
    Definition Classes
    Node
    +
  23. + + + + + + + + + def + + + blendMode: ObjectProperty[BlendMode] + + +
    Definition Classes
    Node
    +
  24. + + + + + + + + + def + + + blendMode_=(v: BlendMode): Unit + + +
    Definition Classes
    Node
    +
  25. + + + + + + + + + def + + + border: ObjectProperty[Border] + + +
    Definition Classes
    Region
    +
  26. + + + + + + + + + def + + + border_=(v: Border): Unit + + +
    Definition Classes
    Region
    +
  27. + + + + + + + + + def + + + boundsInLocal: ReadOnlyObjectProperty[Bounds] + + +
    Definition Classes
    Node
    +
  28. + + + + + + + + + def + + + boundsInParent: ReadOnlyObjectProperty[Bounds] + + +
    Definition Classes
    Node
    +
  29. + + + + + + + + + def + + + buildEventDispatchChain(chain: EventDispatchChain): EventDispatchChain + + +
    Definition Classes
    EventHandlerDelegate
    +
  30. + + + + + + + + + def + + + cache: BooleanProperty + + +
    Definition Classes
    Node
    +
  31. + + + + + + + + + def + + + cacheHint: ObjectProperty[CacheHint] + + +
    Definition Classes
    Node
    +
  32. + + + + + + + + + def + + + cacheHint_=(v: CacheHint): Unit + + +
    Definition Classes
    Node
    +
  33. + + + + + + + + + def + + + cacheShape: BooleanProperty + + +
    Definition Classes
    Region
    +
  34. + + + + + + + + + def + + + cacheShape_=(v: Boolean): Unit + + +
    Definition Classes
    Region
    +
  35. + + + + + + + + + def + + + cache_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  36. + + + + + + + + + def + + + centerShape: BooleanProperty + + +
    Definition Classes
    Region
    +
  37. + + + + + + + + + def + + + centerShape_=(v: Boolean): Unit + + +
    Definition Classes
    Region
    +
  38. + + + + + + + + + def + + + children: ObservableList[Node] + + +
    Definition Classes
    Pane
    +
  39. + + + + + + + + + def + + + children_=(n: Node): Unit + + +
    Definition Classes
    Pane
    +
  40. + + + + + + + + + def + + + children_=(c: Iterable[Node]): Unit + + +
    Definition Classes
    Pane
    +
  41. + + + + + + + + + def + + + clip: ObjectProperty[Node] + + +
    Definition Classes
    Node
    +
  42. + + + + + + + + + def + + + clip_=(v: Node): Unit + + +
    Definition Classes
    Node
    +
  43. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  44. + + + + + + + + + def + + + contains(localPoint: Point2D): Boolean + + +
    Definition Classes
    Node
    +
  45. + + + + + + + + + def + + + contains(localX: Double, localY: Double): Boolean + + +
    Definition Classes
    Node
    +
  46. + + + + + + + + + def + + + contentBias: Orientation + + +
    Definition Classes
    Node
    +
  47. + + + + + + + + + def + + + cssMetaData: Seq[CssMetaData[_ <: Styleable, _]] + + +
    Definition Classes
    Styleable
    +
  48. + + + + + + + + + def + + + cursor: ObjectProperty[Cursor] + + +
    Definition Classes
    Node
    +
  49. + + + + + + + + + def + + + cursor_=(v: Cursor): Unit + + +
    Definition Classes
    Node
    +
  50. + + + + + + + + + val + + + delegate: VBox + + +
    Definition Classes
    VBox → Pane → Region → Parent → Node → SFXDelegate
    +
  51. + + + + + + + + + def + + + depthTest: ObjectProperty[DepthTest] + + +
    Definition Classes
    Node
    +
  52. + + + + + + + + + def + + + depthTest_=(v: DepthTest): Unit + + +
    Definition Classes
    Node
    +
  53. + + + + + + + + + def + + + disable: BooleanProperty + + +
    Definition Classes
    Node
    +
  54. + + + + + + + + + def + + + disable_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  55. + + + + + + + + + def + + + disabled: ReadOnlyBooleanProperty + + +
    Definition Classes
    Node
    +
  56. + + + + + + + + + def + + + effect: ObjectProperty[Effect] + + +
    Definition Classes
    Node
    +
  57. + + + + + + + + + def + + + effect_=(v: Effect): Unit + + +
    Definition Classes
    Node
    +
  58. + + + + + + + + + def + + + effectiveNodeOrientation: ReadOnlyObjectProperty[NodeOrientation] + + +
    Definition Classes
    Node
    +
  59. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  60. + + + + + + + + + def + + + equals(ref: Any): Boolean + + +
    Definition Classes
    SFXDelegate → AnyRef → Any
    +
  61. + + + + + + + + + def + + + eventDispatcher: ObjectProperty[EventDispatcher] + + +
    Definition Classes
    Node
    +
  62. + + + + + + + + + def + + + eventDispatcher_=(v: EventDispatcher): Unit + + +
    Definition Classes
    Node
    +
  63. + + + + + + + + + def + + + eventHandlerDelegate: EventHandled + + +
    Attributes
    protected
    Definition Classes
    Node → EventHandlerDelegate
    +
  64. + + + + + + + + + def + + + fillWidth: BooleanProperty + + +
    Definition Classes
    VBox
    +
  65. + + + + + + + + + def + + + fillWidth_=(v: Boolean): Unit + + +
    Definition Classes
    VBox
    +
  66. + + + + + + + + + def + + + filterEvent[J <: Event, S <: Event with SFXDelegate[J]](eventType: EventType[J])(filter: FilterMagnet[J, S]): Subscription + + +
    Definition Classes
    EventHandlerDelegate
    +
  67. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  68. + + + + + + + + + def + + + fireEvent(event: Event): Unit + + +
    Definition Classes
    Node
    +
  69. + + + + + + + + + def + + + focusTraversable: BooleanProperty + + +
    Definition Classes
    Node
    +
  70. + + + + + + + + + def + + + focusTraversable_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  71. + + + + + + + + + def + + + focused: ReadOnlyBooleanProperty + + +
    Definition Classes
    Node
    +
  72. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  73. + + + + + + + + + def + + + getContentBias: Orientation + + +
    Definition Classes
    VBox
    +
  74. + + + + + + + + + def + + + getId: String + + +
    Definition Classes
    Styleable
    +
  75. + + + + + + + + + def + + + getStyle: String + + +
    Definition Classes
    Styleable
    +
  76. + + + + + + + + + def + + + handleEvent[J <: Event, S <: Event with SFXDelegate[J]](eventType: EventType[J])(handler: HandlerMagnet[J, S]): Subscription + + +
    Definition Classes
    EventHandlerDelegate
    +
  77. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    SFXDelegate → AnyRef → Any
    +
  78. + + + + + + + + + def + + + height: ReadOnlyDoubleProperty + + +
    Definition Classes
    Region
    +
  79. + + + + + + + + + def + + + hgrow: Priority + + +
    Definition Classes
    Node
    +
  80. + + + + + + + + + def + + + hgrow_=(p: Priority): Unit + + +
    Definition Classes
    Node
    +
  81. + + + + + + + + + def + + + hover: ReadOnlyBooleanProperty + + +
    Definition Classes
    Node
    +
  82. + + + + + + + + + def + + + id: StringProperty + + +
    Definition Classes
    Node
    +
  83. + + + + + + + + + def + + + id_=(v: String): Unit + + +
    Definition Classes
    Node
    +
  84. + + + + + + + + + def + + + inputMethodRequests: ObjectProperty[InputMethodRequests] + + +
    Definition Classes
    Node
    +
  85. + + + + + + + + + def + + + inputMethodRequests_=(v: InputMethodRequests): Unit + + +
    Definition Classes
    Node
    +
  86. + + + + + + + + + def + + + insets: Insets + + +
    Definition Classes
    Region
    +
  87. + + + + + + + + + def + + + intersects(localX: Double, localY: Double, localWidth: Double, localHeight: Double): Boolean + + +
    Definition Classes
    Node
    +
  88. + + + + + + + + + def + + + intersects(localBounds: Bounds): Boolean + + +
    Definition Classes
    Node
    +
  89. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  90. + + + + + + + + + def + + + layoutBounds: ReadOnlyObjectProperty[Bounds] + + +
    Definition Classes
    Node
    +
  91. + + + + + + + + + def + + + layoutX: DoubleProperty + + +
    Definition Classes
    Node
    +
  92. + + + + + + + + + def + + + layoutX_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  93. + + + + + + + + + def + + + layoutY: DoubleProperty + + +
    Definition Classes
    Node
    +
  94. + + + + + + + + + def + + + layoutY_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  95. + + + + + + + + + val + + + listener: LevelStateBoxListener + + + +
  96. + + + + + + + + + def + + + localToParent(localPoint: Point2D): Point2D + + +
    Definition Classes
    Node
    +
  97. + + + + + + + + + def + + + localToParent(localX: Double, localY: Double): Point2D + + +
    Definition Classes
    Node
    +
  98. + + + + + + + + + def + + + localToParent(localBounds: Bounds): Bounds + + +
    Definition Classes
    Node
    +
  99. + + + + + + + + + def + + + localToParentTransform: Transform + + +
    Definition Classes
    Node
    +
  100. + + + + + + + + + def + + + localToScene(localPoint: Point2D): Point2D + + +
    Definition Classes
    Node
    +
  101. + + + + + + + + + def + + + localToScene(localX: Double, localY: Double): Point2D + + +
    Definition Classes
    Node
    +
  102. + + + + + + + + + def + + + localToScene(localBounds: Bounds): Bounds + + +
    Definition Classes
    Node
    +
  103. + + + + + + + + + def + + + localToSceneTransform: Transform + + +
    Definition Classes
    Node
    +
  104. + + + + + + + + + def + + + lookup(selector: String): Node + + +
    Definition Classes
    Node
    +
  105. + + + + + + + + + def + + + lookupAll(selector: String): Set[Node] + + +
    Definition Classes
    Node
    +
  106. + + + + + + + + + def + + + managed: BooleanProperty + + +
    Definition Classes
    Node
    +
  107. + + + + + + + + + def + + + managed_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  108. + + + + + + + + + def + + + margin: Insets + + +
    Definition Classes
    Node
    +
  109. + + + + + + + + + def + + + margin_=(i: Insets): Unit + + +
    Definition Classes
    Node
    +
  110. + + + + + + + + + def + + + maxHeight: DoubleProperty + + +
    Definition Classes
    Region
    +
  111. + + + + + + + + + def + + + maxHeight(width: Double): Double + + +
    Definition Classes
    Node
    +
  112. + + + + + + + + + def + + + maxHeight_=(v: Double): Unit + + +
    Definition Classes
    Region
    +
  113. + + + + + + + + + def + + + maxWidth: DoubleProperty + + +
    Definition Classes
    Region
    +
  114. + + + + + + + + + def + + + maxWidth(height: Double): Double + + +
    Definition Classes
    Node
    +
  115. + + + + + + + + + def + + + maxWidth_=(v: Double): Unit + + +
    Definition Classes
    Region
    +
  116. + + + + + + + + + def + + + minHeight: DoubleProperty + + +
    Definition Classes
    Region
    +
  117. + + + + + + + + + def + + + minHeight(width: Double): Double + + +
    Definition Classes
    Node
    +
  118. + + + + + + + + + def + + + minHeight_=(v: Double): Unit + + +
    Definition Classes
    Region
    +
  119. + + + + + + + + + def + + + minWidth: DoubleProperty + + +
    Definition Classes
    Region
    +
  120. + + + + + + + + + def + + + minWidth(height: Double): Double + + +
    Definition Classes
    Node
    +
  121. + + + + + + + + + def + + + minWidth_=(v: Double): Unit + + +
    Definition Classes
    Region
    +
  122. + + + + + + + + + def + + + mouseTransparent: BooleanProperty + + +
    Definition Classes
    Node
    +
  123. + + + + + + + + + def + + + mouseTransparent_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  124. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  125. + + + + + + + + + def + + + needsLayout: ReadOnlyBooleanProperty + + +
    Definition Classes
    Parent
    +
  126. + + + + + + + + + def + + + nodeOrientation: ObjectProperty[NodeOrientation] + + +
    Definition Classes
    Node
    +
  127. + + + + + + + + + def + + + nodeOrientation_=(v: NodeOrientation): Unit + + +
    Definition Classes
    Node
    +
  128. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  129. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  130. + + + + + + + + + def + + + onContextMenuRequested: ObjectProperty[EventHandler[_ >: ContextMenuEvent]] + + +
    Definition Classes
    Node
    +
  131. + + + + + + + + + def + + + onContextMenuRequested_=(v: EventHandler[_ >: ContextMenuEvent]): Unit + + +
    Definition Classes
    Node
    +
  132. + + + + + + + + + def + + + onDragDetected: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  133. + + + + + + + + + def + + + onDragDetected_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  134. + + + + + + + + + def + + + onDragDone: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Node
    +
  135. + + + + + + + + + def + + + onDragDone_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Node
    +
  136. + + + + + + + + + def + + + onDragDropped: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Node
    +
  137. + + + + + + + + + def + + + onDragDropped_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Node
    +
  138. + + + + + + + + + def + + + onDragEntered: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Node
    +
  139. + + + + + + + + + def + + + onDragEntered_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Node
    +
  140. + + + + + + + + + def + + + onDragExited: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Node
    +
  141. + + + + + + + + + def + + + onDragExited_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Node
    +
  142. + + + + + + + + + def + + + onDragOver: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Node
    +
  143. + + + + + + + + + def + + + onDragOver_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Node
    +
  144. + + + + + + + + + def + + + onInputMethodTextChanged: ObjectProperty[EventHandler[_ >: InputMethodEvent]] + + +
    Definition Classes
    Node
    +
  145. + + + + + + + + + def + + + onInputMethodTextChanged_=(v: EventHandler[_ >: InputMethodEvent]): Unit + + +
    Definition Classes
    Node
    +
  146. + + + + + + + + + def + + + onKeyPressed: ObjectProperty[EventHandler[_ >: KeyEvent]] + + +
    Definition Classes
    Node
    +
  147. + + + + + + + + + def + + + onKeyPressed_=(v: EventHandler[_ >: KeyEvent]): Unit + + +
    Definition Classes
    Node
    +
  148. + + + + + + + + + def + + + onKeyReleased: ObjectProperty[EventHandler[_ >: KeyEvent]] + + +
    Definition Classes
    Node
    +
  149. + + + + + + + + + def + + + onKeyReleased_=(v: EventHandler[_ >: KeyEvent]): Unit + + +
    Definition Classes
    Node
    +
  150. + + + + + + + + + def + + + onKeyTyped: ObjectProperty[EventHandler[_ >: KeyEvent]] + + +
    Definition Classes
    Node
    +
  151. + + + + + + + + + def + + + onKeyTyped_=(v: EventHandler[_ >: KeyEvent]): Unit + + +
    Definition Classes
    Node
    +
  152. + + + + + + + + + def + + + onMouseClicked: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  153. + + + + + + + + + def + + + onMouseClicked_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  154. + + + + + + + + + def + + + onMouseDragEntered: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Node
    +
  155. + + + + + + + + + def + + + onMouseDragEntered_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Node
    +
  156. + + + + + + + + + def + + + onMouseDragExited: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Node
    +
  157. + + + + + + + + + def + + + onMouseDragExited_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Node
    +
  158. + + + + + + + + + def + + + onMouseDragOver: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Node
    +
  159. + + + + + + + + + def + + + onMouseDragOver_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Node
    +
  160. + + + + + + + + + def + + + onMouseDragReleased: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Node
    +
  161. + + + + + + + + + def + + + onMouseDragReleased_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Node
    +
  162. + + + + + + + + + def + + + onMouseDragged: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  163. + + + + + + + + + def + + + onMouseDragged_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  164. + + + + + + + + + def + + + onMouseEntered: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  165. + + + + + + + + + def + + + onMouseEntered_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  166. + + + + + + + + + def + + + onMouseExited: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  167. + + + + + + + + + def + + + onMouseExited_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  168. + + + + + + + + + def + + + onMouseMoved: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  169. + + + + + + + + + def + + + onMouseMoved_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  170. + + + + + + + + + def + + + onMousePressed: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  171. + + + + + + + + + def + + + onMousePressed_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  172. + + + + + + + + + def + + + onMouseReleased: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  173. + + + + + + + + + def + + + onMouseReleased_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  174. + + + + + + + + + def + + + onRotate: ObjectProperty[EventHandler[_ >: RotateEvent]] + + +
    Definition Classes
    Node
    +
  175. + + + + + + + + + def + + + onRotate_=(v: EventHandler[_ >: RotateEvent]): Unit + + +
    Definition Classes
    Node
    +
  176. + + + + + + + + + def + + + onRotationFinished: ObjectProperty[EventHandler[_ >: RotateEvent]] + + +
    Definition Classes
    Node
    +
  177. + + + + + + + + + def + + + onRotationFinished_=(v: EventHandler[_ >: RotateEvent]): Unit + + +
    Definition Classes
    Node
    +
  178. + + + + + + + + + def + + + onRotationStarted: ObjectProperty[EventHandler[_ >: RotateEvent]] + + +
    Definition Classes
    Node
    +
  179. + + + + + + + + + def + + + onRotationStarted_=(v: EventHandler[_ >: RotateEvent]): Unit + + +
    Definition Classes
    Node
    +
  180. + + + + + + + + + def + + + onScroll: ObjectProperty[EventHandler[_ >: ScrollEvent]] + + +
    Definition Classes
    Node
    +
  181. + + + + + + + + + def + + + onScrollFinished: ObjectProperty[EventHandler[_ >: ScrollEvent]] + + +
    Definition Classes
    Node
    +
  182. + + + + + + + + + def + + + onScrollFinished_=(v: EventHandler[_ >: ScrollEvent]): Unit + + +
    Definition Classes
    Node
    +
  183. + + + + + + + + + def + + + onScrollStarted: ObjectProperty[EventHandler[_ >: ScrollEvent]] + + +
    Definition Classes
    Node
    +
  184. + + + + + + + + + def + + + onScrollStarted_=(v: EventHandler[_ >: ScrollEvent]): Unit + + +
    Definition Classes
    Node
    +
  185. + + + + + + + + + def + + + onScroll_=(v: EventHandler[_ >: ScrollEvent]): Unit + + +
    Definition Classes
    Node
    +
  186. + + + + + + + + + def + + + onSwipeDown: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Node
    +
  187. + + + + + + + + + def + + + onSwipeDown_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Node
    +
  188. + + + + + + + + + def + + + onSwipeLeft: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Node
    +
  189. + + + + + + + + + def + + + onSwipeLeft_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Node
    +
  190. + + + + + + + + + def + + + onSwipeRight: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Node
    +
  191. + + + + + + + + + def + + + onSwipeRight_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Node
    +
  192. + + + + + + + + + def + + + onSwipeUp: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Node
    +
  193. + + + + + + + + + def + + + onSwipeUp_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Node
    +
  194. + + + + + + + + + def + + + onTouchMoved: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Node
    +
  195. + + + + + + + + + def + + + onTouchMoved_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Node
    +
  196. + + + + + + + + + def + + + onTouchPressed: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Node
    +
  197. + + + + + + + + + def + + + onTouchPressed_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Node
    +
  198. + + + + + + + + + def + + + onTouchReleased: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Node
    +
  199. + + + + + + + + + def + + + onTouchReleased_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Node
    +
  200. + + + + + + + + + def + + + onTouchStationary: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Node
    +
  201. + + + + + + + + + def + + + onTouchStationary_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Node
    +
  202. + + + + + + + + + def + + + onZoom: ObjectProperty[EventHandler[_ >: ZoomEvent]] + + +
    Definition Classes
    Node
    +
  203. + + + + + + + + + def + + + onZoomFinished: ObjectProperty[EventHandler[_ >: ZoomEvent]] + + +
    Definition Classes
    Node
    +
  204. + + + + + + + + + def + + + onZoomFinished_=(v: EventHandler[_ >: ZoomEvent]): Unit + + +
    Definition Classes
    Node
    +
  205. + + + + + + + + + def + + + onZoomStarted: ObjectProperty[EventHandler[_ >: ZoomEvent]] + + +
    Definition Classes
    Node
    +
  206. + + + + + + + + + def + + + onZoomStarted_=(v: EventHandler[_ >: ZoomEvent]): Unit + + +
    Definition Classes
    Node
    +
  207. + + + + + + + + + def + + + onZoom_=(v: EventHandler[_ >: ZoomEvent]): Unit + + +
    Definition Classes
    Node
    +
  208. + + + + + + + + + def + + + opacity: DoubleProperty + + +
    Definition Classes
    Node
    +
  209. + + + + + + + + + def + + + opacity_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  210. + + + + + + + + + def + + + opaqueInsets: ObjectProperty[Insets] + + +
    Definition Classes
    Region
    +
  211. + + + + + + + + + def + + + opaqueInsets_=(v: Insets): Unit + + +
    Definition Classes
    Region
    +
  212. + + + + + + + + + def + + + padding: ObjectProperty[Insets] + + +
    Definition Classes
    Region
    +
  213. + + + + + + + + + def + + + padding_=(v: Insets): Unit + + +
    Definition Classes
    Region
    +
  214. + + + + + + + + + def + + + parent: ReadOnlyObjectProperty[Parent] + + +
    Definition Classes
    Node
    +
  215. + + + + + + + + + def + + + parentToLocal(parentPoint: Point2D): Point2D + + +
    Definition Classes
    Node
    +
  216. + + + + + + + + + def + + + parentToLocal(parentX: Double, parentY: Double): Point2D + + +
    Definition Classes
    Node
    +
  217. + + + + + + + + + def + + + parentToLocal(parentBounds: Bounds): Bounds + + +
    Definition Classes
    Node
    +
  218. + + + + + + + + + def + + + pickOnBounds: BooleanProperty + + +
    Definition Classes
    Node
    +
  219. + + + + + + + + + def + + + pickOnBounds_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  220. + + + + + + + + + def + + + prefHeight: DoubleProperty + + +
    Definition Classes
    Region
    +
  221. + + + + + + + + + def + + + prefHeight_=(v: Double): Unit + + +
    Definition Classes
    Region
    +
  222. + + + + + + + + + def + + + prefWidth: DoubleProperty + + +
    Definition Classes
    Region
    +
  223. + + + + + + + + + def + + + prefWidth_=(v: Double): Unit + + +
    Definition Classes
    Region
    +
  224. + + + + + + + + + def + + + pressed: ReadOnlyBooleanProperty + + +
    Definition Classes
    Node
    +
  225. + + + + + + + + + def + + + pseudoClassStates: ObservableSet[PseudoClass] + + +
    Definition Classes
    Styleable
    +
  226. + + + + + + + + + def + + + relocate(x: Double, y: Double): Unit + + +
    Definition Classes
    Node
    +
  227. + + + + + + + + + def + + + removeEventFilter[E <: Event](eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit + + +
    Definition Classes
    EventHandlerDelegate
    +
  228. + + + + + + + + + def + + + removeEventHandler[E <: Event](eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit + + +
    Definition Classes
    EventHandlerDelegate
    +
  229. + + + + + + + + + def + + + requestFocus(): Unit + + +
    Definition Classes
    Node
    +
  230. + + + + + + + + + def + + + requestLayout(): Unit + + +
    Definition Classes
    VBox
    +
  231. + + + + + + + + + def + + + resize(width: Double, height: Double): Unit + + +
    Definition Classes
    Region → Node
    +
  232. + + + + + + + + + def + + + resize: Boolean + + +
    Definition Classes
    Region
    +
  233. + + + + + + + + + def + + + resizeRelocate(x: Double, y: Double, width: Double, height: Double): Unit + + +
    Definition Classes
    Node
    +
  234. + + + + + + + + + def + + + rotate: DoubleProperty + + +
    Definition Classes
    Node
    +
  235. + + + + + + + + + def + + + rotate_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  236. + + + + + + + + + def + + + rotationAxis: ObjectProperty[Point3D] + + +
    Definition Classes
    Node
    +
  237. + + + + + + + + + def + + + rotationAxis_=(v: Point3D): Unit + + +
    Definition Classes
    Node
    +
  238. + + + + + + + + + def + + + scaleShape: BooleanProperty + + +
    Definition Classes
    Region
    +
  239. + + + + + + + + + def + + + scaleShape_=(v: Boolean): Unit + + +
    Definition Classes
    Region
    +
  240. + + + + + + + + + def + + + scaleX: DoubleProperty + + +
    Definition Classes
    Node
    +
  241. + + + + + + + + + def + + + scaleX_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  242. + + + + + + + + + def + + + scaleY: DoubleProperty + + +
    Definition Classes
    Node
    +
  243. + + + + + + + + + def + + + scaleY_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  244. + + + + + + + + + def + + + scaleZ: DoubleProperty + + +
    Definition Classes
    Node
    +
  245. + + + + + + + + + def + + + scaleZ_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  246. + + + + + + + + + def + + + scene: ReadOnlyObjectProperty[Scene] + + +
    Definition Classes
    Node
    +
  247. + + + + + + + + + def + + + sceneToLocal(scenePoint: Point2D): Point2D + + +
    Definition Classes
    Node
    +
  248. + + + + + + + + + def + + + sceneToLocal(sceneX: Double, sceneY: Double): Point2D + + +
    Definition Classes
    Node
    +
  249. + + + + + + + + + def + + + sceneToLocal(sceneBounds: Bounds): Bounds + + +
    Definition Classes
    Node
    +
  250. + + + + + + + + + def + + + shape: ObjectProperty[Shape] + + +
    Definition Classes
    Region
    +
  251. + + + + + + + + + def + + + shape_=(v: Shape): Unit + + +
    Definition Classes
    Region
    +
  252. + + + + + + + + + def + + + snapToPixel: BooleanProperty + + +
    Definition Classes
    Region
    +
  253. + + + + + + + + + def + + + snapToPixel_=(v: Boolean): Unit + + +
    Definition Classes
    Region
    +
  254. + + + + + + + + + def + + + snapshot(callback: (SnapshotResult) ⇒ Unit, params: SnapshotParameters, image: WritableImage): Unit + + +
    Definition Classes
    Node
    +
  255. + + + + + + + + + def + + + snapshot(params: SnapshotParameters, image: WritableImage): WritableImage + + +
    Definition Classes
    Node
    +
  256. + + + + + + + + + def + + + spacing: DoubleProperty + + +
    Definition Classes
    VBox
    +
  257. + + + + + + + + + def + + + spacing_=(v: Double): Unit + + +
    Definition Classes
    VBox
    +
  258. + + + + + + + + + def + + + startDragAndDrop(transferModes: TransferMode*): Dragboard + + +
    Definition Classes
    Node
    +
  259. + + + + + + + + + def + + + startFullDrag(): Unit + + +
    Definition Classes
    Node
    +
  260. + + + + + + + + + def + + + style: StringProperty + + +
    Definition Classes
    Node
    +
  261. + + + + + + + + + def + + + styleClass: ObservableBuffer[String] + + +
    Definition Classes
    Styleable
    +
  262. + + + + + + + + + def + + + styleClass_=(c: Iterable[String]): Unit + + +
    Definition Classes
    Node
    +
  263. + + + + + + + + + def + + + style_=(v: String): Unit + + +
    Definition Classes
    Node
    +
  264. + + + + + + + + + def + + + styleableParent: Styleable + + +
    Definition Classes
    Styleable
    +
  265. + + + + + + + + + def + + + stylesheets: ObservableList[String] + + +
    Definition Classes
    Parent
    +
  266. + + + + + + + + + def + + + stylesheets_=(c: Iterable[String]): Unit + + +
    Definition Classes
    Parent
    +
  267. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  268. + + + + + + + + + def + + + toBack(): Unit + + +
    Definition Classes
    Node
    +
  269. + + + + + + + + + def + + + toFront(): Unit + + +
    Definition Classes
    Node
    +
  270. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    SFXDelegate → AnyRef → Any
    +
  271. + + + + + + + + + def + + + transforms: ObservableList[Transform] + + +
    Definition Classes
    Node
    +
  272. + + + + + + + + + def + + + transforms_=(c: Iterable[Transform]): Unit + + +
    Definition Classes
    Node
    +
  273. + + + + + + + + + def + + + translateX: DoubleProperty + + +
    Definition Classes
    Node
    +
  274. + + + + + + + + + def + + + translateX_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  275. + + + + + + + + + def + + + translateY: DoubleProperty + + +
    Definition Classes
    Node
    +
  276. + + + + + + + + + def + + + translateY_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  277. + + + + + + + + + def + + + translateZ: DoubleProperty + + +
    Definition Classes
    Node
    +
  278. + + + + + + + + + def + + + translateZ_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  279. + + + + + + + + + def + + + typeSelector: String + + +
    Definition Classes
    Styleable
    +
  280. + + + + + + + + + def + + + userData: AnyRef + + +
    Definition Classes
    Node
    +
  281. + + + + + + + + + def + + + userData_=(v: AnyRef): Unit + + +
    Definition Classes
    Node
    +
  282. + + + + + + + + + val + + + vSpacing: Double + + + +
  283. + + + + + + + + + def + + + vgrow: Priority + + +
    Definition Classes
    Node
    +
  284. + + + + + + + + + def + + + vgrow_=(p: Priority): Unit + + +
    Definition Classes
    Node
    +
  285. + + + + + + + + + def + + + visible: BooleanProperty + + +
    Definition Classes
    Node
    +
  286. + + + + + + + + + def + + + visible_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  287. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  288. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  289. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  290. + + + + + + + + + def + + + width: ReadOnlyDoubleProperty + + +
    Definition Classes
    Region
    +
  291. +
+
+ + + + +
+ +
+
+

Inherited from VBox

+
+

Inherited from AlignmentDelegate[VBox]

+
+

Inherited from Pane

+
+

Inherited from Region

+
+

Inherited from Parent

+
+

Inherited from Node

+
+

Inherited from Styleable

+
+

Inherited from SFXDelegate[VBox]

+
+

Inherited from EventHandlerDelegate

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/LevelStateBoxListener.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/LevelStateBoxListener.html new file mode 100644 index 00000000..03fc80dc --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/LevelStateBoxListener.html @@ -0,0 +1,750 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.components.LevelStateBoxListener + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.mvc.view.components

+

LevelStateBoxListener + + + +

+

+
+ +

+ + + trait + + + LevelStateBoxListener extends AnyRef + +

+ + +

Trait which gets notified when a LevelStateBox event occurs +

+ + Linear Supertypes + +
AnyRef, Any
+
+ + Known Subclasses + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. LevelStateBoxListener
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + onExit(): Unit + + +

    Called when the exit button is clicked +

    +
  2. + + + + + + + + abstract + def + + + onPause(): Unit + + +

    Called when the pause button is clicked +

    +
  3. + + + + + + + + abstract + def + + + onResume(): Unit + + +

    Called when the resume button is clicked +

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/MainMenuBar.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/MainMenuBar.html new file mode 100644 index 00000000..eed0d637 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/MainMenuBar.html @@ -0,0 +1,5112 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.components.MainMenuBar + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.mvc.view.components

+

MainMenuBar + + + +

+

+
+ +

+ + + class + + + MainMenuBar extends MenuBar + +

+ + +

MenuBar showed at the top of the MainScene +

+ + Linear Supertypes + +
MenuBar, Control, Skinnable, Region, Parent, Node, Styleable, SFXDelegate[MenuBar], EventHandlerDelegate, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. MainMenuBar
  2. MenuBar
  3. Control
  4. Skinnable
  5. Region
  6. Parent
  7. Node
  8. Styleable
  9. SFXDelegate
  10. EventHandlerDelegate
  11. AnyRef
  12. Any
  13. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + MainMenuBar(listener: MainMenuBarListener) + + + +
+
+ +
+

Type Members

+
  1. + + + + + + + + + type + + + EventHandled = AnyRef { ... /* 5 definitions in type refinement */ } + + +
    Definition Classes
    EventHandlerDelegate
    +
  2. + + + + + + + + sealed + trait + + + FilterMagnet[J <: Event, S <: SFXDelegate[J]] extends AnyRef + + +
    Definition Classes
    EventHandlerDelegate
    +
  3. + + + + + + + + sealed + trait + + + HandlerMagnet[J <: Event, S <: SFXDelegate[J]] extends AnyRef + + +
    Definition Classes
    EventHandlerDelegate
    +
+
+ + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + def + + + accessibleHelp: ObjectProperty[String] + + +
    Definition Classes
    Node
    +
  5. + + + + + + + + + def + + + accessibleHelp_=(v: String): Unit + + +
    Definition Classes
    Node
    +
  6. + + + + + + + + + def + + + accessibleRole: ObjectProperty[AccessibleRole] + + +
    Definition Classes
    Node
    +
  7. + + + + + + + + + def + + + accessibleRoleDescription: ObjectProperty[String] + + +
    Definition Classes
    Node
    +
  8. + + + + + + + + + def + + + accessibleRoleDescription_=(v: String): Unit + + +
    Definition Classes
    Node
    +
  9. + + + + + + + + + def + + + accessibleRole_=(v: AccessibleRole): Unit + + +
    Definition Classes
    Node
    +
  10. + + + + + + + + + def + + + accessibleText: ObjectProperty[String] + + +
    Definition Classes
    Node
    +
  11. + + + + + + + + + def + + + accessibleText_=(v: String): Unit + + +
    Definition Classes
    Node
    +
  12. + + + + + + + + + def + + + addEventFilter[E <: Event](eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit + + +
    Definition Classes
    EventHandlerDelegate
    +
  13. + + + + + + + + + def + + + addEventHandler[E <: Event](eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit + + +
    Definition Classes
    EventHandlerDelegate
    +
  14. + + + + + + + + + def + + + alignmentInParent: Pos + + +
    Definition Classes
    Node
    +
  15. + + + + + + + + + def + + + alignmentInParent_=(p: Pos): Unit + + +
    Definition Classes
    Node
    +
  16. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  17. + + + + + + + + + def + + + autosize(): Unit + + +
    Definition Classes
    Node
    +
  18. + + + + + + + + + def + + + background: ObjectProperty[Background] + + +
    Definition Classes
    Region
    +
  19. + + + + + + + + + def + + + background_=(v: Background): Unit + + +
    Definition Classes
    Region
    +
  20. + + + + + + + + + def + + + baselineOffset: Double + + +
    Definition Classes
    Node
    +
  21. + + + + + + + + + def + + + blendMode: ObjectProperty[BlendMode] + + +
    Definition Classes
    Node
    +
  22. + + + + + + + + + def + + + blendMode_=(v: BlendMode): Unit + + +
    Definition Classes
    Node
    +
  23. + + + + + + + + + def + + + border: ObjectProperty[Border] + + +
    Definition Classes
    Region
    +
  24. + + + + + + + + + def + + + border_=(v: Border): Unit + + +
    Definition Classes
    Region
    +
  25. + + + + + + + + + def + + + boundsInLocal: ReadOnlyObjectProperty[Bounds] + + +
    Definition Classes
    Node
    +
  26. + + + + + + + + + def + + + boundsInParent: ReadOnlyObjectProperty[Bounds] + + +
    Definition Classes
    Node
    +
  27. + + + + + + + + + def + + + buildEventDispatchChain(chain: EventDispatchChain): EventDispatchChain + + +
    Definition Classes
    EventHandlerDelegate
    +
  28. + + + + + + + + + def + + + cache: BooleanProperty + + +
    Definition Classes
    Node
    +
  29. + + + + + + + + + def + + + cacheHint: ObjectProperty[CacheHint] + + +
    Definition Classes
    Node
    +
  30. + + + + + + + + + def + + + cacheHint_=(v: CacheHint): Unit + + +
    Definition Classes
    Node
    +
  31. + + + + + + + + + def + + + cacheShape: BooleanProperty + + +
    Definition Classes
    Region
    +
  32. + + + + + + + + + def + + + cacheShape_=(v: Boolean): Unit + + +
    Definition Classes
    Region
    +
  33. + + + + + + + + + def + + + cache_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  34. + + + + + + + + + def + + + centerShape: BooleanProperty + + +
    Definition Classes
    Region
    +
  35. + + + + + + + + + def + + + centerShape_=(v: Boolean): Unit + + +
    Definition Classes
    Region
    +
  36. + + + + + + + + + def + + + clip: ObjectProperty[Node] + + +
    Definition Classes
    Node
    +
  37. + + + + + + + + + def + + + clip_=(v: Node): Unit + + +
    Definition Classes
    Node
    +
  38. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  39. + + + + + + + + + def + + + contains(localPoint: Point2D): Boolean + + +
    Definition Classes
    Node
    +
  40. + + + + + + + + + def + + + contains(localX: Double, localY: Double): Boolean + + +
    Definition Classes
    Node
    +
  41. + + + + + + + + + def + + + contentBias: Orientation + + +
    Definition Classes
    Node
    +
  42. + + + + + + + + + def + + + contextMenu: ObjectProperty[ContextMenu] + + +
    Definition Classes
    Control
    +
  43. + + + + + + + + + def + + + contextMenu_=(v: ContextMenu): Unit + + +
    Definition Classes
    Control
    +
  44. + + + + + + + + + def + + + cssMetaData: Seq[CssMetaData[_ <: Styleable, _]] + + +
    Definition Classes
    Styleable
    +
  45. + + + + + + + + + def + + + cursor: ObjectProperty[Cursor] + + +
    Definition Classes
    Node
    +
  46. + + + + + + + + + def + + + cursor_=(v: Cursor): Unit + + +
    Definition Classes
    Node
    +
  47. + + + + + + + + + val + + + delegate: MenuBar + + +
    Definition Classes
    MenuBar → Control → Region → Parent → Node → SFXDelegate
    +
  48. + + + + + + + + + def + + + depthTest: ObjectProperty[DepthTest] + + +
    Definition Classes
    Node
    +
  49. + + + + + + + + + def + + + depthTest_=(v: DepthTest): Unit + + +
    Definition Classes
    Node
    +
  50. + + + + + + + + + def + + + disable: BooleanProperty + + +
    Definition Classes
    Node
    +
  51. + + + + + + + + + def + + + disable_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  52. + + + + + + + + + def + + + disabled: ReadOnlyBooleanProperty + + +
    Definition Classes
    Node
    +
  53. + + + + + + + + + def + + + effect: ObjectProperty[Effect] + + +
    Definition Classes
    Node
    +
  54. + + + + + + + + + def + + + effect_=(v: Effect): Unit + + +
    Definition Classes
    Node
    +
  55. + + + + + + + + + def + + + effectiveNodeOrientation: ReadOnlyObjectProperty[NodeOrientation] + + +
    Definition Classes
    Node
    +
  56. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  57. + + + + + + + + + def + + + equals(ref: Any): Boolean + + +
    Definition Classes
    SFXDelegate → AnyRef → Any
    +
  58. + + + + + + + + + def + + + eventDispatcher: ObjectProperty[EventDispatcher] + + +
    Definition Classes
    Node
    +
  59. + + + + + + + + + def + + + eventDispatcher_=(v: EventDispatcher): Unit + + +
    Definition Classes
    Node
    +
  60. + + + + + + + + + def + + + eventHandlerDelegate: EventHandled + + +
    Attributes
    protected
    Definition Classes
    Node → EventHandlerDelegate
    +
  61. + + + + + + + + + def + + + filterEvent[J <: Event, S <: Event with SFXDelegate[J]](eventType: EventType[J])(filter: FilterMagnet[J, S]): Subscription + + +
    Definition Classes
    EventHandlerDelegate
    +
  62. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  63. + + + + + + + + + def + + + fireEvent(event: Event): Unit + + +
    Definition Classes
    Node
    +
  64. + + + + + + + + + def + + + focusTraversable: BooleanProperty + + +
    Definition Classes
    Node
    +
  65. + + + + + + + + + def + + + focusTraversable_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  66. + + + + + + + + + def + + + focused: ReadOnlyBooleanProperty + + +
    Definition Classes
    Node
    +
  67. + + + + + + + + + val + + + fullscreenMenuItem: MenuItem + + + +
  68. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  69. + + + + + + + + + def + + + getId: String + + +
    Definition Classes
    Styleable
    +
  70. + + + + + + + + + def + + + getStyle: String + + +
    Definition Classes
    Styleable
    +
  71. + + + + + + + + + def + + + handleEvent[J <: Event, S <: Event with SFXDelegate[J]](eventType: EventType[J])(handler: HandlerMagnet[J, S]): Subscription + + +
    Definition Classes
    EventHandlerDelegate
    +
  72. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    SFXDelegate → AnyRef → Any
    +
  73. + + + + + + + + + def + + + height: ReadOnlyDoubleProperty + + +
    Definition Classes
    Region
    +
  74. + + + + + + + + + def + + + hgrow: Priority + + +
    Definition Classes
    Node
    +
  75. + + + + + + + + + def + + + hgrow_=(p: Priority): Unit + + +
    Definition Classes
    Node
    +
  76. + + + + + + + + + def + + + hover: ReadOnlyBooleanProperty + + +
    Definition Classes
    Node
    +
  77. + + + + + + + + + def + + + id: StringProperty + + +
    Definition Classes
    Node
    +
  78. + + + + + + + + + def + + + id_=(v: String): Unit + + +
    Definition Classes
    Node
    +
  79. + + + + + + + + + def + + + inputMethodRequests: ObjectProperty[InputMethodRequests] + + +
    Definition Classes
    Node
    +
  80. + + + + + + + + + def + + + inputMethodRequests_=(v: InputMethodRequests): Unit + + +
    Definition Classes
    Node
    +
  81. + + + + + + + + + def + + + insets: Insets + + +
    Definition Classes
    Region
    +
  82. + + + + + + + + + def + + + intersects(localX: Double, localY: Double, localWidth: Double, localHeight: Double): Boolean + + +
    Definition Classes
    Node
    +
  83. + + + + + + + + + def + + + intersects(localBounds: Bounds): Boolean + + +
    Definition Classes
    Node
    +
  84. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  85. + + + + + + + + + def + + + layoutBounds: ReadOnlyObjectProperty[Bounds] + + +
    Definition Classes
    Node
    +
  86. + + + + + + + + + def + + + layoutX: DoubleProperty + + +
    Definition Classes
    Node
    +
  87. + + + + + + + + + def + + + layoutX_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  88. + + + + + + + + + def + + + layoutY: DoubleProperty + + +
    Definition Classes
    Node
    +
  89. + + + + + + + + + def + + + layoutY_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  90. + + + + + + + + + val + + + listener: MainMenuBarListener + + + +
  91. + + + + + + + + + def + + + localToParent(localPoint: Point2D): Point2D + + +
    Definition Classes
    Node
    +
  92. + + + + + + + + + def + + + localToParent(localX: Double, localY: Double): Point2D + + +
    Definition Classes
    Node
    +
  93. + + + + + + + + + def + + + localToParent(localBounds: Bounds): Bounds + + +
    Definition Classes
    Node
    +
  94. + + + + + + + + + def + + + localToParentTransform: Transform + + +
    Definition Classes
    Node
    +
  95. + + + + + + + + + def + + + localToScene(localPoint: Point2D): Point2D + + +
    Definition Classes
    Node
    +
  96. + + + + + + + + + def + + + localToScene(localX: Double, localY: Double): Point2D + + +
    Definition Classes
    Node
    +
  97. + + + + + + + + + def + + + localToScene(localBounds: Bounds): Bounds + + +
    Definition Classes
    Node
    +
  98. + + + + + + + + + def + + + localToSceneTransform: Transform + + +
    Definition Classes
    Node
    +
  99. + + + + + + + + + def + + + lookup(selector: String): Node + + +
    Definition Classes
    Node
    +
  100. + + + + + + + + + def + + + lookupAll(selector: String): Set[Node] + + +
    Definition Classes
    Node
    +
  101. + + + + + + + + + def + + + managed: BooleanProperty + + +
    Definition Classes
    Node
    +
  102. + + + + + + + + + def + + + managed_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  103. + + + + + + + + + def + + + margin: Insets + + +
    Definition Classes
    Node
    +
  104. + + + + + + + + + def + + + margin_=(i: Insets): Unit + + +
    Definition Classes
    Node
    +
  105. + + + + + + + + + def + + + maxHeight: DoubleProperty + + +
    Definition Classes
    Region
    +
  106. + + + + + + + + + def + + + maxHeight(width: Double): Double + + +
    Definition Classes
    Node
    +
  107. + + + + + + + + + def + + + maxHeight_=(v: Double): Unit + + +
    Definition Classes
    Region
    +
  108. + + + + + + + + + def + + + maxWidth: DoubleProperty + + +
    Definition Classes
    Region
    +
  109. + + + + + + + + + def + + + maxWidth(height: Double): Double + + +
    Definition Classes
    Node
    +
  110. + + + + + + + + + def + + + maxWidth_=(v: Double): Unit + + +
    Definition Classes
    Region
    +
  111. + + + + + + + + + def + + + menus: ObservableList[Menu] + + +
    Definition Classes
    MenuBar
    +
  112. + + + + + + + + + def + + + menus_=(c: Iterable[Menu]): Unit + + +
    Definition Classes
    MenuBar
    +
  113. + + + + + + + + + def + + + minHeight: DoubleProperty + + +
    Definition Classes
    Region
    +
  114. + + + + + + + + + def + + + minHeight(width: Double): Double + + +
    Definition Classes
    Node
    +
  115. + + + + + + + + + def + + + minHeight_=(v: Double): Unit + + +
    Definition Classes
    Region
    +
  116. + + + + + + + + + def + + + minWidth: DoubleProperty + + +
    Definition Classes
    Region
    +
  117. + + + + + + + + + def + + + minWidth(height: Double): Double + + +
    Definition Classes
    Node
    +
  118. + + + + + + + + + def + + + minWidth_=(v: Double): Unit + + +
    Definition Classes
    Region
    +
  119. + + + + + + + + + def + + + mouseTransparent: BooleanProperty + + +
    Definition Classes
    Node
    +
  120. + + + + + + + + + def + + + mouseTransparent_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  121. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  122. + + + + + + + + + def + + + needsLayout: ReadOnlyBooleanProperty + + +
    Definition Classes
    Parent
    +
  123. + + + + + + + + + def + + + nodeOrientation: ObjectProperty[NodeOrientation] + + +
    Definition Classes
    Node
    +
  124. + + + + + + + + + def + + + nodeOrientation_=(v: NodeOrientation): Unit + + +
    Definition Classes
    Node
    +
  125. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  126. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  127. + + + + + + + + + def + + + onContextMenuRequested: ObjectProperty[EventHandler[_ >: ContextMenuEvent]] + + +
    Definition Classes
    Node
    +
  128. + + + + + + + + + def + + + onContextMenuRequested_=(v: EventHandler[_ >: ContextMenuEvent]): Unit + + +
    Definition Classes
    Node
    +
  129. + + + + + + + + + def + + + onDragDetected: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  130. + + + + + + + + + def + + + onDragDetected_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  131. + + + + + + + + + def + + + onDragDone: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Node
    +
  132. + + + + + + + + + def + + + onDragDone_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Node
    +
  133. + + + + + + + + + def + + + onDragDropped: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Node
    +
  134. + + + + + + + + + def + + + onDragDropped_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Node
    +
  135. + + + + + + + + + def + + + onDragEntered: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Node
    +
  136. + + + + + + + + + def + + + onDragEntered_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Node
    +
  137. + + + + + + + + + def + + + onDragExited: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Node
    +
  138. + + + + + + + + + def + + + onDragExited_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Node
    +
  139. + + + + + + + + + def + + + onDragOver: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Node
    +
  140. + + + + + + + + + def + + + onDragOver_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Node
    +
  141. + + + + + + + + + def + + + onInputMethodTextChanged: ObjectProperty[EventHandler[_ >: InputMethodEvent]] + + +
    Definition Classes
    Node
    +
  142. + + + + + + + + + def + + + onInputMethodTextChanged_=(v: EventHandler[_ >: InputMethodEvent]): Unit + + +
    Definition Classes
    Node
    +
  143. + + + + + + + + + def + + + onKeyPressed: ObjectProperty[EventHandler[_ >: KeyEvent]] + + +
    Definition Classes
    Node
    +
  144. + + + + + + + + + def + + + onKeyPressed_=(v: EventHandler[_ >: KeyEvent]): Unit + + +
    Definition Classes
    Node
    +
  145. + + + + + + + + + def + + + onKeyReleased: ObjectProperty[EventHandler[_ >: KeyEvent]] + + +
    Definition Classes
    Node
    +
  146. + + + + + + + + + def + + + onKeyReleased_=(v: EventHandler[_ >: KeyEvent]): Unit + + +
    Definition Classes
    Node
    +
  147. + + + + + + + + + def + + + onKeyTyped: ObjectProperty[EventHandler[_ >: KeyEvent]] + + +
    Definition Classes
    Node
    +
  148. + + + + + + + + + def + + + onKeyTyped_=(v: EventHandler[_ >: KeyEvent]): Unit + + +
    Definition Classes
    Node
    +
  149. + + + + + + + + + def + + + onMouseClicked: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  150. + + + + + + + + + def + + + onMouseClicked_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  151. + + + + + + + + + def + + + onMouseDragEntered: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Node
    +
  152. + + + + + + + + + def + + + onMouseDragEntered_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Node
    +
  153. + + + + + + + + + def + + + onMouseDragExited: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Node
    +
  154. + + + + + + + + + def + + + onMouseDragExited_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Node
    +
  155. + + + + + + + + + def + + + onMouseDragOver: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Node
    +
  156. + + + + + + + + + def + + + onMouseDragOver_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Node
    +
  157. + + + + + + + + + def + + + onMouseDragReleased: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Node
    +
  158. + + + + + + + + + def + + + onMouseDragReleased_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Node
    +
  159. + + + + + + + + + def + + + onMouseDragged: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  160. + + + + + + + + + def + + + onMouseDragged_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  161. + + + + + + + + + def + + + onMouseEntered: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  162. + + + + + + + + + def + + + onMouseEntered_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  163. + + + + + + + + + def + + + onMouseExited: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  164. + + + + + + + + + def + + + onMouseExited_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  165. + + + + + + + + + def + + + onMouseMoved: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  166. + + + + + + + + + def + + + onMouseMoved_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  167. + + + + + + + + + def + + + onMousePressed: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  168. + + + + + + + + + def + + + onMousePressed_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  169. + + + + + + + + + def + + + onMouseReleased: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  170. + + + + + + + + + def + + + onMouseReleased_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  171. + + + + + + + + + def + + + onRotate: ObjectProperty[EventHandler[_ >: RotateEvent]] + + +
    Definition Classes
    Node
    +
  172. + + + + + + + + + def + + + onRotate_=(v: EventHandler[_ >: RotateEvent]): Unit + + +
    Definition Classes
    Node
    +
  173. + + + + + + + + + def + + + onRotationFinished: ObjectProperty[EventHandler[_ >: RotateEvent]] + + +
    Definition Classes
    Node
    +
  174. + + + + + + + + + def + + + onRotationFinished_=(v: EventHandler[_ >: RotateEvent]): Unit + + +
    Definition Classes
    Node
    +
  175. + + + + + + + + + def + + + onRotationStarted: ObjectProperty[EventHandler[_ >: RotateEvent]] + + +
    Definition Classes
    Node
    +
  176. + + + + + + + + + def + + + onRotationStarted_=(v: EventHandler[_ >: RotateEvent]): Unit + + +
    Definition Classes
    Node
    +
  177. + + + + + + + + + def + + + onScroll: ObjectProperty[EventHandler[_ >: ScrollEvent]] + + +
    Definition Classes
    Node
    +
  178. + + + + + + + + + def + + + onScrollFinished: ObjectProperty[EventHandler[_ >: ScrollEvent]] + + +
    Definition Classes
    Node
    +
  179. + + + + + + + + + def + + + onScrollFinished_=(v: EventHandler[_ >: ScrollEvent]): Unit + + +
    Definition Classes
    Node
    +
  180. + + + + + + + + + def + + + onScrollStarted: ObjectProperty[EventHandler[_ >: ScrollEvent]] + + +
    Definition Classes
    Node
    +
  181. + + + + + + + + + def + + + onScrollStarted_=(v: EventHandler[_ >: ScrollEvent]): Unit + + +
    Definition Classes
    Node
    +
  182. + + + + + + + + + def + + + onScroll_=(v: EventHandler[_ >: ScrollEvent]): Unit + + +
    Definition Classes
    Node
    +
  183. + + + + + + + + + def + + + onSwipeDown: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Node
    +
  184. + + + + + + + + + def + + + onSwipeDown_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Node
    +
  185. + + + + + + + + + def + + + onSwipeLeft: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Node
    +
  186. + + + + + + + + + def + + + onSwipeLeft_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Node
    +
  187. + + + + + + + + + def + + + onSwipeRight: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Node
    +
  188. + + + + + + + + + def + + + onSwipeRight_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Node
    +
  189. + + + + + + + + + def + + + onSwipeUp: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Node
    +
  190. + + + + + + + + + def + + + onSwipeUp_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Node
    +
  191. + + + + + + + + + def + + + onTouchMoved: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Node
    +
  192. + + + + + + + + + def + + + onTouchMoved_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Node
    +
  193. + + + + + + + + + def + + + onTouchPressed: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Node
    +
  194. + + + + + + + + + def + + + onTouchPressed_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Node
    +
  195. + + + + + + + + + def + + + onTouchReleased: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Node
    +
  196. + + + + + + + + + def + + + onTouchReleased_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Node
    +
  197. + + + + + + + + + def + + + onTouchStationary: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Node
    +
  198. + + + + + + + + + def + + + onTouchStationary_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Node
    +
  199. + + + + + + + + + def + + + onZoom: ObjectProperty[EventHandler[_ >: ZoomEvent]] + + +
    Definition Classes
    Node
    +
  200. + + + + + + + + + def + + + onZoomFinished: ObjectProperty[EventHandler[_ >: ZoomEvent]] + + +
    Definition Classes
    Node
    +
  201. + + + + + + + + + def + + + onZoomFinished_=(v: EventHandler[_ >: ZoomEvent]): Unit + + +
    Definition Classes
    Node
    +
  202. + + + + + + + + + def + + + onZoomStarted: ObjectProperty[EventHandler[_ >: ZoomEvent]] + + +
    Definition Classes
    Node
    +
  203. + + + + + + + + + def + + + onZoomStarted_=(v: EventHandler[_ >: ZoomEvent]): Unit + + +
    Definition Classes
    Node
    +
  204. + + + + + + + + + def + + + onZoom_=(v: EventHandler[_ >: ZoomEvent]): Unit + + +
    Definition Classes
    Node
    +
  205. + + + + + + + + + def + + + opacity: DoubleProperty + + +
    Definition Classes
    Node
    +
  206. + + + + + + + + + def + + + opacity_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  207. + + + + + + + + + def + + + opaqueInsets: ObjectProperty[Insets] + + +
    Definition Classes
    Region
    +
  208. + + + + + + + + + def + + + opaqueInsets_=(v: Insets): Unit + + +
    Definition Classes
    Region
    +
  209. + + + + + + + + + def + + + padding: ObjectProperty[Insets] + + +
    Definition Classes
    Region
    +
  210. + + + + + + + + + def + + + padding_=(v: Insets): Unit + + +
    Definition Classes
    Region
    +
  211. + + + + + + + + + def + + + parent: ReadOnlyObjectProperty[Parent] + + +
    Definition Classes
    Node
    +
  212. + + + + + + + + + def + + + parentToLocal(parentPoint: Point2D): Point2D + + +
    Definition Classes
    Node
    +
  213. + + + + + + + + + def + + + parentToLocal(parentX: Double, parentY: Double): Point2D + + +
    Definition Classes
    Node
    +
  214. + + + + + + + + + def + + + parentToLocal(parentBounds: Bounds): Bounds + + +
    Definition Classes
    Node
    +
  215. + + + + + + + + + def + + + pickOnBounds: BooleanProperty + + +
    Definition Classes
    Node
    +
  216. + + + + + + + + + def + + + pickOnBounds_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  217. + + + + + + + + + def + + + prefHeight: DoubleProperty + + +
    Definition Classes
    Region
    +
  218. + + + + + + + + + def + + + prefHeight_=(v: Double): Unit + + +
    Definition Classes
    Region
    +
  219. + + + + + + + + + def + + + prefWidth: DoubleProperty + + +
    Definition Classes
    Region
    +
  220. + + + + + + + + + def + + + prefWidth_=(v: Double): Unit + + +
    Definition Classes
    Region
    +
  221. + + + + + + + + + def + + + pressed: ReadOnlyBooleanProperty + + +
    Definition Classes
    Node
    +
  222. + + + + + + + + + def + + + pseudoClassStates: ObservableSet[PseudoClass] + + +
    Definition Classes
    Styleable
    +
  223. + + + + + + + + + def + + + relocate(x: Double, y: Double): Unit + + +
    Definition Classes
    Node
    +
  224. + + + + + + + + + def + + + removeEventFilter[E <: Event](eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit + + +
    Definition Classes
    EventHandlerDelegate
    +
  225. + + + + + + + + + def + + + removeEventHandler[E <: Event](eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit + + +
    Definition Classes
    EventHandlerDelegate
    +
  226. + + + + + + + + + def + + + requestFocus(): Unit + + +
    Definition Classes
    Node
    +
  227. + + + + + + + + + def + + + resize(width: Double, height: Double): Unit + + +
    Definition Classes
    Region → Node
    +
  228. + + + + + + + + + def + + + resize: Boolean + + +
    Definition Classes
    Region
    +
  229. + + + + + + + + + def + + + resizeRelocate(x: Double, y: Double, width: Double, height: Double): Unit + + +
    Definition Classes
    Node
    +
  230. + + + + + + + + + def + + + rotate: DoubleProperty + + +
    Definition Classes
    Node
    +
  231. + + + + + + + + + def + + + rotate_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  232. + + + + + + + + + def + + + rotationAxis: ObjectProperty[Point3D] + + +
    Definition Classes
    Node
    +
  233. + + + + + + + + + def + + + rotationAxis_=(v: Point3D): Unit + + +
    Definition Classes
    Node
    +
  234. + + + + + + + + + def + + + scaleShape: BooleanProperty + + +
    Definition Classes
    Region
    +
  235. + + + + + + + + + def + + + scaleShape_=(v: Boolean): Unit + + +
    Definition Classes
    Region
    +
  236. + + + + + + + + + def + + + scaleX: DoubleProperty + + +
    Definition Classes
    Node
    +
  237. + + + + + + + + + def + + + scaleX_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  238. + + + + + + + + + def + + + scaleY: DoubleProperty + + +
    Definition Classes
    Node
    +
  239. + + + + + + + + + def + + + scaleY_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  240. + + + + + + + + + def + + + scaleZ: DoubleProperty + + +
    Definition Classes
    Node
    +
  241. + + + + + + + + + def + + + scaleZ_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  242. + + + + + + + + + def + + + scene: ReadOnlyObjectProperty[Scene] + + +
    Definition Classes
    Node
    +
  243. + + + + + + + + + def + + + sceneToLocal(scenePoint: Point2D): Point2D + + +
    Definition Classes
    Node
    +
  244. + + + + + + + + + def + + + sceneToLocal(sceneX: Double, sceneY: Double): Point2D + + +
    Definition Classes
    Node
    +
  245. + + + + + + + + + def + + + sceneToLocal(sceneBounds: Bounds): Bounds + + +
    Definition Classes
    Node
    +
  246. + + + + + + + + + val + + + settingsMenu: Menu + + + +
  247. + + + + + + + + + def + + + shape: ObjectProperty[Shape] + + +
    Definition Classes
    Region
    +
  248. + + + + + + + + + def + + + shape_=(v: Shape): Unit + + +
    Definition Classes
    Region
    +
  249. + + + + + + + + + def + + + skin: ObjectProperty[Skin[_]] + + +
    Definition Classes
    Skinnable
    +
  250. + + + + + + + + + def + + + skin_=(v: Skin[_]): Unit + + +
    Definition Classes
    Skinnable
    +
  251. + + + + + + + + + def + + + snapToPixel: BooleanProperty + + +
    Definition Classes
    Region
    +
  252. + + + + + + + + + def + + + snapToPixel_=(v: Boolean): Unit + + +
    Definition Classes
    Region
    +
  253. + + + + + + + + + def + + + snapshot(callback: (SnapshotResult) ⇒ Unit, params: SnapshotParameters, image: WritableImage): Unit + + +
    Definition Classes
    Node
    +
  254. + + + + + + + + + def + + + snapshot(params: SnapshotParameters, image: WritableImage): WritableImage + + +
    Definition Classes
    Node
    +
  255. + + + + + + + + + def + + + startDragAndDrop(transferModes: TransferMode*): Dragboard + + +
    Definition Classes
    Node
    +
  256. + + + + + + + + + def + + + startFullDrag(): Unit + + +
    Definition Classes
    Node
    +
  257. + + + + + + + + + def + + + style: StringProperty + + +
    Definition Classes
    Node
    +
  258. + + + + + + + + + def + + + styleClass: ObservableBuffer[String] + + +
    Definition Classes
    Styleable
    +
  259. + + + + + + + + + def + + + styleClass_=(c: Iterable[String]): Unit + + +
    Definition Classes
    Node
    +
  260. + + + + + + + + + def + + + style_=(v: String): Unit + + +
    Definition Classes
    Node
    +
  261. + + + + + + + + + def + + + styleableParent: Styleable + + +
    Definition Classes
    Styleable
    +
  262. + + + + + + + + + def + + + stylesheets: ObservableList[String] + + +
    Definition Classes
    Parent
    +
  263. + + + + + + + + + def + + + stylesheets_=(c: Iterable[String]): Unit + + +
    Definition Classes
    Parent
    +
  264. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  265. + + + + + + + + + def + + + toBack(): Unit + + +
    Definition Classes
    Node
    +
  266. + + + + + + + + + def + + + toFront(): Unit + + +
    Definition Classes
    Node
    +
  267. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    SFXDelegate → AnyRef → Any
    +
  268. + + + + + + + + + def + + + tooltip: ObjectProperty[Tooltip] + + +
    Definition Classes
    Control
    +
  269. + + + + + + + + + def + + + tooltip_=(v: Tooltip): Unit + + +
    Definition Classes
    Control
    +
  270. + + + + + + + + + def + + + transforms: ObservableList[Transform] + + +
    Definition Classes
    Node
    +
  271. + + + + + + + + + def + + + transforms_=(c: Iterable[Transform]): Unit + + +
    Definition Classes
    Node
    +
  272. + + + + + + + + + def + + + translateX: DoubleProperty + + +
    Definition Classes
    Node
    +
  273. + + + + + + + + + def + + + translateX_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  274. + + + + + + + + + def + + + translateY: DoubleProperty + + +
    Definition Classes
    Node
    +
  275. + + + + + + + + + def + + + translateY_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  276. + + + + + + + + + def + + + translateZ: DoubleProperty + + +
    Definition Classes
    Node
    +
  277. + + + + + + + + + def + + + translateZ_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  278. + + + + + + + + + def + + + typeSelector: String + + +
    Definition Classes
    Styleable
    +
  279. + + + + + + + + + def + + + useSystemMenuBar: BooleanProperty + + +
    Definition Classes
    MenuBar
    +
  280. + + + + + + + + + def + + + useSystemMenuBar_=(v: Boolean): Unit + + +
    Definition Classes
    MenuBar
    +
  281. + + + + + + + + + def + + + userData: AnyRef + + +
    Definition Classes
    Node
    +
  282. + + + + + + + + + def + + + userData_=(v: AnyRef): Unit + + +
    Definition Classes
    Node
    +
  283. + + + + + + + + + def + + + vgrow: Priority + + +
    Definition Classes
    Node
    +
  284. + + + + + + + + + def + + + vgrow_=(p: Priority): Unit + + +
    Definition Classes
    Node
    +
  285. + + + + + + + + + def + + + visible: BooleanProperty + + +
    Definition Classes
    Node
    +
  286. + + + + + + + + + def + + + visible_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  287. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  288. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  289. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  290. + + + + + + + + + def + + + width: ReadOnlyDoubleProperty + + +
    Definition Classes
    Region
    +
  291. +
+
+ + + + +
+ +
+
+

Inherited from MenuBar

+
+

Inherited from Control

+
+

Inherited from Skinnable

+
+

Inherited from Region

+
+

Inherited from Parent

+
+

Inherited from Node

+
+

Inherited from Styleable

+
+

Inherited from SFXDelegate[MenuBar]

+
+

Inherited from EventHandlerDelegate

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/MainMenuBarListener.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/MainMenuBarListener.html new file mode 100644 index 00000000..75b6aa4a --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/MainMenuBarListener.html @@ -0,0 +1,716 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.components.MainMenuBarListener + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.mvc.view.components

+

MainMenuBarListener + + + +

+

+
+ +

+ + + trait + + + MainMenuBarListener extends AnyRef + +

+ + +

Trait which gets notified when a MainMenuBar event occurs +

+ + Linear Supertypes + +
AnyRef, Any
+
+ + Known Subclasses + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. MainMenuBarListener
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + onFullScreenSettingClick(): Unit + + +

    Called when the user clicks on the fullScreen button +

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/MainMenuCenterBox.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/MainMenuCenterBox.html new file mode 100644 index 00000000..61fa5531 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/MainMenuCenterBox.html @@ -0,0 +1,5128 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.components.MainMenuCenterBox + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.mvc.view.components

+

MainMenuCenterBox + + + +

+

+
+ +

+ + + class + + + MainMenuCenterBox extends VBox + +

+ + +

Center menu shown in MainMenu +

+ + Linear Supertypes + +
VBox, AlignmentDelegate[VBox], Pane, Region, Parent, Node, Styleable, SFXDelegate[VBox], EventHandlerDelegate, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. MainMenuCenterBox
  2. VBox
  3. AlignmentDelegate
  4. Pane
  5. Region
  6. Parent
  7. Node
  8. Styleable
  9. SFXDelegate
  10. EventHandlerDelegate
  11. AnyRef
  12. Any
  13. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + MainMenuCenterBox(listener: MainMenuCenterBoxListener) + + + +
+
+ +
+

Type Members

+
  1. + + + + + + + + + type + + + EventHandled = AnyRef { ... /* 5 definitions in type refinement */ } + + +
    Definition Classes
    EventHandlerDelegate
    +
  2. + + + + + + + + sealed + trait + + + FilterMagnet[J <: Event, S <: SFXDelegate[J]] extends AnyRef + + +
    Definition Classes
    EventHandlerDelegate
    +
  3. + + + + + + + + sealed + trait + + + HandlerMagnet[J <: Event, S <: SFXDelegate[J]] extends AnyRef + + +
    Definition Classes
    EventHandlerDelegate
    +
+
+ + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + def + + + accessibleHelp: ObjectProperty[String] + + +
    Definition Classes
    Node
    +
  5. + + + + + + + + + def + + + accessibleHelp_=(v: String): Unit + + +
    Definition Classes
    Node
    +
  6. + + + + + + + + + def + + + accessibleRole: ObjectProperty[AccessibleRole] + + +
    Definition Classes
    Node
    +
  7. + + + + + + + + + def + + + accessibleRoleDescription: ObjectProperty[String] + + +
    Definition Classes
    Node
    +
  8. + + + + + + + + + def + + + accessibleRoleDescription_=(v: String): Unit + + +
    Definition Classes
    Node
    +
  9. + + + + + + + + + def + + + accessibleRole_=(v: AccessibleRole): Unit + + +
    Definition Classes
    Node
    +
  10. + + + + + + + + + def + + + accessibleText: ObjectProperty[String] + + +
    Definition Classes
    Node
    +
  11. + + + + + + + + + def + + + accessibleText_=(v: String): Unit + + +
    Definition Classes
    Node
    +
  12. + + + + + + + + + def + + + addEventFilter[E <: Event](eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit + + +
    Definition Classes
    EventHandlerDelegate
    +
  13. + + + + + + + + + def + + + addEventHandler[E <: Event](eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit + + +
    Definition Classes
    EventHandlerDelegate
    +
  14. + + + + + + + + + def + + + alignment: ObjectProperty[Pos] + + +
    Definition Classes
    AlignmentDelegate
    +
  15. + + + + + + + + + def + + + alignmentInParent: Pos + + +
    Definition Classes
    Node
    +
  16. + + + + + + + + + def + + + alignmentInParent_=(p: Pos): Unit + + +
    Definition Classes
    Node
    +
  17. + + + + + + + + + def + + + alignment_=(v: Pos): Unit + + +
    Definition Classes
    AlignmentDelegate
    +
  18. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  19. + + + + + + + + + def + + + autosize(): Unit + + +
    Definition Classes
    Node
    +
  20. + + + + + + + + + def + + + background: ObjectProperty[Background] + + +
    Definition Classes
    Region
    +
  21. + + + + + + + + + def + + + background_=(v: Background): Unit + + +
    Definition Classes
    Region
    +
  22. + + + + + + + + + def + + + baselineOffset: Double + + +
    Definition Classes
    Node
    +
  23. + + + + + + + + + def + + + blendMode: ObjectProperty[BlendMode] + + +
    Definition Classes
    Node
    +
  24. + + + + + + + + + def + + + blendMode_=(v: BlendMode): Unit + + +
    Definition Classes
    Node
    +
  25. + + + + + + + + + def + + + border: ObjectProperty[Border] + + +
    Definition Classes
    Region
    +
  26. + + + + + + + + + def + + + border_=(v: Border): Unit + + +
    Definition Classes
    Region
    +
  27. + + + + + + + + + def + + + boundsInLocal: ReadOnlyObjectProperty[Bounds] + + +
    Definition Classes
    Node
    +
  28. + + + + + + + + + def + + + boundsInParent: ReadOnlyObjectProperty[Bounds] + + +
    Definition Classes
    Node
    +
  29. + + + + + + + + + def + + + buildEventDispatchChain(chain: EventDispatchChain): EventDispatchChain + + +
    Definition Classes
    EventHandlerDelegate
    +
  30. + + + + + + + + + def + + + cache: BooleanProperty + + +
    Definition Classes
    Node
    +
  31. + + + + + + + + + def + + + cacheHint: ObjectProperty[CacheHint] + + +
    Definition Classes
    Node
    +
  32. + + + + + + + + + def + + + cacheHint_=(v: CacheHint): Unit + + +
    Definition Classes
    Node
    +
  33. + + + + + + + + + def + + + cacheShape: BooleanProperty + + +
    Definition Classes
    Region
    +
  34. + + + + + + + + + def + + + cacheShape_=(v: Boolean): Unit + + +
    Definition Classes
    Region
    +
  35. + + + + + + + + + def + + + cache_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  36. + + + + + + + + + def + + + centerShape: BooleanProperty + + +
    Definition Classes
    Region
    +
  37. + + + + + + + + + def + + + centerShape_=(v: Boolean): Unit + + +
    Definition Classes
    Region
    +
  38. + + + + + + + + + def + + + children: ObservableList[Node] + + +
    Definition Classes
    Pane
    +
  39. + + + + + + + + + def + + + children_=(n: Node): Unit + + +
    Definition Classes
    Pane
    +
  40. + + + + + + + + + def + + + children_=(c: Iterable[Node]): Unit + + +
    Definition Classes
    Pane
    +
  41. + + + + + + + + + def + + + clip: ObjectProperty[Node] + + +
    Definition Classes
    Node
    +
  42. + + + + + + + + + def + + + clip_=(v: Node): Unit + + +
    Definition Classes
    Node
    +
  43. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  44. + + + + + + + + + def + + + contains(localPoint: Point2D): Boolean + + +
    Definition Classes
    Node
    +
  45. + + + + + + + + + def + + + contains(localX: Double, localY: Double): Boolean + + +
    Definition Classes
    Node
    +
  46. + + + + + + + + + def + + + contentBias: Orientation + + +
    Definition Classes
    Node
    +
  47. + + + + + + + + + def + + + cssMetaData: Seq[CssMetaData[_ <: Styleable, _]] + + +
    Definition Classes
    Styleable
    +
  48. + + + + + + + + + def + + + cursor: ObjectProperty[Cursor] + + +
    Definition Classes
    Node
    +
  49. + + + + + + + + + def + + + cursor_=(v: Cursor): Unit + + +
    Definition Classes
    Node
    +
  50. + + + + + + + + + val + + + delegate: VBox + + +
    Definition Classes
    VBox → Pane → Region → Parent → Node → SFXDelegate
    +
  51. + + + + + + + + + def + + + depthTest: ObjectProperty[DepthTest] + + +
    Definition Classes
    Node
    +
  52. + + + + + + + + + def + + + depthTest_=(v: DepthTest): Unit + + +
    Definition Classes
    Node
    +
  53. + + + + + + + + + def + + + disable: BooleanProperty + + +
    Definition Classes
    Node
    +
  54. + + + + + + + + + def + + + disable_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  55. + + + + + + + + + def + + + disabled: ReadOnlyBooleanProperty + + +
    Definition Classes
    Node
    +
  56. + + + + + + + + + def + + + effect: ObjectProperty[Effect] + + +
    Definition Classes
    Node
    +
  57. + + + + + + + + + def + + + effect_=(v: Effect): Unit + + +
    Definition Classes
    Node
    +
  58. + + + + + + + + + def + + + effectiveNodeOrientation: ReadOnlyObjectProperty[NodeOrientation] + + +
    Definition Classes
    Node
    +
  59. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  60. + + + + + + + + + def + + + equals(ref: Any): Boolean + + +
    Definition Classes
    SFXDelegate → AnyRef → Any
    +
  61. + + + + + + + + + def + + + eventDispatcher: ObjectProperty[EventDispatcher] + + +
    Definition Classes
    Node
    +
  62. + + + + + + + + + def + + + eventDispatcher_=(v: EventDispatcher): Unit + + +
    Definition Classes
    Node
    +
  63. + + + + + + + + + def + + + eventHandlerDelegate: EventHandled + + +
    Attributes
    protected
    Definition Classes
    Node → EventHandlerDelegate
    +
  64. + + + + + + + + + val + + + exitButton: Button + + + +
  65. + + + + + + + + + def + + + fillWidth: BooleanProperty + + +
    Definition Classes
    VBox
    +
  66. + + + + + + + + + def + + + fillWidth_=(v: Boolean): Unit + + +
    Definition Classes
    VBox
    +
  67. + + + + + + + + + def + + + filterEvent[J <: Event, S <: Event with SFXDelegate[J]](eventType: EventType[J])(filter: FilterMagnet[J, S]): Subscription + + +
    Definition Classes
    EventHandlerDelegate
    +
  68. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  69. + + + + + + + + + def + + + fireEvent(event: Event): Unit + + +
    Definition Classes
    Node
    +
  70. + + + + + + + + + def + + + focusTraversable: BooleanProperty + + +
    Definition Classes
    Node
    +
  71. + + + + + + + + + def + + + focusTraversable_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  72. + + + + + + + + + def + + + focused: ReadOnlyBooleanProperty + + +
    Definition Classes
    Node
    +
  73. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  74. + + + + + + + + + def + + + getContentBias: Orientation + + +
    Definition Classes
    VBox
    +
  75. + + + + + + + + + def + + + getId: String + + +
    Definition Classes
    Styleable
    +
  76. + + + + + + + + + def + + + getStyle: String + + +
    Definition Classes
    Styleable
    +
  77. + + + + + + + + + def + + + handleEvent[J <: Event, S <: Event with SFXDelegate[J]](eventType: EventType[J])(handler: HandlerMagnet[J, S]): Subscription + + +
    Definition Classes
    EventHandlerDelegate
    +
  78. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    SFXDelegate → AnyRef → Any
    +
  79. + + + + + + + + + def + + + height: ReadOnlyDoubleProperty + + +
    Definition Classes
    Region
    +
  80. + + + + + + + + + def + + + hgrow: Priority + + +
    Definition Classes
    Node
    +
  81. + + + + + + + + + def + + + hgrow_=(p: Priority): Unit + + +
    Definition Classes
    Node
    +
  82. + + + + + + + + + def + + + hover: ReadOnlyBooleanProperty + + +
    Definition Classes
    Node
    +
  83. + + + + + + + + + def + + + id: StringProperty + + +
    Definition Classes
    Node
    +
  84. + + + + + + + + + def + + + id_=(v: String): Unit + + +
    Definition Classes
    Node
    +
  85. + + + + + + + + + def + + + inputMethodRequests: ObjectProperty[InputMethodRequests] + + +
    Definition Classes
    Node
    +
  86. + + + + + + + + + def + + + inputMethodRequests_=(v: InputMethodRequests): Unit + + +
    Definition Classes
    Node
    +
  87. + + + + + + + + + def + + + insets: Insets + + +
    Definition Classes
    Region
    +
  88. + + + + + + + + + def + + + intersects(localX: Double, localY: Double, localWidth: Double, localHeight: Double): Boolean + + +
    Definition Classes
    Node
    +
  89. + + + + + + + + + def + + + intersects(localBounds: Bounds): Boolean + + +
    Definition Classes
    Node
    +
  90. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  91. + + + + + + + + + def + + + layoutBounds: ReadOnlyObjectProperty[Bounds] + + +
    Definition Classes
    Node
    +
  92. + + + + + + + + + def + + + layoutX: DoubleProperty + + +
    Definition Classes
    Node
    +
  93. + + + + + + + + + def + + + layoutX_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  94. + + + + + + + + + def + + + layoutY: DoubleProperty + + +
    Definition Classes
    Node
    +
  95. + + + + + + + + + def + + + layoutY_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  96. + + + + + + + + + val + + + listener: MainMenuCenterBoxListener + + + +
  97. + + + + + + + + + def + + + localToParent(localPoint: Point2D): Point2D + + +
    Definition Classes
    Node
    +
  98. + + + + + + + + + def + + + localToParent(localX: Double, localY: Double): Point2D + + +
    Definition Classes
    Node
    +
  99. + + + + + + + + + def + + + localToParent(localBounds: Bounds): Bounds + + +
    Definition Classes
    Node
    +
  100. + + + + + + + + + def + + + localToParentTransform: Transform + + +
    Definition Classes
    Node
    +
  101. + + + + + + + + + def + + + localToScene(localPoint: Point2D): Point2D + + +
    Definition Classes
    Node
    +
  102. + + + + + + + + + def + + + localToScene(localX: Double, localY: Double): Point2D + + +
    Definition Classes
    Node
    +
  103. + + + + + + + + + def + + + localToScene(localBounds: Bounds): Bounds + + +
    Definition Classes
    Node
    +
  104. + + + + + + + + + def + + + localToSceneTransform: Transform + + +
    Definition Classes
    Node
    +
  105. + + + + + + + + + def + + + lookup(selector: String): Node + + +
    Definition Classes
    Node
    +
  106. + + + + + + + + + def + + + lookupAll(selector: String): Set[Node] + + +
    Definition Classes
    Node
    +
  107. + + + + + + + + + def + + + managed: BooleanProperty + + +
    Definition Classes
    Node
    +
  108. + + + + + + + + + def + + + managed_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  109. + + + + + + + + + def + + + margin: Insets + + +
    Definition Classes
    Node
    +
  110. + + + + + + + + + def + + + margin_=(i: Insets): Unit + + +
    Definition Classes
    Node
    +
  111. + + + + + + + + + def + + + maxHeight: DoubleProperty + + +
    Definition Classes
    Region
    +
  112. + + + + + + + + + def + + + maxHeight(width: Double): Double + + +
    Definition Classes
    Node
    +
  113. + + + + + + + + + def + + + maxHeight_=(v: Double): Unit + + +
    Definition Classes
    Region
    +
  114. + + + + + + + + + def + + + maxWidth: DoubleProperty + + +
    Definition Classes
    Region
    +
  115. + + + + + + + + + def + + + maxWidth(height: Double): Double + + +
    Definition Classes
    Node
    +
  116. + + + + + + + + + def + + + maxWidth_=(v: Double): Unit + + +
    Definition Classes
    Region
    +
  117. + + + + + + + + + def + + + minHeight: DoubleProperty + + +
    Definition Classes
    Region
    +
  118. + + + + + + + + + def + + + minHeight(width: Double): Double + + +
    Definition Classes
    Node
    +
  119. + + + + + + + + + def + + + minHeight_=(v: Double): Unit + + +
    Definition Classes
    Region
    +
  120. + + + + + + + + + def + + + minWidth: DoubleProperty + + +
    Definition Classes
    Region
    +
  121. + + + + + + + + + def + + + minWidth(height: Double): Double + + +
    Definition Classes
    Node
    +
  122. + + + + + + + + + def + + + minWidth_=(v: Double): Unit + + +
    Definition Classes
    Region
    +
  123. + + + + + + + + + def + + + mouseTransparent: BooleanProperty + + +
    Definition Classes
    Node
    +
  124. + + + + + + + + + def + + + mouseTransparent_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  125. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  126. + + + + + + + + + def + + + needsLayout: ReadOnlyBooleanProperty + + +
    Definition Classes
    Parent
    +
  127. + + + + + + + + + def + + + nodeOrientation: ObjectProperty[NodeOrientation] + + +
    Definition Classes
    Node
    +
  128. + + + + + + + + + def + + + nodeOrientation_=(v: NodeOrientation): Unit + + +
    Definition Classes
    Node
    +
  129. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  130. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  131. + + + + + + + + + def + + + onContextMenuRequested: ObjectProperty[EventHandler[_ >: ContextMenuEvent]] + + +
    Definition Classes
    Node
    +
  132. + + + + + + + + + def + + + onContextMenuRequested_=(v: EventHandler[_ >: ContextMenuEvent]): Unit + + +
    Definition Classes
    Node
    +
  133. + + + + + + + + + def + + + onDragDetected: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  134. + + + + + + + + + def + + + onDragDetected_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  135. + + + + + + + + + def + + + onDragDone: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Node
    +
  136. + + + + + + + + + def + + + onDragDone_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Node
    +
  137. + + + + + + + + + def + + + onDragDropped: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Node
    +
  138. + + + + + + + + + def + + + onDragDropped_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Node
    +
  139. + + + + + + + + + def + + + onDragEntered: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Node
    +
  140. + + + + + + + + + def + + + onDragEntered_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Node
    +
  141. + + + + + + + + + def + + + onDragExited: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Node
    +
  142. + + + + + + + + + def + + + onDragExited_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Node
    +
  143. + + + + + + + + + def + + + onDragOver: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Node
    +
  144. + + + + + + + + + def + + + onDragOver_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Node
    +
  145. + + + + + + + + + def + + + onInputMethodTextChanged: ObjectProperty[EventHandler[_ >: InputMethodEvent]] + + +
    Definition Classes
    Node
    +
  146. + + + + + + + + + def + + + onInputMethodTextChanged_=(v: EventHandler[_ >: InputMethodEvent]): Unit + + +
    Definition Classes
    Node
    +
  147. + + + + + + + + + def + + + onKeyPressed: ObjectProperty[EventHandler[_ >: KeyEvent]] + + +
    Definition Classes
    Node
    +
  148. + + + + + + + + + def + + + onKeyPressed_=(v: EventHandler[_ >: KeyEvent]): Unit + + +
    Definition Classes
    Node
    +
  149. + + + + + + + + + def + + + onKeyReleased: ObjectProperty[EventHandler[_ >: KeyEvent]] + + +
    Definition Classes
    Node
    +
  150. + + + + + + + + + def + + + onKeyReleased_=(v: EventHandler[_ >: KeyEvent]): Unit + + +
    Definition Classes
    Node
    +
  151. + + + + + + + + + def + + + onKeyTyped: ObjectProperty[EventHandler[_ >: KeyEvent]] + + +
    Definition Classes
    Node
    +
  152. + + + + + + + + + def + + + onKeyTyped_=(v: EventHandler[_ >: KeyEvent]): Unit + + +
    Definition Classes
    Node
    +
  153. + + + + + + + + + def + + + onMouseClicked: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  154. + + + + + + + + + def + + + onMouseClicked_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  155. + + + + + + + + + def + + + onMouseDragEntered: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Node
    +
  156. + + + + + + + + + def + + + onMouseDragEntered_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Node
    +
  157. + + + + + + + + + def + + + onMouseDragExited: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Node
    +
  158. + + + + + + + + + def + + + onMouseDragExited_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Node
    +
  159. + + + + + + + + + def + + + onMouseDragOver: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Node
    +
  160. + + + + + + + + + def + + + onMouseDragOver_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Node
    +
  161. + + + + + + + + + def + + + onMouseDragReleased: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Node
    +
  162. + + + + + + + + + def + + + onMouseDragReleased_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Node
    +
  163. + + + + + + + + + def + + + onMouseDragged: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  164. + + + + + + + + + def + + + onMouseDragged_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  165. + + + + + + + + + def + + + onMouseEntered: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  166. + + + + + + + + + def + + + onMouseEntered_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  167. + + + + + + + + + def + + + onMouseExited: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  168. + + + + + + + + + def + + + onMouseExited_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  169. + + + + + + + + + def + + + onMouseMoved: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  170. + + + + + + + + + def + + + onMouseMoved_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  171. + + + + + + + + + def + + + onMousePressed: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  172. + + + + + + + + + def + + + onMousePressed_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  173. + + + + + + + + + def + + + onMouseReleased: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Node
    +
  174. + + + + + + + + + def + + + onMouseReleased_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Node
    +
  175. + + + + + + + + + def + + + onRotate: ObjectProperty[EventHandler[_ >: RotateEvent]] + + +
    Definition Classes
    Node
    +
  176. + + + + + + + + + def + + + onRotate_=(v: EventHandler[_ >: RotateEvent]): Unit + + +
    Definition Classes
    Node
    +
  177. + + + + + + + + + def + + + onRotationFinished: ObjectProperty[EventHandler[_ >: RotateEvent]] + + +
    Definition Classes
    Node
    +
  178. + + + + + + + + + def + + + onRotationFinished_=(v: EventHandler[_ >: RotateEvent]): Unit + + +
    Definition Classes
    Node
    +
  179. + + + + + + + + + def + + + onRotationStarted: ObjectProperty[EventHandler[_ >: RotateEvent]] + + +
    Definition Classes
    Node
    +
  180. + + + + + + + + + def + + + onRotationStarted_=(v: EventHandler[_ >: RotateEvent]): Unit + + +
    Definition Classes
    Node
    +
  181. + + + + + + + + + def + + + onScroll: ObjectProperty[EventHandler[_ >: ScrollEvent]] + + +
    Definition Classes
    Node
    +
  182. + + + + + + + + + def + + + onScrollFinished: ObjectProperty[EventHandler[_ >: ScrollEvent]] + + +
    Definition Classes
    Node
    +
  183. + + + + + + + + + def + + + onScrollFinished_=(v: EventHandler[_ >: ScrollEvent]): Unit + + +
    Definition Classes
    Node
    +
  184. + + + + + + + + + def + + + onScrollStarted: ObjectProperty[EventHandler[_ >: ScrollEvent]] + + +
    Definition Classes
    Node
    +
  185. + + + + + + + + + def + + + onScrollStarted_=(v: EventHandler[_ >: ScrollEvent]): Unit + + +
    Definition Classes
    Node
    +
  186. + + + + + + + + + def + + + onScroll_=(v: EventHandler[_ >: ScrollEvent]): Unit + + +
    Definition Classes
    Node
    +
  187. + + + + + + + + + def + + + onSwipeDown: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Node
    +
  188. + + + + + + + + + def + + + onSwipeDown_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Node
    +
  189. + + + + + + + + + def + + + onSwipeLeft: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Node
    +
  190. + + + + + + + + + def + + + onSwipeLeft_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Node
    +
  191. + + + + + + + + + def + + + onSwipeRight: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Node
    +
  192. + + + + + + + + + def + + + onSwipeRight_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Node
    +
  193. + + + + + + + + + def + + + onSwipeUp: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Node
    +
  194. + + + + + + + + + def + + + onSwipeUp_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Node
    +
  195. + + + + + + + + + def + + + onTouchMoved: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Node
    +
  196. + + + + + + + + + def + + + onTouchMoved_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Node
    +
  197. + + + + + + + + + def + + + onTouchPressed: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Node
    +
  198. + + + + + + + + + def + + + onTouchPressed_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Node
    +
  199. + + + + + + + + + def + + + onTouchReleased: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Node
    +
  200. + + + + + + + + + def + + + onTouchReleased_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Node
    +
  201. + + + + + + + + + def + + + onTouchStationary: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Node
    +
  202. + + + + + + + + + def + + + onTouchStationary_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Node
    +
  203. + + + + + + + + + def + + + onZoom: ObjectProperty[EventHandler[_ >: ZoomEvent]] + + +
    Definition Classes
    Node
    +
  204. + + + + + + + + + def + + + onZoomFinished: ObjectProperty[EventHandler[_ >: ZoomEvent]] + + +
    Definition Classes
    Node
    +
  205. + + + + + + + + + def + + + onZoomFinished_=(v: EventHandler[_ >: ZoomEvent]): Unit + + +
    Definition Classes
    Node
    +
  206. + + + + + + + + + def + + + onZoomStarted: ObjectProperty[EventHandler[_ >: ZoomEvent]] + + +
    Definition Classes
    Node
    +
  207. + + + + + + + + + def + + + onZoomStarted_=(v: EventHandler[_ >: ZoomEvent]): Unit + + +
    Definition Classes
    Node
    +
  208. + + + + + + + + + def + + + onZoom_=(v: EventHandler[_ >: ZoomEvent]): Unit + + +
    Definition Classes
    Node
    +
  209. + + + + + + + + + def + + + opacity: DoubleProperty + + +
    Definition Classes
    Node
    +
  210. + + + + + + + + + def + + + opacity_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  211. + + + + + + + + + def + + + opaqueInsets: ObjectProperty[Insets] + + +
    Definition Classes
    Region
    +
  212. + + + + + + + + + def + + + opaqueInsets_=(v: Insets): Unit + + +
    Definition Classes
    Region
    +
  213. + + + + + + + + + def + + + padding: ObjectProperty[Insets] + + +
    Definition Classes
    Region
    +
  214. + + + + + + + + + def + + + padding_=(v: Insets): Unit + + +
    Definition Classes
    Region
    +
  215. + + + + + + + + + def + + + parent: ReadOnlyObjectProperty[Parent] + + +
    Definition Classes
    Node
    +
  216. + + + + + + + + + def + + + parentToLocal(parentPoint: Point2D): Point2D + + +
    Definition Classes
    Node
    +
  217. + + + + + + + + + def + + + parentToLocal(parentX: Double, parentY: Double): Point2D + + +
    Definition Classes
    Node
    +
  218. + + + + + + + + + def + + + parentToLocal(parentBounds: Bounds): Bounds + + +
    Definition Classes
    Node
    +
  219. + + + + + + + + + def + + + pickOnBounds: BooleanProperty + + +
    Definition Classes
    Node
    +
  220. + + + + + + + + + def + + + pickOnBounds_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  221. + + + + + + + + + val + + + playButton: Button + + + +
  222. + + + + + + + + + def + + + prefHeight: DoubleProperty + + +
    Definition Classes
    Region
    +
  223. + + + + + + + + + def + + + prefHeight_=(v: Double): Unit + + +
    Definition Classes
    Region
    +
  224. + + + + + + + + + def + + + prefWidth: DoubleProperty + + +
    Definition Classes
    Region
    +
  225. + + + + + + + + + def + + + prefWidth_=(v: Double): Unit + + +
    Definition Classes
    Region
    +
  226. + + + + + + + + + def + + + pressed: ReadOnlyBooleanProperty + + +
    Definition Classes
    Node
    +
  227. + + + + + + + + + def + + + pseudoClassStates: ObservableSet[PseudoClass] + + +
    Definition Classes
    Styleable
    +
  228. + + + + + + + + + def + + + relocate(x: Double, y: Double): Unit + + +
    Definition Classes
    Node
    +
  229. + + + + + + + + + def + + + removeEventFilter[E <: Event](eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit + + +
    Definition Classes
    EventHandlerDelegate
    +
  230. + + + + + + + + + def + + + removeEventHandler[E <: Event](eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit + + +
    Definition Classes
    EventHandlerDelegate
    +
  231. + + + + + + + + + def + + + requestFocus(): Unit + + +
    Definition Classes
    Node
    +
  232. + + + + + + + + + def + + + requestLayout(): Unit + + +
    Definition Classes
    VBox
    +
  233. + + + + + + + + + def + + + resize(width: Double, height: Double): Unit + + +
    Definition Classes
    Region → Node
    +
  234. + + + + + + + + + def + + + resize: Boolean + + +
    Definition Classes
    Region
    +
  235. + + + + + + + + + def + + + resizeRelocate(x: Double, y: Double, width: Double, height: Double): Unit + + +
    Definition Classes
    Node
    +
  236. + + + + + + + + + def + + + rotate: DoubleProperty + + +
    Definition Classes
    Node
    +
  237. + + + + + + + + + def + + + rotate_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  238. + + + + + + + + + def + + + rotationAxis: ObjectProperty[Point3D] + + +
    Definition Classes
    Node
    +
  239. + + + + + + + + + def + + + rotationAxis_=(v: Point3D): Unit + + +
    Definition Classes
    Node
    +
  240. + + + + + + + + + def + + + scaleShape: BooleanProperty + + +
    Definition Classes
    Region
    +
  241. + + + + + + + + + def + + + scaleShape_=(v: Boolean): Unit + + +
    Definition Classes
    Region
    +
  242. + + + + + + + + + def + + + scaleX: DoubleProperty + + +
    Definition Classes
    Node
    +
  243. + + + + + + + + + def + + + scaleX_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  244. + + + + + + + + + def + + + scaleY: DoubleProperty + + +
    Definition Classes
    Node
    +
  245. + + + + + + + + + def + + + scaleY_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  246. + + + + + + + + + def + + + scaleZ: DoubleProperty + + +
    Definition Classes
    Node
    +
  247. + + + + + + + + + def + + + scaleZ_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  248. + + + + + + + + + def + + + scene: ReadOnlyObjectProperty[Scene] + + +
    Definition Classes
    Node
    +
  249. + + + + + + + + + def + + + sceneToLocal(scenePoint: Point2D): Point2D + + +
    Definition Classes
    Node
    +
  250. + + + + + + + + + def + + + sceneToLocal(sceneX: Double, sceneY: Double): Point2D + + +
    Definition Classes
    Node
    +
  251. + + + + + + + + + def + + + sceneToLocal(sceneBounds: Bounds): Bounds + + +
    Definition Classes
    Node
    +
  252. + + + + + + + + + def + + + shape: ObjectProperty[Shape] + + +
    Definition Classes
    Region
    +
  253. + + + + + + + + + def + + + shape_=(v: Shape): Unit + + +
    Definition Classes
    Region
    +
  254. + + + + + + + + + def + + + snapToPixel: BooleanProperty + + +
    Definition Classes
    Region
    +
  255. + + + + + + + + + def + + + snapToPixel_=(v: Boolean): Unit + + +
    Definition Classes
    Region
    +
  256. + + + + + + + + + def + + + snapshot(callback: (SnapshotResult) ⇒ Unit, params: SnapshotParameters, image: WritableImage): Unit + + +
    Definition Classes
    Node
    +
  257. + + + + + + + + + def + + + snapshot(params: SnapshotParameters, image: WritableImage): WritableImage + + +
    Definition Classes
    Node
    +
  258. + + + + + + + + + def + + + spacing: DoubleProperty + + +
    Definition Classes
    VBox
    +
  259. + + + + + + + + + def + + + spacing_=(v: Double): Unit + + +
    Definition Classes
    VBox
    +
  260. + + + + + + + + + def + + + startDragAndDrop(transferModes: TransferMode*): Dragboard + + +
    Definition Classes
    Node
    +
  261. + + + + + + + + + def + + + startFullDrag(): Unit + + +
    Definition Classes
    Node
    +
  262. + + + + + + + + + def + + + style: StringProperty + + +
    Definition Classes
    Node
    +
  263. + + + + + + + + + def + + + styleClass: ObservableBuffer[String] + + +
    Definition Classes
    Styleable
    +
  264. + + + + + + + + + def + + + styleClass_=(c: Iterable[String]): Unit + + +
    Definition Classes
    Node
    +
  265. + + + + + + + + + def + + + style_=(v: String): Unit + + +
    Definition Classes
    Node
    +
  266. + + + + + + + + + def + + + styleableParent: Styleable + + +
    Definition Classes
    Styleable
    +
  267. + + + + + + + + + def + + + stylesheets: ObservableList[String] + + +
    Definition Classes
    Parent
    +
  268. + + + + + + + + + def + + + stylesheets_=(c: Iterable[String]): Unit + + +
    Definition Classes
    Parent
    +
  269. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  270. + + + + + + + + + def + + + toBack(): Unit + + +
    Definition Classes
    Node
    +
  271. + + + + + + + + + def + + + toFront(): Unit + + +
    Definition Classes
    Node
    +
  272. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    SFXDelegate → AnyRef → Any
    +
  273. + + + + + + + + + def + + + transforms: ObservableList[Transform] + + +
    Definition Classes
    Node
    +
  274. + + + + + + + + + def + + + transforms_=(c: Iterable[Transform]): Unit + + +
    Definition Classes
    Node
    +
  275. + + + + + + + + + def + + + translateX: DoubleProperty + + +
    Definition Classes
    Node
    +
  276. + + + + + + + + + def + + + translateX_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  277. + + + + + + + + + def + + + translateY: DoubleProperty + + +
    Definition Classes
    Node
    +
  278. + + + + + + + + + def + + + translateY_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  279. + + + + + + + + + def + + + translateZ: DoubleProperty + + +
    Definition Classes
    Node
    +
  280. + + + + + + + + + def + + + translateZ_=(v: Double): Unit + + +
    Definition Classes
    Node
    +
  281. + + + + + + + + + def + + + typeSelector: String + + +
    Definition Classes
    Styleable
    +
  282. + + + + + + + + + def + + + userData: AnyRef + + +
    Definition Classes
    Node
    +
  283. + + + + + + + + + def + + + userData_=(v: AnyRef): Unit + + +
    Definition Classes
    Node
    +
  284. + + + + + + + + + def + + + vgrow: Priority + + +
    Definition Classes
    Node
    +
  285. + + + + + + + + + def + + + vgrow_=(p: Priority): Unit + + +
    Definition Classes
    Node
    +
  286. + + + + + + + + + def + + + visible: BooleanProperty + + +
    Definition Classes
    Node
    +
  287. + + + + + + + + + def + + + visible_=(v: Boolean): Unit + + +
    Definition Classes
    Node
    +
  288. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  289. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  290. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  291. + + + + + + + + + def + + + width: ReadOnlyDoubleProperty + + +
    Definition Classes
    Region
    +
  292. +
+
+ + + + +
+ +
+
+

Inherited from VBox

+
+

Inherited from AlignmentDelegate[VBox]

+
+

Inherited from Pane

+
+

Inherited from Region

+
+

Inherited from Parent

+
+

Inherited from Node

+
+

Inherited from Styleable

+
+

Inherited from SFXDelegate[VBox]

+
+

Inherited from EventHandlerDelegate

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/MainMenuCenterBoxListener.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/MainMenuCenterBoxListener.html new file mode 100644 index 00000000..3d12b8cb --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/MainMenuCenterBoxListener.html @@ -0,0 +1,733 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.components.MainMenuCenterBoxListener + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.mvc.view.components

+

MainMenuCenterBoxListener + + + +

+

+
+ +

+ + + trait + + + MainMenuCenterBoxListener extends AnyRef + +

+ + +

Trait which gets notified when a MainMenuCenterBox event occurs +

+ + Linear Supertypes + +
AnyRef, Any
+
+ + Known Subclasses + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. MainMenuCenterBoxListener
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + onExitClick(): Unit + + +

    Called when the user clicks on the exit button +

    +
  2. + + + + + + + + abstract + def + + + onPlayClick(): Unit + + +

    Called when the user clicks on the play button +

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/index.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/index.html new file mode 100644 index 00000000..bfbe8bbb --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/components/index.html @@ -0,0 +1,570 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.components + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
p
+

it.unibo.osmos.redux.mvc.view

+

components + + + +

+ +
+ +

+ + + package + + + components + +

+ + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. + +
+
+ +
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + +
+

Type Members

+
  1. + + + + + + + + + class + + + LevelNode extends VBox + + +

    This node represents a single selectable level from the menu

    +
  2. + + + + + + + + + trait + + + LevelNodeListener extends AnyRef + + +

    Trait which gets notified when a LevelNode event occurs +

    +
  3. + + + + + + + + + class + + + LevelStateBox extends VBox + + +

    Simple box to manage pause, resume and exit events +

    +
  4. + + + + + + + + + trait + + + LevelStateBoxListener extends AnyRef + + +

    Trait which gets notified when a LevelStateBox event occurs +

    +
  5. + + + + + + + + + class + + + MainMenuBar extends MenuBar + + +

    MenuBar showed at the top of the MainScene +

    +
  6. + + + + + + + + + trait + + + MainMenuBarListener extends AnyRef + + +

    Trait which gets notified when a MainMenuBar event occurs +

    +
  7. + + + + + + + + + class + + + MainMenuCenterBox extends VBox + + +

    Center menu shown in MainMenu +

    +
  8. + + + + + + + + + trait + + + MainMenuCenterBoxListener extends AnyRef + + +

    Trait which gets notified when a MainMenuCenterBox event occurs +

    +
+
+ + + +
+

Value Members

+
    +
  1. + + + + + + + + + object + + + LevelScreen + + +

    A simple splash screen shown at the beginning of the level +

    +
  2. +
+
+ + + + +
+ +
+ + +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/CellDrawable.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/CellDrawable.html new file mode 100644 index 00000000..1c3a1e09 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/CellDrawable.html @@ -0,0 +1,764 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.drawables.CellDrawable + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.mvc.view.drawables

+

CellDrawable + + + +

+

+
+ +

+ + + class + + + CellDrawable extends CircleDrawable with ImageDrawable + +

+ + +

Drawable implementation that shows a cell on the screen

+ + Linear Supertypes + + +
+ + Known Subclasses + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. CellDrawable
  2. ImageDrawable
  3. CircleDrawable
  4. Drawable
  5. AnyRef
  6. Any
  7. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + CellDrawable(image: Image, graphicsContext: GraphicsContext) + + +

    image

    the image

    graphicsContext

    the GraphicContext on which the Image will be drawn on

    +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + + def + + + draw(dw: DrawableWrapper, color: Color): Unit + + +

    Draws the circular image on the canvas

    Draws the circular image on the canvas

    dw

    the drawable wrapper containing the drawable info

    color

    the color of the circle, currently unused

    Definition Classes
    CellDrawableCircleDrawable
    +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  9. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  10. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + + val + + + graphicsContext: GraphicsContext + + +
    Definition Classes
    CellDrawableCircleDrawable
    +
  12. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  13. + + + + + + + + + val + + + image: Image + + +

    The image stored in the Drawable

    The image stored in the Drawable

    returns

    the image

    Definition Classes
    CellDrawableImageDrawable
    +
  14. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  15. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  17. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  18. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  19. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  20. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  21. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  22. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  23. +
+
+ + + + +
+ +
+
+

Inherited from ImageDrawable

+
+

Inherited from CircleDrawable

+
+

Inherited from Drawable

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/CellWithSpeedDrawable.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/CellWithSpeedDrawable.html new file mode 100644 index 00000000..40a36a50 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/CellWithSpeedDrawable.html @@ -0,0 +1,761 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.drawables.CellWithSpeedDrawable + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.mvc.view.drawables

+

CellWithSpeedDrawable + + + +

+

+
+ +

+ + + class + + + CellWithSpeedDrawable extends CellDrawable + +

+ + +

Drawable implementation that shows a tintable cell on the screen

+ + Linear Supertypes + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. CellWithSpeedDrawable
  2. CellDrawable
  3. ImageDrawable
  4. CircleDrawable
  5. Drawable
  6. AnyRef
  7. Any
  8. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + CellWithSpeedDrawable(_image: Image, graphicsContext: GraphicsContext) + + +

    _image

    the image

    graphicsContext

    the GraphicContext on which the Image will be drawn on

    +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + + def + + + draw(dw: DrawableWrapper, color: Color): Unit + + +

    Draws the cell on the canvas

    Draws the cell on the canvas

    dw

    the drawable wrapper containing the drawable info

    color

    the color of the cell

    Definition Classes
    CellWithSpeedDrawableCellDrawableCircleDrawable
    +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  9. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  10. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + + val + + + graphicsContext: GraphicsContext + + + +
  12. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  13. + + + + + + + + + val + + + image: Image + + +

    The image stored in the Drawable

    The image stored in the Drawable

    returns

    the image

    Definition Classes
    CellDrawableImageDrawable
    +
  14. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  15. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  17. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  18. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  19. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  20. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  21. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  22. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  23. +
+
+ + + + +
+ +
+
+

Inherited from CellDrawable

+
+

Inherited from ImageDrawable

+
+

Inherited from CircleDrawable

+
+

Inherited from Drawable

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/CircleDrawable.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/CircleDrawable.html new file mode 100644 index 00000000..a96ebdc1 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/CircleDrawable.html @@ -0,0 +1,744 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.drawables.CircleDrawable + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.mvc.view.drawables

+

CircleDrawable + + + +

+

+
+ +

+ + + class + + + CircleDrawable extends Drawable + +

+ + +

Drawable implementation that shows a circle on the screen

+ + Linear Supertypes + +
Drawable, AnyRef, Any
+
+ + Known Subclasses + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. CircleDrawable
  2. Drawable
  3. AnyRef
  4. Any
  5. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + CircleDrawable(graphicsContext: GraphicsContext) + + +

    graphicsContext

    the GraphicContext on which the circle will be drawn on

    +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + + def + + + draw(dw: DrawableWrapper, color: Color): Unit + + +

    Draws a circle on the canvas

    Draws a circle on the canvas

    dw

    the drawable wrapper containing the drawable info

    color

    the color

    +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  9. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  10. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + + val + + + graphicsContext: GraphicsContext + + + +
  12. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  13. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  14. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  15. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  16. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  17. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  18. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  19. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  21. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  22. +
+
+ + + + +
+ +
+
+

Inherited from Drawable

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/Drawable.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/Drawable.html new file mode 100644 index 00000000..65506bff --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/Drawable.html @@ -0,0 +1,692 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.drawables.Drawable + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.mvc.view.drawables

+

Drawable + + + +

+

+
+ +

+ + + trait + + + Drawable extends AnyRef + +

+ + +

Base trait which represent anything that can be drawn on the screen +

+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. Drawable
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/DrawableWrapper.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/DrawableWrapper.html new file mode 100644 index 00000000..9f018e8e --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/DrawableWrapper.html @@ -0,0 +1,727 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.drawables.DrawableWrapper + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.mvc.view.drawables

+

DrawableWrapper + + + +

+

+
+ +

+ + + case class + + + DrawableWrapper(center: Point, radius: Double, speed: (Double, Double), entityType: ecs.components.EntityType.Value) extends Product with Serializable + +

+ + +

Wrapper of any entity that must be drawn +

+ + Linear Supertypes + +
Serializable, Serializable, Product, Equals, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. DrawableWrapper
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
  8. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + DrawableWrapper(center: Point, radius: Double, speed: (Double, Double), entityType: ecs.components.EntityType.Value) + + + +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + val + + + center: Point + + + +
  6. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  7. + + + + + + + + + val + + + entityType: ecs.components.EntityType.Value + + + +
  8. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  9. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  10. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + + val + + + radius: Double + + + +
  16. + + + + + + + + + val + + + speed: (Double, Double) + + + +
  17. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/EntitiesDrawer.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/EntitiesDrawer.html new file mode 100644 index 00000000..97d7fec0 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/EntitiesDrawer.html @@ -0,0 +1,711 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.drawables.EntitiesDrawer + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.mvc.view.drawables

+

EntitiesDrawer + + + +

+

+
+ +

+ + + trait + + + EntitiesDrawer extends AnyRef + +

+ + +

Trait modelling an object which can draw entities +

+ + Linear Supertypes + +
AnyRef, Any
+
+ + Known Subclasses + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. EntitiesDrawer
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + drawEntities(playerEntity: Option[DrawableWrapper], entities: Seq[DrawableWrapper]): Unit + + +

    Called whenever the entities must be drawn

    Called whenever the entities must be drawn

    playerEntity

    the player entity. It may be empty

    entities

    the other entities

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/ImageDrawable.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/ImageDrawable.html new file mode 100644 index 00000000..6bf65e41 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/ImageDrawable.html @@ -0,0 +1,713 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.drawables.ImageDrawable + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.mvc.view.drawables

+

ImageDrawable + + + +

+

+
+ +

+ + + trait + + + ImageDrawable extends Drawable + +

+ + +

This trait represent a Drawable which holds an image +

+ + Linear Supertypes + +
Drawable, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. ImageDrawable
  2. Drawable
  3. AnyRef
  4. Any
  5. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + image: Image + + +

    The image stored in the Drawable

    The image stored in the Drawable

    returns

    the image

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from Drawable

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/StaticImageDrawable.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/StaticImageDrawable.html new file mode 100644 index 00000000..132d922b --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/StaticImageDrawable.html @@ -0,0 +1,806 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.drawables.StaticImageDrawable + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.mvc.view.drawables

+

StaticImageDrawable + + + +

+

+
+ +

+ + + class + + + StaticImageDrawable extends ImageDrawable + +

+ + +

Represent a static image

+ + Linear Supertypes + +
ImageDrawable, Drawable, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. StaticImageDrawable
  2. ImageDrawable
  3. Drawable
  4. AnyRef
  5. Any
  6. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + StaticImageDrawable(image: Image, center: Point, width: Double, height: Double, graphicsContext: GraphicsContext) + + +

    image

    the image

    graphicsContext

    the graphic context

    +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + val + + + center: Point + + + +
  6. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  7. + + + + + + + + + def + + + draw(): Unit + + +

    Method which draws the image on the screen +

    +
  8. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  9. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  10. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  11. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + + val + + + graphicsContext: GraphicsContext + + + +
  13. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  14. + + + + + + + + + val + + + height: Double + + + +
  15. + + + + + + + + + val + + + image: Image + + +

    The image stored in the Drawable

    The image stored in the Drawable

    returns

    the image

    Definition Classes
    StaticImageDrawableImageDrawable
    +
  16. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  17. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  18. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  19. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  20. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  21. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  22. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  23. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  24. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  25. + + + + + + + + + val + + + width: Double + + + +
  26. +
+
+ + + + +
+ +
+
+

Inherited from ImageDrawable

+
+

Inherited from Drawable

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/index.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/index.html new file mode 100644 index 00000000..be8eff4e --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/drawables/index.html @@ -0,0 +1,517 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.drawables + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
p
+

it.unibo.osmos.redux.mvc.view

+

drawables + + + +

+ +
+ +

+ + + package + + + drawables + +

+ + +
+ + + + +
+
+ + +
+

Type Members

+
  1. + + + + + + + + + class + + + CellDrawable extends CircleDrawable with ImageDrawable + + +

    Drawable implementation that shows a cell on the screen

    +
  2. + + + + + + + + + class + + + CellWithSpeedDrawable extends CellDrawable + + +

    Drawable implementation that shows a tintable cell on the screen

    +
  3. + + + + + + + + + class + + + CircleDrawable extends Drawable + + +

    Drawable implementation that shows a circle on the screen

    +
  4. + + + + + + + + + trait + + + Drawable extends AnyRef + + +

    Base trait which represent anything that can be drawn on the screen +

    +
  5. + + + + + + + + + case class + + + DrawableWrapper(center: Point, radius: Double, speed: (Double, Double), entityType: ecs.components.EntityType.Value) extends Product with Serializable + + +

    Wrapper of any entity that must be drawn +

    +
  6. + + + + + + + + + trait + + + EntitiesDrawer extends AnyRef + + +

    Trait modelling an object which can draw entities +

    +
  7. + + + + + + + + + trait + + + ImageDrawable extends Drawable + + +

    This trait represent a Drawable which holds an image +

    +
  8. + + + + + + + + + class + + + StaticImageDrawable extends ImageDrawable + + +

    Represent a static image

    +
+
+ + + + + + + + +
+ +
+ + +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/EventWrapper.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/EventWrapper.html new file mode 100644 index 00000000..9d01fe30 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/EventWrapper.html @@ -0,0 +1,692 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.events.EventWrapper + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.mvc.view.events

+

EventWrapper + + + +

+

+
+ +

+ + + trait + + + EventWrapper extends AnyRef + +

+ + +

Basic event wrapper +

+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. EventWrapper
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/EventWrapperObservable.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/EventWrapperObservable.html new file mode 100644 index 00000000..cbd50417 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/EventWrapperObservable.html @@ -0,0 +1,727 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.events.EventWrapperObservable + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.mvc.view.events

+

EventWrapperObservable + + + +

+

+
+ +

+ + + trait + + + EventWrapperObservable[T <: EventWrapper] extends AnyRef + +

+ + +

This trait models a generic EventWrapper observable +

T

the EventWrapper type

+ + Linear Supertypes + +
AnyRef, Any
+
+ + Known Subclasses + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. EventWrapperObservable
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + subscribe(eventWrapperObserver: EventWrapperObserver[T]): Unit + + +

    This method subscribes a single event observer

    This method subscribes a single event observer

    eventWrapperObserver

    the observer

    +
  2. + + + + + + + + abstract + def + + + unsubscribe(eventWrapperObserver: EventWrapperObserver[T]): Unit + + +

    This method unsubscribes a single event observer

    This method unsubscribes a single event observer

    eventWrapperObserver

    the observer

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/EventWrapperObserver.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/EventWrapperObserver.html new file mode 100644 index 00000000..13641b21 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/EventWrapperObserver.html @@ -0,0 +1,711 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.events.EventWrapperObserver + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.mvc.view.events

+

EventWrapperObserver + + + +

+

+
+ +

+ + + trait + + + EventWrapperObserver[T <: EventWrapper] extends AnyRef + +

+ + +

A basic observer to a EventWrapper +

T

the EventWrapper class or subclass

+ + Linear Supertypes + +
AnyRef, Any
+
+ + Known Subclasses + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. EventWrapperObserver
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + notify(event: T): Unit + + +

    Called on a event T type

    Called on a event T type

    event

    the event

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/GameLost$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/GameLost$.html new file mode 100644 index 00000000..24a36d67 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/GameLost$.html @@ -0,0 +1,663 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.events.GameLost + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.mvc.view.events

+

GameLost + + + +

+

+
+ +

+ + + object + + + GameLost extends GameStateEventWrapper with Product with Serializable + +

+ + +
+ + Linear Supertypes + +
Serializable, Serializable, Product, Equals, GameStateEventWrapper, EventWrapper, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. GameLost
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. GameStateEventWrapper
  7. EventWrapper
  8. AnyRef
  9. Any
  10. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  11. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  12. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  13. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  15. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  16. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  17. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  18. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from GameStateEventWrapper

+
+

Inherited from EventWrapper

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/GamePending$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/GamePending$.html new file mode 100644 index 00000000..584ff4bc --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/GamePending$.html @@ -0,0 +1,663 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.events.GamePending + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.mvc.view.events

+

GamePending + + + +

+

+
+ +

+ + + object + + + GamePending extends GameStateEventWrapper with Product with Serializable + +

+ + +
+ + Linear Supertypes + +
Serializable, Serializable, Product, Equals, GameStateEventWrapper, EventWrapper, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. GamePending
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. GameStateEventWrapper
  7. EventWrapper
  8. AnyRef
  9. Any
  10. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  11. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  12. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  13. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  15. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  16. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  17. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  18. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from GameStateEventWrapper

+
+

Inherited from EventWrapper

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/GameStateEventWrapper.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/GameStateEventWrapper.html new file mode 100644 index 00000000..f6e4e06e --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/GameStateEventWrapper.html @@ -0,0 +1,694 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.events.GameStateEventWrapper + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.mvc.view.events

+

GameStateEventWrapper + + + +

+

+
+ +

+ + sealed + trait + + + GameStateEventWrapper extends EventWrapper + +

+ + +

Possible game events +

+ + Linear Supertypes + +
EventWrapper, AnyRef, Any
+
+ + Known Subclasses + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. GameStateEventWrapper
  2. EventWrapper
  3. AnyRef
  4. Any
  5. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from EventWrapper

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/GameWon$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/GameWon$.html new file mode 100644 index 00000000..aad9a1b8 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/GameWon$.html @@ -0,0 +1,663 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.events.GameWon + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.mvc.view.events

+

GameWon + + + +

+

+
+ +

+ + + object + + + GameWon extends GameStateEventWrapper with Product with Serializable + +

+ + +
+ + Linear Supertypes + +
Serializable, Serializable, Product, Equals, GameStateEventWrapper, EventWrapper, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. GameWon
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. GameStateEventWrapper
  7. EventWrapper
  8. AnyRef
  9. Any
  10. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  11. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  12. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  13. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  15. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  16. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  17. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  18. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from GameStateEventWrapper

+
+

Inherited from EventWrapper

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/MouseEventWrapper.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/MouseEventWrapper.html new file mode 100644 index 00000000..182559b4 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/MouseEventWrapper.html @@ -0,0 +1,681 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.events.MouseEventWrapper + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.mvc.view.events

+

MouseEventWrapper + + + +

+

+
+ +

+ + + case class + + + MouseEventWrapper(point: Point) extends EventWrapper with Product with Serializable + +

+ + +

Case class which wraps a mouse event +

point

the coordinates of the clicked point

+ + Linear Supertypes + +
Serializable, Serializable, Product, Equals, EventWrapper, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. MouseEventWrapper
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. EventWrapper
  7. AnyRef
  8. Any
  9. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + MouseEventWrapper(point: Point) + + +

    point

    the coordinates of the clicked point

    +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  8. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  9. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  10. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  11. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  12. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  13. + + + + + + + + + val + + + point: Point + + + +
  14. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  15. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  16. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  17. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  18. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from EventWrapper

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/index.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/index.html new file mode 100644 index 00000000..8d6ad7b8 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/events/index.html @@ -0,0 +1,550 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.events + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
p
+

it.unibo.osmos.redux.mvc.view

+

events + + + +

+ +
+ +

+ + + package + + + events + +

+ + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. + +
+
+ +
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + +
+

Type Members

+
  1. + + + + + + + + + trait + + + EventWrapper extends AnyRef + + +

    Basic event wrapper +

    +
  2. + + + + + + + + + trait + + + EventWrapperObservable[T <: EventWrapper] extends AnyRef + + +

    This trait models a generic EventWrapper observable +

    This trait models a generic EventWrapper observable +

    T

    the EventWrapper type

    +
  3. + + + + + + + + + trait + + + EventWrapperObserver[T <: EventWrapper] extends AnyRef + + +

    A basic observer to a EventWrapper +

    A basic observer to a EventWrapper +

    T

    the EventWrapper class or subclass

    +
  4. + + + + + + + + sealed + trait + + + GameStateEventWrapper extends EventWrapper + + +

    Possible game events +

    +
  5. + + + + + + + + + case class + + + MouseEventWrapper(point: Point) extends EventWrapper with Product with Serializable + + +

    Case class which wraps a mouse event +

    Case class which wraps a mouse event +

    point

    the coordinates of the clicked point

    +
+
+ + + +
+

Value Members

+
    +
  1. + + + + + + + + + object + + + GameLost extends GameStateEventWrapper with Product with Serializable + + + +
  2. + + + + + + + + + object + + + GamePending extends GameStateEventWrapper with Product with Serializable + + + +
  3. + + + + + + + + + object + + + GameWon extends GameStateEventWrapper with Product with Serializable + + + +
  4. +
+
+ + + + +
+ +
+ + +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/index.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/index.html new file mode 100644 index 00000000..c9c3c9f1 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/index.html @@ -0,0 +1,472 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
p
+

it.unibo.osmos.redux.mvc

+

view + + + +

+ +
+ +

+ + + package + + + view + +

+ + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. + +
+
+ +
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + +
+

Type Members

+
  1. + + + + + + + + + trait + + + View extends AnyRef + + +

    View base trait +

    +
+
+ + + +
+

Value Members

+
    +
  1. + + + + + + + + + object + + + View + + + +
  2. + + + + + + + + + object + + + ViewConstants + + +

    View constants +

    +
  3. +
+
+ + + + +
+ +
+ + +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/levels/GameStateHolder.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/levels/GameStateHolder.html new file mode 100644 index 00000000..babed0fc --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/levels/GameStateHolder.html @@ -0,0 +1,709 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.levels.GameStateHolder + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.mvc.view.levels

+

GameStateHolder + + + +

+

+
+ +

+ + + trait + + + GameStateHolder extends EventWrapperObserver[GameStateEventWrapper] + +

+ + +

Trait modelling an object which holds the current game state and reacts when it gets changed +

+ + Linear Supertypes + + +
+ + Known Subclasses + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. GameStateHolder
  2. EventWrapperObserver
  3. AnyRef
  4. Any
  5. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + gameCurrentState: GameStateEventWrapper + + +

    A generic definition of the game state

    A generic definition of the game state

    returns

    a GameStateEventWrapper

    +
  2. + + + + + + + + abstract + def + + + notify(event: GameStateEventWrapper): Unit + + +

    Called on a event T type

    Called on a event T type

    event

    the event

    Definition Classes
    EventWrapperObserver
    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/levels/LevelContext$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/levels/LevelContext$.html new file mode 100644 index 00000000..6ce77797 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/levels/LevelContext$.html @@ -0,0 +1,684 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.levels.LevelContext + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + object + + + LevelContext + +

+ + +
+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. LevelContext
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + def + + + apply(listener: LevelContextListener, simulation: Boolean): LevelContext + + + +
  5. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  6. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  9. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  10. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  13. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  14. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/levels/LevelContext.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/levels/LevelContext.html new file mode 100644 index 00000000..b8a25528 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/levels/LevelContext.html @@ -0,0 +1,792 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.levels.LevelContext + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + trait + + + LevelContext extends EventWrapperObservable[MouseEventWrapper] with EntitiesDrawer with GameStateHolder + +

+ + +

Trait modelling the context of a level +

+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. LevelContext
  2. GameStateHolder
  3. EventWrapperObserver
  4. EntitiesDrawer
  5. EventWrapperObservable
  6. AnyRef
  7. Any
  8. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + drawEntities(playerEntity: Option[DrawableWrapper], entities: Seq[DrawableWrapper]): Unit + + +

    Called whenever the entities must be drawn

    Called whenever the entities must be drawn

    playerEntity

    the player entity. It may be empty

    entities

    the other entities

    Definition Classes
    EntitiesDrawer
    +
  2. + + + + + + + + abstract + def + + + gameCurrentState: GameStateEventWrapper + + +

    A generic definition of the game state

    A generic definition of the game state

    returns

    a GameStateEventWrapper

    Definition Classes
    GameStateHolder
    +
  3. + + + + + + + + abstract + def + + + notify(event: GameStateEventWrapper): Unit + + +

    Called on a event T type

    Called on a event T type

    event

    the event

    Definition Classes
    EventWrapperObserver
    +
  4. + + + + + + + + abstract + def + + + notifyMouseEvent(event: MouseEventWrapper): Unit + + +

    Called when the LevelContext gets a mouse event from the scene

    Called when the LevelContext gets a mouse event from the scene

    event

    the mouse event

    +
  5. + + + + + + + + abstract + def + + + setupLevel(mapShape: MapShape): Unit + + +

    Called once at the beginning at the level.

    Called once at the beginning at the level. Manages the context setup

    mapShape

    the level shape

    +
  6. + + + + + + + + abstract + def + + + subscribe(eventWrapperObserver: EventWrapperObserver[MouseEventWrapper]): Unit + + +

    This method subscribes a single event observer

    This method subscribes a single event observer

    eventWrapperObserver

    the observer

    Definition Classes
    EventWrapperObservable
    +
  7. + + + + + + + + abstract + def + + + unsubscribe(eventWrapperObserver: EventWrapperObserver[MouseEventWrapper]): Unit + + +

    This method unsubscribes a single event observer

    This method unsubscribes a single event observer

    eventWrapperObserver

    the observer

    Definition Classes
    EventWrapperObservable
    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from GameStateHolder

+
+

Inherited from EntitiesDrawer

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/levels/LevelContextListener.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/levels/LevelContextListener.html new file mode 100644 index 00000000..66066f3c --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/levels/LevelContextListener.html @@ -0,0 +1,723 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.levels.LevelContextListener + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.mvc.view.levels

+

LevelContextListener + + + +

+

+
+ +

+ + + trait + + + LevelContextListener extends AnyRef + +

+ + +

Trait which gets notified when a LevelContext event occurs +

+ + Linear Supertypes + +
AnyRef, Any
+
+ + Known Subclasses + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. LevelContextListener
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + onDrawEntities(playerEntity: Option[DrawableWrapper], entities: Seq[DrawableWrapper]): Unit + + +

    Called when the LevelContext retrieve a collection of entities that must be drawn on the scene

    Called when the LevelContext retrieve a collection of entities that must be drawn on the scene

    playerEntity

    the player entity. It may be empty

    entities

    the other entities

    +
  2. + + + + + + + + abstract + def + + + onLevelEnd(levelResult: Boolean): Unit + + +

    Called once when the level ends.

    Called once when the level ends.

    levelResult

    true if the player has won, false otherwise

    +
  3. + + + + + + + + abstract + def + + + onLevelSetup(mapShape: MapShape): Unit + + +

    Called once.

    Called once. Manages the context setup communicating the level shape

    mapShape

    the level shape

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/levels/index.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/levels/index.html new file mode 100644 index 00000000..7c93aa8f --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/levels/index.html @@ -0,0 +1,461 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.levels + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
p
+

it.unibo.osmos.redux.mvc.view

+

levels + + + +

+ +
+ +

+ + + package + + + levels + +

+ + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. + +
+
+ +
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + +
+

Type Members

+
  1. + + + + + + + + + trait + + + GameStateHolder extends EventWrapperObserver[GameStateEventWrapper] + + +

    Trait modelling an object which holds the current game state and reacts when it gets changed +

    +
  2. + + + + + + + + + trait + + + LevelContext extends EventWrapperObservable[MouseEventWrapper] with EntitiesDrawer with GameStateHolder + + +

    Trait modelling the context of a level +

    +
  3. + + + + + + + + + trait + + + LevelContextListener extends AnyRef + + +

    Trait which gets notified when a LevelContext event occurs +

    +
+
+ + + +
+

Value Members

+
    +
  1. + + + + + + + + + object + + + LevelContext + + + +
  2. +
+
+ + + + +
+ +
+ + +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/loaders/ImageLoader$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/loaders/ImageLoader$.html new file mode 100644 index 00000000..37df1b92 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/loaders/ImageLoader$.html @@ -0,0 +1,715 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.loaders.ImageLoader + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.mvc.view.loaders

+

ImageLoader + + + +

+

+
+ +

+ + + object + + + ImageLoader extends Loader[String, Image] + +

+ + +

Loader which caches the already requested images +

+ + Linear Supertypes + +
Loader[String, Image], AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. ImageLoader
  2. Loader
  3. AnyRef
  4. Any
  5. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + val + + + cache: HashMap[String, Image] + + +

    The cache which holds the already requested valuew +

    The cache which holds the already requested valuew +

    Definition Classes
    Loader
    +
  6. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  9. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  10. + + + + + + + + + def + + + get(a: String, f: (String) ⇒ Image): Image + + +

    This method returns the value requested by the input key, or computes a function, save the new result and returns it

    This method returns the value requested by the input key, or computes a function, save the new result and returns it

    a

    the key

    f

    the function, from A to B

    returns

    the element stored by key a

    Attributes
    protected
    Definition Classes
    Loader
    +
  11. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + + def + + + getImage(path: String): Image + + +

    This method retrieves an Image by its path.

    This method retrieves an Image by its path.

    path

    the Image path

    returns

    the Image

    +
  13. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  15. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  17. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  18. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  19. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  20. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  21. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  22. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  23. +
+
+ + + + +
+ +
+
+

Inherited from Loader[String, Image]

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/loaders/Loader.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/loaders/Loader.html new file mode 100644 index 00000000..73e8e858 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/loaders/Loader.html @@ -0,0 +1,700 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.loaders.Loader + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.mvc.view.loaders

+

Loader + + + +

+

+
+ +

+ + + trait + + + Loader[A, B] extends AnyRef + +

+ + +

Basic flyweight loader that caches the requested values in a map

A

the keys type

B

the values type

+ + Linear Supertypes + +
AnyRef, Any
+
+ + Known Subclasses + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. Loader
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + val + + + cache: HashMap[A, B] + + +

    The cache which holds the already requested valuew +

    +
  6. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  9. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  10. + + + + + + + + + def + + + get(a: A, f: (A) ⇒ B): B + + +

    This method returns the value requested by the input key, or computes a function, save the new result and returns it

    This method returns the value requested by the input key, or computes a function, save the new result and returns it

    a

    the key

    f

    the function, from A to B

    returns

    the element stored by key a

    Attributes
    protected
    +
  11. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  13. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  14. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  15. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  16. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  17. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  18. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  19. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  21. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  22. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/loaders/index.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/loaders/index.html new file mode 100644 index 00000000..1af29f2a --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/loaders/index.html @@ -0,0 +1,423 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.loaders + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
p
+

it.unibo.osmos.redux.mvc.view

+

loaders + + + +

+ +
+ +

+ + + package + + + loaders + +

+ + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. + +
+
+ +
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + +
+

Type Members

+
  1. + + + + + + + + + trait + + + Loader[A, B] extends AnyRef + + +

    Basic flyweight loader that caches the requested values in a map

    Basic flyweight loader that caches the requested values in a map

    A

    the keys type

    B

    the values type

    +
+
+ + + +
+

Value Members

+
    +
  1. + + + + + + + + + object + + + ImageLoader extends Loader[String, Image] + + +

    Loader which caches the already requested images +

    +
  2. +
+
+ + + + +
+ +
+ + +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/scenes/BaseScene.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/scenes/BaseScene.html new file mode 100644 index 00000000..20f5763f --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/scenes/BaseScene.html @@ -0,0 +1,2604 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.scenes.BaseScene + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.mvc.view.scenes

+

BaseScene + + + +

+

+
+ +

+ + + case class + + + BaseScene(parentStage: Stage) extends Scene with Product with Serializable + +

+ + +

BaseScene case class shich holds the reference to the parent Stage instance +

+ + Linear Supertypes + +
Serializable, Serializable, Product, Equals, Scene, SFXDelegate[Scene], AnyRef, Any
+
+ + Known Subclasses + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. BaseScene
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. Scene
  7. SFXDelegate
  8. AnyRef
  9. Any
  10. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + BaseScene(parentStage: Stage) + + + +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + def + + + accelerators: ObservableMap[KeyCombination, Runnable] + + +
    Definition Classes
    Scene
    +
  5. + + + + + + + + + def + + + addMnemonic(m: Mnemonic): Unit + + +
    Definition Classes
    Scene
    +
  6. + + + + + + + + + def + + + antialiasing: SceneAntialiasing + + +
    Definition Classes
    Scene
    +
  7. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  8. + + + + + + + + + def + + + camera: ObjectProperty[Camera] + + +
    Definition Classes
    Scene
    +
  9. + + + + + + + + + def + + + camera_=(v: Camera): Unit + + +
    Definition Classes
    Scene
    +
  10. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  11. + + + + + + + + + def + + + content: ObservableList[Node] + + +
    Definition Classes
    Scene
    +
  12. + + + + + + + + + def + + + content_=(n: Node): Unit + + +
    Definition Classes
    Scene
    +
  13. + + + + + + + + + def + + + content_=(c: Iterable[Node]): Unit + + +
    Definition Classes
    Scene
    +
  14. + + + + + + + + + def + + + cursor: ObjectProperty[Cursor] + + +
    Definition Classes
    Scene
    +
  15. + + + + + + + + + def + + + cursor_=(v: Cursor): Unit + + +
    Definition Classes
    Scene
    +
  16. + + + + + + + + + val + + + delegate: Scene + + +
    Definition Classes
    Scene → SFXDelegate
    +
  17. + + + + + + + + + def + + + depthBuffer: Boolean + + +
    Definition Classes
    Scene
    +
  18. + + + + + + + + + def + + + effectiveNodeOrientation: ReadOnlyObjectProperty[NodeOrientation] + + +
    Definition Classes
    Scene
    +
  19. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  20. + + + + + + + + + def + + + equals(ref: Any): Boolean + + +
    Definition Classes
    SFXDelegate → AnyRef → Any
    +
  21. + + + + + + + + + def + + + eventDispatcher: ObjectProperty[EventDispatcher] + + +
    Definition Classes
    Scene
    +
  22. + + + + + + + + + def + + + eventDispatcher_=(v: EventDispatcher): Unit + + +
    Definition Classes
    Scene
    +
  23. + + + + + + + + + def + + + fill: ObjectProperty[Paint] + + +
    Definition Classes
    Scene
    +
  24. + + + + + + + + + def + + + fill_=(v: Paint): Unit + + +
    Definition Classes
    Scene
    +
  25. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  26. + + + + + + + + + def + + + focusOwner: ReadOnlyObjectProperty[Node] + + +
    Definition Classes
    Scene
    +
  27. + + + + + + + + + def + + + getChildren: ObservableList[Node] + + +
    Definition Classes
    Scene
    +
  28. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  29. + + + + + + + + + def + + + getMnemonics: ObservableMap[KeyCombination, ObservableList[Mnemonic]] + + +
    Definition Classes
    Scene
    +
  30. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    SFXDelegate → AnyRef → Any
    +
  31. + + + + + + + + + def + + + height: ReadOnlyDoubleProperty + + +
    Definition Classes
    Scene
    +
  32. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  33. + + + + + + + + + def + + + lookup(selector: String): Option[Node] + + +
    Definition Classes
    Scene
    +
  34. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  35. + + + + + + + + + def + + + nodeOrientation: ObjectProperty[NodeOrientation] + + +
    Definition Classes
    Scene
    +
  36. + + + + + + + + + def + + + nodeOrientation_=(v: NodeOrientation): Unit + + +
    Definition Classes
    Scene
    +
  37. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  38. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  39. + + + + + + + + + def + + + onContextMenuRequested: ObjectProperty[EventHandler[_ >: ContextMenuEvent]] + + +
    Definition Classes
    Scene
    +
  40. + + + + + + + + + def + + + onContextMenuRequested_=(v: EventHandler[_ >: ContextMenuEvent]): Unit + + +
    Definition Classes
    Scene
    +
  41. + + + + + + + + + def + + + onDragDetected: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Scene
    +
  42. + + + + + + + + + def + + + onDragDetected_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Scene
    +
  43. + + + + + + + + + def + + + onDragDone: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Scene
    +
  44. + + + + + + + + + def + + + onDragDone_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  45. + + + + + + + + + def + + + onDragDropped: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Scene
    +
  46. + + + + + + + + + def + + + onDragDropped_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  47. + + + + + + + + + def + + + onDragEntered: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Scene
    +
  48. + + + + + + + + + def + + + onDragEntered_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  49. + + + + + + + + + def + + + onDragExited: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Scene
    +
  50. + + + + + + + + + def + + + onDragExited_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  51. + + + + + + + + + def + + + onDragOver: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Scene
    +
  52. + + + + + + + + + def + + + onDragOver_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  53. + + + + + + + + + def + + + onInputMethodTextChanged: ObjectProperty[EventHandler[_ >: InputMethodEvent]] + + +
    Definition Classes
    Scene
    +
  54. + + + + + + + + + def + + + onInputMethodTextChanged_=(v: EventHandler[_ >: InputMethodEvent]): Unit + + +
    Definition Classes
    Scene
    +
  55. + + + + + + + + + def + + + onKeyPressed: ObjectProperty[EventHandler[_ >: KeyEvent]] + + +
    Definition Classes
    Scene
    +
  56. + + + + + + + + + def + + + onKeyPressed_=(v: EventHandler[_ >: KeyEvent]): Unit + + +
    Definition Classes
    Scene
    +
  57. + + + + + + + + + def + + + onKeyReleased: ObjectProperty[EventHandler[_ >: KeyEvent]] + + +
    Definition Classes
    Scene
    +
  58. + + + + + + + + + def + + + onKeyReleased_=(v: EventHandler[_ >: KeyEvent]): Unit + + +
    Definition Classes
    Scene
    +
  59. + + + + + + + + + def + + + onKeyTyped: ObjectProperty[EventHandler[_ >: KeyEvent]] + + +
    Definition Classes
    Scene
    +
  60. + + + + + + + + + def + + + onKeyTyped_=(v: EventHandler[_ >: KeyEvent]): Unit + + +
    Definition Classes
    Scene
    +
  61. + + + + + + + + + def + + + onMouseClicked: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Scene
    +
  62. + + + + + + + + + def + + + onMouseClicked_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Scene
    +
  63. + + + + + + + + + def + + + onMouseDragEntered: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Scene
    +
  64. + + + + + + + + + def + + + onMouseDragEntered_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  65. + + + + + + + + + def + + + onMouseDragExited: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Scene
    +
  66. + + + + + + + + + def + + + onMouseDragExited_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  67. + + + + + + + + + def + + + onMouseDragOver: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Scene
    +
  68. + + + + + + + + + def + + + onMouseDragOver_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  69. + + + + + + + + + def + + + onMouseDragReleased: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Scene
    +
  70. + + + + + + + + + def + + + onMouseDragReleased_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  71. + + + + + + + + + def + + + onMouseDragged: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Scene
    +
  72. + + + + + + + + + def + + + onMouseDragged_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Scene
    +
  73. + + + + + + + + + def + + + onMouseEntered: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Scene
    +
  74. + + + + + + + + + def + + + onMouseEntered_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Scene
    +
  75. + + + + + + + + + def + + + onMouseExited: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Scene
    +
  76. + + + + + + + + + def + + + onMouseExited_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Scene
    +
  77. + + + + + + + + + def + + + onMouseMoved: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Scene
    +
  78. + + + + + + + + + def + + + onMouseMoved_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Scene
    +
  79. + + + + + + + + + def + + + onMousePressed: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Scene
    +
  80. + + + + + + + + + def + + + onMousePressed_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Scene
    +
  81. + + + + + + + + + def + + + onMouseReleased: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Scene
    +
  82. + + + + + + + + + def + + + onMouseReleased_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Scene
    +
  83. + + + + + + + + + def + + + onRotate: ObjectProperty[EventHandler[_ >: RotateEvent]] + + +
    Definition Classes
    Scene
    +
  84. + + + + + + + + + def + + + onRotate_=(v: EventHandler[_ >: RotateEvent]): Unit + + +
    Definition Classes
    Scene
    +
  85. + + + + + + + + + def + + + onRotationFinished: ObjectProperty[EventHandler[_ >: RotateEvent]] + + +
    Definition Classes
    Scene
    +
  86. + + + + + + + + + def + + + onRotationFinished_=(v: EventHandler[_ >: RotateEvent]): Unit + + +
    Definition Classes
    Scene
    +
  87. + + + + + + + + + def + + + onRotationStarted: ObjectProperty[EventHandler[_ >: RotateEvent]] + + +
    Definition Classes
    Scene
    +
  88. + + + + + + + + + def + + + onRotationStarted_=(v: EventHandler[_ >: RotateEvent]): Unit + + +
    Definition Classes
    Scene
    +
  89. + + + + + + + + + def + + + onScroll: ObjectProperty[EventHandler[_ >: ScrollEvent]] + + +
    Definition Classes
    Scene
    +
  90. + + + + + + + + + def + + + onScrollFinished: ObjectProperty[EventHandler[_ >: ScrollEvent]] + + +
    Definition Classes
    Scene
    +
  91. + + + + + + + + + def + + + onScrollFinished_=(v: EventHandler[_ >: ScrollEvent]): Unit + + +
    Definition Classes
    Scene
    +
  92. + + + + + + + + + def + + + onScrollStarted: ObjectProperty[EventHandler[_ >: ScrollEvent]] + + +
    Definition Classes
    Scene
    +
  93. + + + + + + + + + def + + + onScrollStarted_=(v: EventHandler[_ >: ScrollEvent]): Unit + + +
    Definition Classes
    Scene
    +
  94. + + + + + + + + + def + + + onScroll_=(v: EventHandler[_ >: ScrollEvent]): Unit + + +
    Definition Classes
    Scene
    +
  95. + + + + + + + + + def + + + onSwipeDown: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Scene
    +
  96. + + + + + + + + + def + + + onSwipeDown_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Scene
    +
  97. + + + + + + + + + def + + + onSwipeLeft: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Scene
    +
  98. + + + + + + + + + def + + + onSwipeLeft_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Scene
    +
  99. + + + + + + + + + def + + + onSwipeRight: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Scene
    +
  100. + + + + + + + + + def + + + onSwipeRight_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Scene
    +
  101. + + + + + + + + + def + + + onSwipeUp: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Scene
    +
  102. + + + + + + + + + def + + + onSwipeUp_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Scene
    +
  103. + + + + + + + + + def + + + onTouchMoved: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Scene
    +
  104. + + + + + + + + + def + + + onTouchMoved_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Scene
    +
  105. + + + + + + + + + def + + + onTouchPressed: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Scene
    +
  106. + + + + + + + + + def + + + onTouchPressed_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Scene
    +
  107. + + + + + + + + + def + + + onTouchReleased: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Scene
    +
  108. + + + + + + + + + def + + + onTouchReleased_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Scene
    +
  109. + + + + + + + + + def + + + onTouchStationary: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Scene
    +
  110. + + + + + + + + + def + + + onTouchStationary_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Scene
    +
  111. + + + + + + + + + def + + + onZoom: ObjectProperty[EventHandler[_ >: ZoomEvent]] + + +
    Definition Classes
    Scene
    +
  112. + + + + + + + + + def + + + onZoomFinished: ObjectProperty[EventHandler[_ >: ZoomEvent]] + + +
    Definition Classes
    Scene
    +
  113. + + + + + + + + + def + + + onZoomFinished_=(v: EventHandler[_ >: ZoomEvent]): Unit + + +
    Definition Classes
    Scene
    +
  114. + + + + + + + + + def + + + onZoomStarted: ObjectProperty[EventHandler[_ >: ZoomEvent]] + + +
    Definition Classes
    Scene
    +
  115. + + + + + + + + + def + + + onZoomStarted_=(v: EventHandler[_ >: ZoomEvent]): Unit + + +
    Definition Classes
    Scene
    +
  116. + + + + + + + + + def + + + onZoom_=(v: EventHandler[_ >: ZoomEvent]): Unit + + +
    Definition Classes
    Scene
    +
  117. + + + + + + + + + val + + + parentStage: Stage + + + +
  118. + + + + + + + + + def + + + removeMnemonic(m: Mnemonic): Unit + + +
    Definition Classes
    Scene
    +
  119. + + + + + + + + + def + + + root: ObjectProperty[Parent] + + +
    Definition Classes
    Scene
    +
  120. + + + + + + + + + def + + + root_=(v: Parent): Unit + + +
    Definition Classes
    Scene
    +
  121. + + + + + + + + + def + + + snapshot(callback: (SnapshotResult) ⇒ Unit, image: WritableImage): Unit + + +
    Definition Classes
    Scene
    +
  122. + + + + + + + + + def + + + snapshot(image: WritableImage): WritableImage + + +
    Definition Classes
    Scene
    +
  123. + + + + + + + + + def + + + startDragAndDrop(transferModes: TransferMode*): Dragboard + + +
    Definition Classes
    Scene
    +
  124. + + + + + + + + + def + + + startFullDrag(): Unit + + +
    Definition Classes
    Scene
    +
  125. + + + + + + + + + def + + + stylesheets: ObservableList[String] + + +
    Definition Classes
    Scene
    +
  126. + + + + + + + + + def + + + stylesheets_=(c: Iterable[String]): Unit + + +
    Definition Classes
    Scene
    +
  127. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  128. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    SFXDelegate → AnyRef → Any
    +
  129. + + + + + + + + + def + + + userAgentStylesheet: ObjectProperty[String] + + +
    Definition Classes
    Scene
    +
  130. + + + + + + + + + def + + + userAgentStylesheet_=(url: String): Unit + + +
    Definition Classes
    Scene
    +
  131. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  132. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  133. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  134. + + + + + + + + + def + + + width: ReadOnlyDoubleProperty + + +
    Definition Classes
    Scene
    +
  135. + + + + + + + + + def + + + window: ReadOnlyObjectProperty[Window] + + +
    Definition Classes
    Scene
    +
  136. + + + + + + + + + def + + + x: ReadOnlyDoubleProperty + + +
    Definition Classes
    Scene
    +
  137. + + + + + + + + + def + + + y: ReadOnlyDoubleProperty + + +
    Definition Classes
    Scene
    +
  138. +
+
+ + + + +
+ +
+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from Scene

+
+

Inherited from SFXDelegate[Scene]

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/scenes/LevelScene.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/scenes/LevelScene.html new file mode 100644 index 00000000..77acd7df --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/scenes/LevelScene.html @@ -0,0 +1,2755 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.scenes.LevelScene + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.mvc.view.scenes

+

LevelScene + + + +

+

+
+ +

+ + + class + + + LevelScene extends BaseScene with LevelContextListener with LevelStateBoxListener + +

+ + +

This scene holds and manages a single level +

+ + Linear Supertypes + +
LevelStateBoxListener, LevelContextListener, BaseScene, Serializable, Serializable, Product, Equals, Scene, SFXDelegate[Scene], AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. LevelScene
  2. LevelStateBoxListener
  3. LevelContextListener
  4. BaseScene
  5. Serializable
  6. Serializable
  7. Product
  8. Equals
  9. Scene
  10. SFXDelegate
  11. AnyRef
  12. Any
  13. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + LevelScene(parentStage: Stage, listener: LevelSceneListener) + + + +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + def + + + accelerators: ObservableMap[KeyCombination, Runnable] + + +
    Definition Classes
    Scene
    +
  5. + + + + + + + + + def + + + addMnemonic(m: Mnemonic): Unit + + +
    Definition Classes
    Scene
    +
  6. + + + + + + + + + def + + + antialiasing: SceneAntialiasing + + +
    Definition Classes
    Scene
    +
  7. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  8. + + + + + + + + + def + + + camera: ObjectProperty[Camera] + + +
    Definition Classes
    Scene
    +
  9. + + + + + + + + + def + + + camera_=(v: Camera): Unit + + +
    Definition Classes
    Scene
    +
  10. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  11. + + + + + + + + + def + + + content: ObservableList[Node] + + +
    Definition Classes
    Scene
    +
  12. + + + + + + + + + def + + + content_=(n: Node): Unit + + +
    Definition Classes
    Scene
    +
  13. + + + + + + + + + def + + + content_=(c: Iterable[Node]): Unit + + +
    Definition Classes
    Scene
    +
  14. + + + + + + + + + def + + + cursor: ObjectProperty[Cursor] + + +
    Definition Classes
    Scene
    +
  15. + + + + + + + + + def + + + cursor_=(v: Cursor): Unit + + +
    Definition Classes
    Scene
    +
  16. + + + + + + + + + val + + + delegate: Scene + + +
    Definition Classes
    Scene → SFXDelegate
    +
  17. + + + + + + + + + def + + + depthBuffer: Boolean + + +
    Definition Classes
    Scene
    +
  18. + + + + + + + + + def + + + effectiveNodeOrientation: ReadOnlyObjectProperty[NodeOrientation] + + +
    Definition Classes
    Scene
    +
  19. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  20. + + + + + + + + + def + + + equals(ref: Any): Boolean + + +
    Definition Classes
    SFXDelegate → AnyRef → Any
    +
  21. + + + + + + + + + def + + + eventDispatcher: ObjectProperty[EventDispatcher] + + +
    Definition Classes
    Scene
    +
  22. + + + + + + + + + def + + + eventDispatcher_=(v: EventDispatcher): Unit + + +
    Definition Classes
    Scene
    +
  23. + + + + + + + + + def + + + fill: ObjectProperty[Paint] + + +
    Definition Classes
    Scene
    +
  24. + + + + + + + + + def + + + fill_=(v: Paint): Unit + + +
    Definition Classes
    Scene
    +
  25. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  26. + + + + + + + + + def + + + focusOwner: ReadOnlyObjectProperty[Node] + + +
    Definition Classes
    Scene
    +
  27. + + + + + + + + + def + + + getChildren: ObservableList[Node] + + +
    Definition Classes
    Scene
    +
  28. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  29. + + + + + + + + + def + + + getMnemonics: ObservableMap[KeyCombination, ObservableList[Mnemonic]] + + +
    Definition Classes
    Scene
    +
  30. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    SFXDelegate → AnyRef → Any
    +
  31. + + + + + + + + + def + + + height: ReadOnlyDoubleProperty + + +
    Definition Classes
    Scene
    +
  32. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  33. + + + + + + + + + def + + + levelContext: Option[LevelContext] + + + +
  34. + + + + + + + + + def + + + levelContext_=(levelContext: LevelContext): Unit + + + +
  35. + + + + + + + + + val + + + listener: LevelSceneListener + + + +
  36. + + + + + + + + + def + + + lookup(selector: String): Option[Node] + + +
    Definition Classes
    Scene
    +
  37. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  38. + + + + + + + + + def + + + nodeOrientation: ObjectProperty[NodeOrientation] + + +
    Definition Classes
    Scene
    +
  39. + + + + + + + + + def + + + nodeOrientation_=(v: NodeOrientation): Unit + + +
    Definition Classes
    Scene
    +
  40. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  41. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  42. + + + + + + + + + def + + + onContextMenuRequested: ObjectProperty[EventHandler[_ >: ContextMenuEvent]] + + +
    Definition Classes
    Scene
    +
  43. + + + + + + + + + def + + + onContextMenuRequested_=(v: EventHandler[_ >: ContextMenuEvent]): Unit + + +
    Definition Classes
    Scene
    +
  44. + + + + + + + + + def + + + onDragDetected: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Scene
    +
  45. + + + + + + + + + def + + + onDragDetected_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Scene
    +
  46. + + + + + + + + + def + + + onDragDone: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Scene
    +
  47. + + + + + + + + + def + + + onDragDone_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  48. + + + + + + + + + def + + + onDragDropped: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Scene
    +
  49. + + + + + + + + + def + + + onDragDropped_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  50. + + + + + + + + + def + + + onDragEntered: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Scene
    +
  51. + + + + + + + + + def + + + onDragEntered_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  52. + + + + + + + + + def + + + onDragExited: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Scene
    +
  53. + + + + + + + + + def + + + onDragExited_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  54. + + + + + + + + + def + + + onDragOver: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Scene
    +
  55. + + + + + + + + + def + + + onDragOver_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  56. + + + + + + + + + def + + + onDrawEntities(playerEntity: Option[DrawableWrapper], entities: Seq[DrawableWrapper]): Unit + + +

    Called when the LevelContext retrieve a collection of entities that must be drawn on the scene

    Called when the LevelContext retrieve a collection of entities that must be drawn on the scene

    playerEntity

    the player entity. It may be empty

    entities

    the other entities

    Definition Classes
    LevelSceneLevelContextListener
    +
  57. + + + + + + + + + def + + + onExit(): Unit + + +

    Called when the exit button is clicked +

    Called when the exit button is clicked +

    Definition Classes
    LevelSceneLevelStateBoxListener
    +
  58. + + + + + + + + + def + + + onInputMethodTextChanged: ObjectProperty[EventHandler[_ >: InputMethodEvent]] + + +
    Definition Classes
    Scene
    +
  59. + + + + + + + + + def + + + onInputMethodTextChanged_=(v: EventHandler[_ >: InputMethodEvent]): Unit + + +
    Definition Classes
    Scene
    +
  60. + + + + + + + + + def + + + onKeyPressed: ObjectProperty[EventHandler[_ >: KeyEvent]] + + +
    Definition Classes
    Scene
    +
  61. + + + + + + + + + def + + + onKeyPressed_=(v: EventHandler[_ >: KeyEvent]): Unit + + +
    Definition Classes
    Scene
    +
  62. + + + + + + + + + def + + + onKeyReleased: ObjectProperty[EventHandler[_ >: KeyEvent]] + + +
    Definition Classes
    Scene
    +
  63. + + + + + + + + + def + + + onKeyReleased_=(v: EventHandler[_ >: KeyEvent]): Unit + + +
    Definition Classes
    Scene
    +
  64. + + + + + + + + + def + + + onKeyTyped: ObjectProperty[EventHandler[_ >: KeyEvent]] + + +
    Definition Classes
    Scene
    +
  65. + + + + + + + + + def + + + onKeyTyped_=(v: EventHandler[_ >: KeyEvent]): Unit + + +
    Definition Classes
    Scene
    +
  66. + + + + + + + + + def + + + onLevelEnd(levelResult: Boolean): Unit + + +

    Called once when the level ends.

    Called once when the level ends.

    levelResult

    true if the player has won, false otherwise

    Definition Classes
    LevelSceneLevelContextListener
    +
  67. + + + + + + + + + def + + + onLevelSetup(mapShape: MapShape): Unit + + +

    Called once.

    Called once. Manages the context setup communicating the level shape

    mapShape

    the level shape

    Definition Classes
    LevelSceneLevelContextListener
    +
  68. + + + + + + + + + def + + + onMouseClicked: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Scene
    +
  69. + + + + + + + + + def + + + onMouseClicked_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Scene
    +
  70. + + + + + + + + + def + + + onMouseDragEntered: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Scene
    +
  71. + + + + + + + + + def + + + onMouseDragEntered_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  72. + + + + + + + + + def + + + onMouseDragExited: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Scene
    +
  73. + + + + + + + + + def + + + onMouseDragExited_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  74. + + + + + + + + + def + + + onMouseDragOver: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Scene
    +
  75. + + + + + + + + + def + + + onMouseDragOver_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  76. + + + + + + + + + def + + + onMouseDragReleased: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Scene
    +
  77. + + + + + + + + + def + + + onMouseDragReleased_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  78. + + + + + + + + + def + + + onMouseDragged: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Scene
    +
  79. + + + + + + + + + def + + + onMouseDragged_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Scene
    +
  80. + + + + + + + + + def + + + onMouseEntered: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Scene
    +
  81. + + + + + + + + + def + + + onMouseEntered_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Scene
    +
  82. + + + + + + + + + def + + + onMouseExited: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Scene
    +
  83. + + + + + + + + + def + + + onMouseExited_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Scene
    +
  84. + + + + + + + + + def + + + onMouseMoved: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Scene
    +
  85. + + + + + + + + + def + + + onMouseMoved_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Scene
    +
  86. + + + + + + + + + def + + + onMousePressed: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Scene
    +
  87. + + + + + + + + + def + + + onMousePressed_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Scene
    +
  88. + + + + + + + + + def + + + onMouseReleased: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Scene
    +
  89. + + + + + + + + + def + + + onMouseReleased_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Scene
    +
  90. + + + + + + + + + def + + + onPause(): Unit + + +

    Called when the pause button is clicked +

    Called when the pause button is clicked +

    Definition Classes
    LevelSceneLevelStateBoxListener
    +
  91. + + + + + + + + + def + + + onResume(): Unit + + +

    Called when the resume button is clicked +

    Called when the resume button is clicked +

    Definition Classes
    LevelSceneLevelStateBoxListener
    +
  92. + + + + + + + + + def + + + onRotate: ObjectProperty[EventHandler[_ >: RotateEvent]] + + +
    Definition Classes
    Scene
    +
  93. + + + + + + + + + def + + + onRotate_=(v: EventHandler[_ >: RotateEvent]): Unit + + +
    Definition Classes
    Scene
    +
  94. + + + + + + + + + def + + + onRotationFinished: ObjectProperty[EventHandler[_ >: RotateEvent]] + + +
    Definition Classes
    Scene
    +
  95. + + + + + + + + + def + + + onRotationFinished_=(v: EventHandler[_ >: RotateEvent]): Unit + + +
    Definition Classes
    Scene
    +
  96. + + + + + + + + + def + + + onRotationStarted: ObjectProperty[EventHandler[_ >: RotateEvent]] + + +
    Definition Classes
    Scene
    +
  97. + + + + + + + + + def + + + onRotationStarted_=(v: EventHandler[_ >: RotateEvent]): Unit + + +
    Definition Classes
    Scene
    +
  98. + + + + + + + + + def + + + onScroll: ObjectProperty[EventHandler[_ >: ScrollEvent]] + + +
    Definition Classes
    Scene
    +
  99. + + + + + + + + + def + + + onScrollFinished: ObjectProperty[EventHandler[_ >: ScrollEvent]] + + +
    Definition Classes
    Scene
    +
  100. + + + + + + + + + def + + + onScrollFinished_=(v: EventHandler[_ >: ScrollEvent]): Unit + + +
    Definition Classes
    Scene
    +
  101. + + + + + + + + + def + + + onScrollStarted: ObjectProperty[EventHandler[_ >: ScrollEvent]] + + +
    Definition Classes
    Scene
    +
  102. + + + + + + + + + def + + + onScrollStarted_=(v: EventHandler[_ >: ScrollEvent]): Unit + + +
    Definition Classes
    Scene
    +
  103. + + + + + + + + + def + + + onScroll_=(v: EventHandler[_ >: ScrollEvent]): Unit + + +
    Definition Classes
    Scene
    +
  104. + + + + + + + + + def + + + onSwipeDown: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Scene
    +
  105. + + + + + + + + + def + + + onSwipeDown_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Scene
    +
  106. + + + + + + + + + def + + + onSwipeLeft: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Scene
    +
  107. + + + + + + + + + def + + + onSwipeLeft_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Scene
    +
  108. + + + + + + + + + def + + + onSwipeRight: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Scene
    +
  109. + + + + + + + + + def + + + onSwipeRight_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Scene
    +
  110. + + + + + + + + + def + + + onSwipeUp: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Scene
    +
  111. + + + + + + + + + def + + + onSwipeUp_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Scene
    +
  112. + + + + + + + + + def + + + onTouchMoved: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Scene
    +
  113. + + + + + + + + + def + + + onTouchMoved_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Scene
    +
  114. + + + + + + + + + def + + + onTouchPressed: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Scene
    +
  115. + + + + + + + + + def + + + onTouchPressed_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Scene
    +
  116. + + + + + + + + + def + + + onTouchReleased: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Scene
    +
  117. + + + + + + + + + def + + + onTouchReleased_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Scene
    +
  118. + + + + + + + + + def + + + onTouchStationary: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Scene
    +
  119. + + + + + + + + + def + + + onTouchStationary_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Scene
    +
  120. + + + + + + + + + def + + + onZoom: ObjectProperty[EventHandler[_ >: ZoomEvent]] + + +
    Definition Classes
    Scene
    +
  121. + + + + + + + + + def + + + onZoomFinished: ObjectProperty[EventHandler[_ >: ZoomEvent]] + + +
    Definition Classes
    Scene
    +
  122. + + + + + + + + + def + + + onZoomFinished_=(v: EventHandler[_ >: ZoomEvent]): Unit + + +
    Definition Classes
    Scene
    +
  123. + + + + + + + + + def + + + onZoomStarted: ObjectProperty[EventHandler[_ >: ZoomEvent]] + + +
    Definition Classes
    Scene
    +
  124. + + + + + + + + + def + + + onZoomStarted_=(v: EventHandler[_ >: ZoomEvent]): Unit + + +
    Definition Classes
    Scene
    +
  125. + + + + + + + + + def + + + onZoom_=(v: EventHandler[_ >: ZoomEvent]): Unit + + +
    Definition Classes
    Scene
    +
  126. + + + + + + + + + val + + + parentStage: Stage + + +
    Definition Classes
    LevelSceneBaseScene
    +
  127. + + + + + + + + + def + + + removeMnemonic(m: Mnemonic): Unit + + +
    Definition Classes
    Scene
    +
  128. + + + + + + + + + def + + + root: ObjectProperty[Parent] + + +
    Definition Classes
    Scene
    +
  129. + + + + + + + + + def + + + root_=(v: Parent): Unit + + +
    Definition Classes
    Scene
    +
  130. + + + + + + + + + def + + + snapshot(callback: (SnapshotResult) ⇒ Unit, image: WritableImage): Unit + + +
    Definition Classes
    Scene
    +
  131. + + + + + + + + + def + + + snapshot(image: WritableImage): WritableImage + + +
    Definition Classes
    Scene
    +
  132. + + + + + + + + + def + + + startDragAndDrop(transferModes: TransferMode*): Dragboard + + +
    Definition Classes
    Scene
    +
  133. + + + + + + + + + def + + + startFullDrag(): Unit + + +
    Definition Classes
    Scene
    +
  134. + + + + + + + + + def + + + stylesheets: ObservableList[String] + + +
    Definition Classes
    Scene
    +
  135. + + + + + + + + + def + + + stylesheets_=(c: Iterable[String]): Unit + + +
    Definition Classes
    Scene
    +
  136. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  137. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    SFXDelegate → AnyRef → Any
    +
  138. + + + + + + + + + def + + + userAgentStylesheet: ObjectProperty[String] + + +
    Definition Classes
    Scene
    +
  139. + + + + + + + + + def + + + userAgentStylesheet_=(url: String): Unit + + +
    Definition Classes
    Scene
    +
  140. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  141. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  142. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  143. + + + + + + + + + def + + + width: ReadOnlyDoubleProperty + + +
    Definition Classes
    Scene
    +
  144. + + + + + + + + + def + + + window: ReadOnlyObjectProperty[Window] + + +
    Definition Classes
    Scene
    +
  145. + + + + + + + + + def + + + x: ReadOnlyDoubleProperty + + +
    Definition Classes
    Scene
    +
  146. + + + + + + + + + def + + + y: ReadOnlyDoubleProperty + + +
    Definition Classes
    Scene
    +
  147. +
+
+ + + + +
+ +
+
+

Inherited from LevelStateBoxListener

+
+

Inherited from LevelContextListener

+
+

Inherited from BaseScene

+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from Scene

+
+

Inherited from SFXDelegate[Scene]

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/scenes/LevelSceneListener.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/scenes/LevelSceneListener.html new file mode 100644 index 00000000..86e0588b --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/scenes/LevelSceneListener.html @@ -0,0 +1,759 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.scenes.LevelSceneListener + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.mvc.view.scenes

+

LevelSceneListener + + + +

+

+
+ +

+ + + trait + + + LevelSceneListener extends AnyRef + +

+ + +

Trait which gets notified when a LevelScene event occurs +

+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. LevelSceneListener
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + onPauseLevel(): Unit + + +

    Called when the level gets paused +

    +
  2. + + + + + + + + abstract + def + + + onResumeLevel(): Unit + + +

    Called when the level gets resumed +

    +
  3. + + + + + + + + abstract + def + + + onStartLevel(): Unit + + +

    Called when the level gets started +

    +
  4. + + + + + + + + abstract + def + + + onStopLevel(): Unit + + +

    Called when the level gets stopped +

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/scenes/LevelSelectionScene.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/scenes/LevelSelectionScene.html new file mode 100644 index 00000000..b65b6bf7 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/scenes/LevelSelectionScene.html @@ -0,0 +1,2745 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.scenes.LevelSelectionScene + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.mvc.view.scenes

+

LevelSelectionScene + + + +

+

+
+ +

+ + + class + + + LevelSelectionScene extends BaseScene with MainMenuBarListener with LevelNodeListener with LevelSceneListener + +

+ + +

This scene lets the players choose which level they want to play +

+ + Linear Supertypes + +
LevelSceneListener, LevelNodeListener, MainMenuBarListener, BaseScene, Serializable, Serializable, Product, Equals, Scene, SFXDelegate[Scene], AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. LevelSelectionScene
  2. LevelSceneListener
  3. LevelNodeListener
  4. MainMenuBarListener
  5. BaseScene
  6. Serializable
  7. Serializable
  8. Product
  9. Equals
  10. Scene
  11. SFXDelegate
  12. AnyRef
  13. Any
  14. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + LevelSelectionScene(parentStage: Stage, listener: LevelSelectionSceneListener) + + + +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + def + + + accelerators: ObservableMap[KeyCombination, Runnable] + + +
    Definition Classes
    Scene
    +
  5. + + + + + + + + + def + + + addMnemonic(m: Mnemonic): Unit + + +
    Definition Classes
    Scene
    +
  6. + + + + + + + + + def + + + antialiasing: SceneAntialiasing + + +
    Definition Classes
    Scene
    +
  7. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  8. + + + + + + + + + def + + + camera: ObjectProperty[Camera] + + +
    Definition Classes
    Scene
    +
  9. + + + + + + + + + def + + + camera_=(v: Camera): Unit + + +
    Definition Classes
    Scene
    +
  10. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  11. + + + + + + + + + def + + + content: ObservableList[Node] + + +
    Definition Classes
    Scene
    +
  12. + + + + + + + + + def + + + content_=(n: Node): Unit + + +
    Definition Classes
    Scene
    +
  13. + + + + + + + + + def + + + content_=(c: Iterable[Node]): Unit + + +
    Definition Classes
    Scene
    +
  14. + + + + + + + + + def + + + cursor: ObjectProperty[Cursor] + + +
    Definition Classes
    Scene
    +
  15. + + + + + + + + + def + + + cursor_=(v: Cursor): Unit + + +
    Definition Classes
    Scene
    +
  16. + + + + + + + + + val + + + delegate: Scene + + +
    Definition Classes
    Scene → SFXDelegate
    +
  17. + + + + + + + + + def + + + depthBuffer: Boolean + + +
    Definition Classes
    Scene
    +
  18. + + + + + + + + + def + + + effectiveNodeOrientation: ReadOnlyObjectProperty[NodeOrientation] + + +
    Definition Classes
    Scene
    +
  19. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  20. + + + + + + + + + def + + + equals(ref: Any): Boolean + + +
    Definition Classes
    SFXDelegate → AnyRef → Any
    +
  21. + + + + + + + + + def + + + eventDispatcher: ObjectProperty[EventDispatcher] + + +
    Definition Classes
    Scene
    +
  22. + + + + + + + + + def + + + eventDispatcher_=(v: EventDispatcher): Unit + + +
    Definition Classes
    Scene
    +
  23. + + + + + + + + + def + + + fill: ObjectProperty[Paint] + + +
    Definition Classes
    Scene
    +
  24. + + + + + + + + + def + + + fill_=(v: Paint): Unit + + +
    Definition Classes
    Scene
    +
  25. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  26. + + + + + + + + + def + + + focusOwner: ReadOnlyObjectProperty[Node] + + +
    Definition Classes
    Scene
    +
  27. + + + + + + + + + def + + + getChildren: ObservableList[Node] + + +
    Definition Classes
    Scene
    +
  28. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  29. + + + + + + + + + def + + + getMnemonics: ObservableMap[KeyCombination, ObservableList[Mnemonic]] + + +
    Definition Classes
    Scene
    +
  30. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    SFXDelegate → AnyRef → Any
    +
  31. + + + + + + + + + def + + + height: ReadOnlyDoubleProperty + + +
    Definition Classes
    Scene
    +
  32. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  33. + + + + + + + + + val + + + listener: LevelSelectionSceneListener + + + +
  34. + + + + + + + + + def + + + lookup(selector: String): Option[Node] + + +
    Definition Classes
    Scene
    +
  35. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  36. + + + + + + + + + def + + + nodeOrientation: ObjectProperty[NodeOrientation] + + +
    Definition Classes
    Scene
    +
  37. + + + + + + + + + def + + + nodeOrientation_=(v: NodeOrientation): Unit + + +
    Definition Classes
    Scene
    +
  38. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  39. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  40. + + + + + + + + + val + + + numLevels: Int + + + +
  41. + + + + + + + + + def + + + onContextMenuRequested: ObjectProperty[EventHandler[_ >: ContextMenuEvent]] + + +
    Definition Classes
    Scene
    +
  42. + + + + + + + + + def + + + onContextMenuRequested_=(v: EventHandler[_ >: ContextMenuEvent]): Unit + + +
    Definition Classes
    Scene
    +
  43. + + + + + + + + + def + + + onDragDetected: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Scene
    +
  44. + + + + + + + + + def + + + onDragDetected_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Scene
    +
  45. + + + + + + + + + def + + + onDragDone: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Scene
    +
  46. + + + + + + + + + def + + + onDragDone_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  47. + + + + + + + + + def + + + onDragDropped: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Scene
    +
  48. + + + + + + + + + def + + + onDragDropped_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  49. + + + + + + + + + def + + + onDragEntered: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Scene
    +
  50. + + + + + + + + + def + + + onDragEntered_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  51. + + + + + + + + + def + + + onDragExited: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Scene
    +
  52. + + + + + + + + + def + + + onDragExited_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  53. + + + + + + + + + def + + + onDragOver: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Scene
    +
  54. + + + + + + + + + def + + + onDragOver_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  55. + + + + + + + + + def + + + onFullScreenSettingClick(): Unit + + +

    Called when the user clicks on the fullScreen button +

    Called when the user clicks on the fullScreen button +

    Definition Classes
    LevelSelectionSceneMainMenuBarListener
    +
  56. + + + + + + + + + def + + + onInputMethodTextChanged: ObjectProperty[EventHandler[_ >: InputMethodEvent]] + + +
    Definition Classes
    Scene
    +
  57. + + + + + + + + + def + + + onInputMethodTextChanged_=(v: EventHandler[_ >: InputMethodEvent]): Unit + + +
    Definition Classes
    Scene
    +
  58. + + + + + + + + + def + + + onKeyPressed: ObjectProperty[EventHandler[_ >: KeyEvent]] + + +
    Definition Classes
    Scene
    +
  59. + + + + + + + + + def + + + onKeyPressed_=(v: EventHandler[_ >: KeyEvent]): Unit + + +
    Definition Classes
    Scene
    +
  60. + + + + + + + + + def + + + onKeyReleased: ObjectProperty[EventHandler[_ >: KeyEvent]] + + +
    Definition Classes
    Scene
    +
  61. + + + + + + + + + def + + + onKeyReleased_=(v: EventHandler[_ >: KeyEvent]): Unit + + +
    Definition Classes
    Scene
    +
  62. + + + + + + + + + def + + + onKeyTyped: ObjectProperty[EventHandler[_ >: KeyEvent]] + + +
    Definition Classes
    Scene
    +
  63. + + + + + + + + + def + + + onKeyTyped_=(v: EventHandler[_ >: KeyEvent]): Unit + + +
    Definition Classes
    Scene
    +
  64. + + + + + + + + + def + + + onLevelPlayClick(level: Int, simulation: Boolean): Unit + + +

    This method gets called when an available level buttons get clicked

    This method gets called when an available level buttons get clicked

    level

    the level index

    simulation

    true if the level must be started as a simulation, false otherwise

    Definition Classes
    LevelSelectionSceneLevelNodeListener
    +
  65. + + + + + + + + + def + + + onMouseClicked: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Scene
    +
  66. + + + + + + + + + def + + + onMouseClicked_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Scene
    +
  67. + + + + + + + + + def + + + onMouseDragEntered: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Scene
    +
  68. + + + + + + + + + def + + + onMouseDragEntered_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  69. + + + + + + + + + def + + + onMouseDragExited: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Scene
    +
  70. + + + + + + + + + def + + + onMouseDragExited_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  71. + + + + + + + + + def + + + onMouseDragOver: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Scene
    +
  72. + + + + + + + + + def + + + onMouseDragOver_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  73. + + + + + + + + + def + + + onMouseDragReleased: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Scene
    +
  74. + + + + + + + + + def + + + onMouseDragReleased_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  75. + + + + + + + + + def + + + onMouseDragged: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Scene
    +
  76. + + + + + + + + + def + + + onMouseDragged_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Scene
    +
  77. + + + + + + + + + def + + + onMouseEntered: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Scene
    +
  78. + + + + + + + + + def + + + onMouseEntered_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Scene
    +
  79. + + + + + + + + + def + + + onMouseExited: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Scene
    +
  80. + + + + + + + + + def + + + onMouseExited_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Scene
    +
  81. + + + + + + + + + def + + + onMouseMoved: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Scene
    +
  82. + + + + + + + + + def + + + onMouseMoved_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Scene
    +
  83. + + + + + + + + + def + + + onMousePressed: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Scene
    +
  84. + + + + + + + + + def + + + onMousePressed_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Scene
    +
  85. + + + + + + + + + def + + + onMouseReleased: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Scene
    +
  86. + + + + + + + + + def + + + onMouseReleased_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Scene
    +
  87. + + + + + + + + + def + + + onPauseLevel(): Unit + + +

    Called when the level gets paused +

    Called when the level gets paused +

    Definition Classes
    LevelSelectionSceneLevelSceneListener
    +
  88. + + + + + + + + + def + + + onResumeLevel(): Unit + + +

    Called when the level gets resumed +

    Called when the level gets resumed +

    Definition Classes
    LevelSelectionSceneLevelSceneListener
    +
  89. + + + + + + + + + def + + + onRotate: ObjectProperty[EventHandler[_ >: RotateEvent]] + + +
    Definition Classes
    Scene
    +
  90. + + + + + + + + + def + + + onRotate_=(v: EventHandler[_ >: RotateEvent]): Unit + + +
    Definition Classes
    Scene
    +
  91. + + + + + + + + + def + + + onRotationFinished: ObjectProperty[EventHandler[_ >: RotateEvent]] + + +
    Definition Classes
    Scene
    +
  92. + + + + + + + + + def + + + onRotationFinished_=(v: EventHandler[_ >: RotateEvent]): Unit + + +
    Definition Classes
    Scene
    +
  93. + + + + + + + + + def + + + onRotationStarted: ObjectProperty[EventHandler[_ >: RotateEvent]] + + +
    Definition Classes
    Scene
    +
  94. + + + + + + + + + def + + + onRotationStarted_=(v: EventHandler[_ >: RotateEvent]): Unit + + +
    Definition Classes
    Scene
    +
  95. + + + + + + + + + def + + + onScroll: ObjectProperty[EventHandler[_ >: ScrollEvent]] + + +
    Definition Classes
    Scene
    +
  96. + + + + + + + + + def + + + onScrollFinished: ObjectProperty[EventHandler[_ >: ScrollEvent]] + + +
    Definition Classes
    Scene
    +
  97. + + + + + + + + + def + + + onScrollFinished_=(v: EventHandler[_ >: ScrollEvent]): Unit + + +
    Definition Classes
    Scene
    +
  98. + + + + + + + + + def + + + onScrollStarted: ObjectProperty[EventHandler[_ >: ScrollEvent]] + + +
    Definition Classes
    Scene
    +
  99. + + + + + + + + + def + + + onScrollStarted_=(v: EventHandler[_ >: ScrollEvent]): Unit + + +
    Definition Classes
    Scene
    +
  100. + + + + + + + + + def + + + onScroll_=(v: EventHandler[_ >: ScrollEvent]): Unit + + +
    Definition Classes
    Scene
    +
  101. + + + + + + + + + def + + + onStartLevel(): Unit + + +

    Called when the level gets started +

    Called when the level gets started +

    Definition Classes
    LevelSelectionSceneLevelSceneListener
    +
  102. + + + + + + + + + def + + + onStopLevel(): Unit + + +

    Called when the level gets stopped +

    Called when the level gets stopped +

    Definition Classes
    LevelSelectionSceneLevelSceneListener
    +
  103. + + + + + + + + + def + + + onSwipeDown: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Scene
    +
  104. + + + + + + + + + def + + + onSwipeDown_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Scene
    +
  105. + + + + + + + + + def + + + onSwipeLeft: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Scene
    +
  106. + + + + + + + + + def + + + onSwipeLeft_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Scene
    +
  107. + + + + + + + + + def + + + onSwipeRight: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Scene
    +
  108. + + + + + + + + + def + + + onSwipeRight_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Scene
    +
  109. + + + + + + + + + def + + + onSwipeUp: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Scene
    +
  110. + + + + + + + + + def + + + onSwipeUp_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Scene
    +
  111. + + + + + + + + + def + + + onTouchMoved: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Scene
    +
  112. + + + + + + + + + def + + + onTouchMoved_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Scene
    +
  113. + + + + + + + + + def + + + onTouchPressed: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Scene
    +
  114. + + + + + + + + + def + + + onTouchPressed_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Scene
    +
  115. + + + + + + + + + def + + + onTouchReleased: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Scene
    +
  116. + + + + + + + + + def + + + onTouchReleased_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Scene
    +
  117. + + + + + + + + + def + + + onTouchStationary: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Scene
    +
  118. + + + + + + + + + def + + + onTouchStationary_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Scene
    +
  119. + + + + + + + + + def + + + onZoom: ObjectProperty[EventHandler[_ >: ZoomEvent]] + + +
    Definition Classes
    Scene
    +
  120. + + + + + + + + + def + + + onZoomFinished: ObjectProperty[EventHandler[_ >: ZoomEvent]] + + +
    Definition Classes
    Scene
    +
  121. + + + + + + + + + def + + + onZoomFinished_=(v: EventHandler[_ >: ZoomEvent]): Unit + + +
    Definition Classes
    Scene
    +
  122. + + + + + + + + + def + + + onZoomStarted: ObjectProperty[EventHandler[_ >: ZoomEvent]] + + +
    Definition Classes
    Scene
    +
  123. + + + + + + + + + def + + + onZoomStarted_=(v: EventHandler[_ >: ZoomEvent]): Unit + + +
    Definition Classes
    Scene
    +
  124. + + + + + + + + + def + + + onZoom_=(v: EventHandler[_ >: ZoomEvent]): Unit + + +
    Definition Classes
    Scene
    +
  125. + + + + + + + + + val + + + parentStage: Stage + + +
    Definition Classes
    LevelSelectionSceneBaseScene
    +
  126. + + + + + + + + + def + + + removeMnemonic(m: Mnemonic): Unit + + +
    Definition Classes
    Scene
    +
  127. + + + + + + + + + def + + + root: ObjectProperty[Parent] + + +
    Definition Classes
    Scene
    +
  128. + + + + + + + + + def + + + root_=(v: Parent): Unit + + +
    Definition Classes
    Scene
    +
  129. + + + + + + + + + def + + + snapshot(callback: (SnapshotResult) ⇒ Unit, image: WritableImage): Unit + + +
    Definition Classes
    Scene
    +
  130. + + + + + + + + + def + + + snapshot(image: WritableImage): WritableImage + + +
    Definition Classes
    Scene
    +
  131. + + + + + + + + + def + + + startDragAndDrop(transferModes: TransferMode*): Dragboard + + +
    Definition Classes
    Scene
    +
  132. + + + + + + + + + def + + + startFullDrag(): Unit + + +
    Definition Classes
    Scene
    +
  133. + + + + + + + + + def + + + stylesheets: ObservableList[String] + + +
    Definition Classes
    Scene
    +
  134. + + + + + + + + + def + + + stylesheets_=(c: Iterable[String]): Unit + + +
    Definition Classes
    Scene
    +
  135. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  136. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    SFXDelegate → AnyRef → Any
    +
  137. + + + + + + + + + def + + + userAgentStylesheet: ObjectProperty[String] + + +
    Definition Classes
    Scene
    +
  138. + + + + + + + + + def + + + userAgentStylesheet_=(url: String): Unit + + +
    Definition Classes
    Scene
    +
  139. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  140. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  141. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  142. + + + + + + + + + def + + + width: ReadOnlyDoubleProperty + + +
    Definition Classes
    Scene
    +
  143. + + + + + + + + + def + + + window: ReadOnlyObjectProperty[Window] + + +
    Definition Classes
    Scene
    +
  144. + + + + + + + + + def + + + x: ReadOnlyDoubleProperty + + +
    Definition Classes
    Scene
    +
  145. + + + + + + + + + def + + + y: ReadOnlyDoubleProperty + + +
    Definition Classes
    Scene
    +
  146. +
+
+ + + + +
+ +
+
+

Inherited from LevelSceneListener

+
+

Inherited from LevelNodeListener

+
+

Inherited from MainMenuBarListener

+
+

Inherited from BaseScene

+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from Scene

+
+

Inherited from SFXDelegate[Scene]

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/scenes/LevelSelectionSceneListener.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/scenes/LevelSelectionSceneListener.html new file mode 100644 index 00000000..07dbf8ff --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/scenes/LevelSelectionSceneListener.html @@ -0,0 +1,781 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.scenes.LevelSelectionSceneListener + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.mvc.view.scenes

+

LevelSelectionSceneListener + + + +

+

+
+ +

+ + + trait + + + LevelSelectionSceneListener extends LevelSceneListener + +

+ + +

Trait which gets notified when a LevelSelectionSceneListener event occurs +

+ + Linear Supertypes + +
LevelSceneListener, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. LevelSelectionSceneListener
  2. LevelSceneListener
  3. AnyRef
  4. Any
  5. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + onLevelContextCreated(levelContext: LevelContext, level: Int, simulation: Boolean): Unit + + +

    This method called when the level context has been created

    This method called when the level context has been created

    levelContext

    the new level context

    level

    the new level index

    simulation

    true if the new level must be started as a simulation, false otherwise

    +
  2. + + + + + + + + abstract + def + + + onPauseLevel(): Unit + + +

    Called when the level gets paused +

    Called when the level gets paused +

    Definition Classes
    LevelSceneListener
    +
  3. + + + + + + + + abstract + def + + + onResumeLevel(): Unit + + +

    Called when the level gets resumed +

    Called when the level gets resumed +

    Definition Classes
    LevelSceneListener
    +
  4. + + + + + + + + abstract + def + + + onStartLevel(): Unit + + +

    Called when the level gets started +

    Called when the level gets started +

    Definition Classes
    LevelSceneListener
    +
  5. + + + + + + + + abstract + def + + + onStopLevel(): Unit + + +

    Called when the level gets stopped +

    Called when the level gets stopped +

    Definition Classes
    LevelSceneListener
    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from LevelSceneListener

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/scenes/MainScene.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/scenes/MainScene.html new file mode 100644 index 00000000..fd8ea7d1 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/scenes/MainScene.html @@ -0,0 +1,2675 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.scenes.MainScene + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.mvc.view.scenes

+

MainScene + + + +

+

+
+ +

+ + + class + + + MainScene extends BaseScene with MainMenuCenterBoxListener with MainMenuBarListener + +

+ + +

Opening scene, showing the menu and the menu bar +

+ + Linear Supertypes + +
MainMenuBarListener, MainMenuCenterBoxListener, BaseScene, Serializable, Serializable, Product, Equals, Scene, SFXDelegate[Scene], AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. MainScene
  2. MainMenuBarListener
  3. MainMenuCenterBoxListener
  4. BaseScene
  5. Serializable
  6. Serializable
  7. Product
  8. Equals
  9. Scene
  10. SFXDelegate
  11. AnyRef
  12. Any
  13. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + MainScene(parentStage: Stage, listener: MainSceneListener) + + + +
+
+ + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + def + + + accelerators: ObservableMap[KeyCombination, Runnable] + + +
    Definition Classes
    Scene
    +
  5. + + + + + + + + + def + + + addMnemonic(m: Mnemonic): Unit + + +
    Definition Classes
    Scene
    +
  6. + + + + + + + + + def + + + antialiasing: SceneAntialiasing + + +
    Definition Classes
    Scene
    +
  7. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  8. + + + + + + + + + def + + + camera: ObjectProperty[Camera] + + +
    Definition Classes
    Scene
    +
  9. + + + + + + + + + def + + + camera_=(v: Camera): Unit + + +
    Definition Classes
    Scene
    +
  10. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  11. + + + + + + + + + def + + + content: ObservableList[Node] + + +
    Definition Classes
    Scene
    +
  12. + + + + + + + + + def + + + content_=(n: Node): Unit + + +
    Definition Classes
    Scene
    +
  13. + + + + + + + + + def + + + content_=(c: Iterable[Node]): Unit + + +
    Definition Classes
    Scene
    +
  14. + + + + + + + + + def + + + cursor: ObjectProperty[Cursor] + + +
    Definition Classes
    Scene
    +
  15. + + + + + + + + + def + + + cursor_=(v: Cursor): Unit + + +
    Definition Classes
    Scene
    +
  16. + + + + + + + + + val + + + delegate: Scene + + +
    Definition Classes
    Scene → SFXDelegate
    +
  17. + + + + + + + + + def + + + depthBuffer: Boolean + + +
    Definition Classes
    Scene
    +
  18. + + + + + + + + + def + + + effectiveNodeOrientation: ReadOnlyObjectProperty[NodeOrientation] + + +
    Definition Classes
    Scene
    +
  19. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  20. + + + + + + + + + def + + + equals(ref: Any): Boolean + + +
    Definition Classes
    SFXDelegate → AnyRef → Any
    +
  21. + + + + + + + + + def + + + eventDispatcher: ObjectProperty[EventDispatcher] + + +
    Definition Classes
    Scene
    +
  22. + + + + + + + + + def + + + eventDispatcher_=(v: EventDispatcher): Unit + + +
    Definition Classes
    Scene
    +
  23. + + + + + + + + + def + + + fill: ObjectProperty[Paint] + + +
    Definition Classes
    Scene
    +
  24. + + + + + + + + + def + + + fill_=(v: Paint): Unit + + +
    Definition Classes
    Scene
    +
  25. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  26. + + + + + + + + + def + + + focusOwner: ReadOnlyObjectProperty[Node] + + +
    Definition Classes
    Scene
    +
  27. + + + + + + + + + def + + + getChildren: ObservableList[Node] + + +
    Definition Classes
    Scene
    +
  28. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  29. + + + + + + + + + def + + + getMnemonics: ObservableMap[KeyCombination, ObservableList[Mnemonic]] + + +
    Definition Classes
    Scene
    +
  30. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    SFXDelegate → AnyRef → Any
    +
  31. + + + + + + + + + def + + + height: ReadOnlyDoubleProperty + + +
    Definition Classes
    Scene
    +
  32. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  33. + + + + + + + + + val + + + listener: MainSceneListener + + + +
  34. + + + + + + + + + def + + + lookup(selector: String): Option[Node] + + +
    Definition Classes
    Scene
    +
  35. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  36. + + + + + + + + + def + + + nodeOrientation: ObjectProperty[NodeOrientation] + + +
    Definition Classes
    Scene
    +
  37. + + + + + + + + + def + + + nodeOrientation_=(v: NodeOrientation): Unit + + +
    Definition Classes
    Scene
    +
  38. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  39. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  40. + + + + + + + + + def + + + onContextMenuRequested: ObjectProperty[EventHandler[_ >: ContextMenuEvent]] + + +
    Definition Classes
    Scene
    +
  41. + + + + + + + + + def + + + onContextMenuRequested_=(v: EventHandler[_ >: ContextMenuEvent]): Unit + + +
    Definition Classes
    Scene
    +
  42. + + + + + + + + + def + + + onDragDetected: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Scene
    +
  43. + + + + + + + + + def + + + onDragDetected_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Scene
    +
  44. + + + + + + + + + def + + + onDragDone: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Scene
    +
  45. + + + + + + + + + def + + + onDragDone_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  46. + + + + + + + + + def + + + onDragDropped: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Scene
    +
  47. + + + + + + + + + def + + + onDragDropped_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  48. + + + + + + + + + def + + + onDragEntered: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Scene
    +
  49. + + + + + + + + + def + + + onDragEntered_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  50. + + + + + + + + + def + + + onDragExited: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Scene
    +
  51. + + + + + + + + + def + + + onDragExited_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  52. + + + + + + + + + def + + + onDragOver: ObjectProperty[EventHandler[_ >: DragEvent]] + + +
    Definition Classes
    Scene
    +
  53. + + + + + + + + + def + + + onDragOver_=(v: EventHandler[_ >: DragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  54. + + + + + + + + + def + + + onExitClick(): Unit + + +

    Called when the user clicks on the exit button +

    Called when the user clicks on the exit button +

    Definition Classes
    MainSceneMainMenuCenterBoxListener
    +
  55. + + + + + + + + + def + + + onFullScreenSettingClick(): Unit + + +

    Called when the user clicks on the fullScreen button +

    Called when the user clicks on the fullScreen button +

    Definition Classes
    MainSceneMainMenuBarListener
    +
  56. + + + + + + + + + def + + + onInputMethodTextChanged: ObjectProperty[EventHandler[_ >: InputMethodEvent]] + + +
    Definition Classes
    Scene
    +
  57. + + + + + + + + + def + + + onInputMethodTextChanged_=(v: EventHandler[_ >: InputMethodEvent]): Unit + + +
    Definition Classes
    Scene
    +
  58. + + + + + + + + + def + + + onKeyPressed: ObjectProperty[EventHandler[_ >: KeyEvent]] + + +
    Definition Classes
    Scene
    +
  59. + + + + + + + + + def + + + onKeyPressed_=(v: EventHandler[_ >: KeyEvent]): Unit + + +
    Definition Classes
    Scene
    +
  60. + + + + + + + + + def + + + onKeyReleased: ObjectProperty[EventHandler[_ >: KeyEvent]] + + +
    Definition Classes
    Scene
    +
  61. + + + + + + + + + def + + + onKeyReleased_=(v: EventHandler[_ >: KeyEvent]): Unit + + +
    Definition Classes
    Scene
    +
  62. + + + + + + + + + def + + + onKeyTyped: ObjectProperty[EventHandler[_ >: KeyEvent]] + + +
    Definition Classes
    Scene
    +
  63. + + + + + + + + + def + + + onKeyTyped_=(v: EventHandler[_ >: KeyEvent]): Unit + + +
    Definition Classes
    Scene
    +
  64. + + + + + + + + + def + + + onMouseClicked: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Scene
    +
  65. + + + + + + + + + def + + + onMouseClicked_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Scene
    +
  66. + + + + + + + + + def + + + onMouseDragEntered: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Scene
    +
  67. + + + + + + + + + def + + + onMouseDragEntered_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  68. + + + + + + + + + def + + + onMouseDragExited: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Scene
    +
  69. + + + + + + + + + def + + + onMouseDragExited_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  70. + + + + + + + + + def + + + onMouseDragOver: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Scene
    +
  71. + + + + + + + + + def + + + onMouseDragOver_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  72. + + + + + + + + + def + + + onMouseDragReleased: ObjectProperty[EventHandler[_ >: MouseDragEvent]] + + +
    Definition Classes
    Scene
    +
  73. + + + + + + + + + def + + + onMouseDragReleased_=(v: EventHandler[_ >: MouseDragEvent]): Unit + + +
    Definition Classes
    Scene
    +
  74. + + + + + + + + + def + + + onMouseDragged: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Scene
    +
  75. + + + + + + + + + def + + + onMouseDragged_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Scene
    +
  76. + + + + + + + + + def + + + onMouseEntered: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Scene
    +
  77. + + + + + + + + + def + + + onMouseEntered_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Scene
    +
  78. + + + + + + + + + def + + + onMouseExited: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Scene
    +
  79. + + + + + + + + + def + + + onMouseExited_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Scene
    +
  80. + + + + + + + + + def + + + onMouseMoved: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Scene
    +
  81. + + + + + + + + + def + + + onMouseMoved_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Scene
    +
  82. + + + + + + + + + def + + + onMousePressed: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Scene
    +
  83. + + + + + + + + + def + + + onMousePressed_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Scene
    +
  84. + + + + + + + + + def + + + onMouseReleased: ObjectProperty[EventHandler[_ >: MouseEvent]] + + +
    Definition Classes
    Scene
    +
  85. + + + + + + + + + def + + + onMouseReleased_=(v: EventHandler[_ >: MouseEvent]): Unit + + +
    Definition Classes
    Scene
    +
  86. + + + + + + + + + def + + + onPlayClick(): Unit + + +

    Called when the user clicks on the play button +

    Called when the user clicks on the play button +

    Definition Classes
    MainSceneMainMenuCenterBoxListener
    +
  87. + + + + + + + + + def + + + onRotate: ObjectProperty[EventHandler[_ >: RotateEvent]] + + +
    Definition Classes
    Scene
    +
  88. + + + + + + + + + def + + + onRotate_=(v: EventHandler[_ >: RotateEvent]): Unit + + +
    Definition Classes
    Scene
    +
  89. + + + + + + + + + def + + + onRotationFinished: ObjectProperty[EventHandler[_ >: RotateEvent]] + + +
    Definition Classes
    Scene
    +
  90. + + + + + + + + + def + + + onRotationFinished_=(v: EventHandler[_ >: RotateEvent]): Unit + + +
    Definition Classes
    Scene
    +
  91. + + + + + + + + + def + + + onRotationStarted: ObjectProperty[EventHandler[_ >: RotateEvent]] + + +
    Definition Classes
    Scene
    +
  92. + + + + + + + + + def + + + onRotationStarted_=(v: EventHandler[_ >: RotateEvent]): Unit + + +
    Definition Classes
    Scene
    +
  93. + + + + + + + + + def + + + onScroll: ObjectProperty[EventHandler[_ >: ScrollEvent]] + + +
    Definition Classes
    Scene
    +
  94. + + + + + + + + + def + + + onScrollFinished: ObjectProperty[EventHandler[_ >: ScrollEvent]] + + +
    Definition Classes
    Scene
    +
  95. + + + + + + + + + def + + + onScrollFinished_=(v: EventHandler[_ >: ScrollEvent]): Unit + + +
    Definition Classes
    Scene
    +
  96. + + + + + + + + + def + + + onScrollStarted: ObjectProperty[EventHandler[_ >: ScrollEvent]] + + +
    Definition Classes
    Scene
    +
  97. + + + + + + + + + def + + + onScrollStarted_=(v: EventHandler[_ >: ScrollEvent]): Unit + + +
    Definition Classes
    Scene
    +
  98. + + + + + + + + + def + + + onScroll_=(v: EventHandler[_ >: ScrollEvent]): Unit + + +
    Definition Classes
    Scene
    +
  99. + + + + + + + + + def + + + onSwipeDown: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Scene
    +
  100. + + + + + + + + + def + + + onSwipeDown_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Scene
    +
  101. + + + + + + + + + def + + + onSwipeLeft: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Scene
    +
  102. + + + + + + + + + def + + + onSwipeLeft_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Scene
    +
  103. + + + + + + + + + def + + + onSwipeRight: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Scene
    +
  104. + + + + + + + + + def + + + onSwipeRight_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Scene
    +
  105. + + + + + + + + + def + + + onSwipeUp: ObjectProperty[EventHandler[_ >: SwipeEvent]] + + +
    Definition Classes
    Scene
    +
  106. + + + + + + + + + def + + + onSwipeUp_=(v: EventHandler[_ >: SwipeEvent]): Unit + + +
    Definition Classes
    Scene
    +
  107. + + + + + + + + + def + + + onTouchMoved: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Scene
    +
  108. + + + + + + + + + def + + + onTouchMoved_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Scene
    +
  109. + + + + + + + + + def + + + onTouchPressed: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Scene
    +
  110. + + + + + + + + + def + + + onTouchPressed_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Scene
    +
  111. + + + + + + + + + def + + + onTouchReleased: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Scene
    +
  112. + + + + + + + + + def + + + onTouchReleased_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Scene
    +
  113. + + + + + + + + + def + + + onTouchStationary: ObjectProperty[EventHandler[_ >: TouchEvent]] + + +
    Definition Classes
    Scene
    +
  114. + + + + + + + + + def + + + onTouchStationary_=(v: EventHandler[_ >: TouchEvent]): Unit + + +
    Definition Classes
    Scene
    +
  115. + + + + + + + + + def + + + onZoom: ObjectProperty[EventHandler[_ >: ZoomEvent]] + + +
    Definition Classes
    Scene
    +
  116. + + + + + + + + + def + + + onZoomFinished: ObjectProperty[EventHandler[_ >: ZoomEvent]] + + +
    Definition Classes
    Scene
    +
  117. + + + + + + + + + def + + + onZoomFinished_=(v: EventHandler[_ >: ZoomEvent]): Unit + + +
    Definition Classes
    Scene
    +
  118. + + + + + + + + + def + + + onZoomStarted: ObjectProperty[EventHandler[_ >: ZoomEvent]] + + +
    Definition Classes
    Scene
    +
  119. + + + + + + + + + def + + + onZoomStarted_=(v: EventHandler[_ >: ZoomEvent]): Unit + + +
    Definition Classes
    Scene
    +
  120. + + + + + + + + + def + + + onZoom_=(v: EventHandler[_ >: ZoomEvent]): Unit + + +
    Definition Classes
    Scene
    +
  121. + + + + + + + + + val + + + parentStage: Stage + + +
    Definition Classes
    MainSceneBaseScene
    +
  122. + + + + + + + + + def + + + removeMnemonic(m: Mnemonic): Unit + + +
    Definition Classes
    Scene
    +
  123. + + + + + + + + + def + + + root: ObjectProperty[Parent] + + +
    Definition Classes
    Scene
    +
  124. + + + + + + + + + def + + + root_=(v: Parent): Unit + + +
    Definition Classes
    Scene
    +
  125. + + + + + + + + + def + + + snapshot(callback: (SnapshotResult) ⇒ Unit, image: WritableImage): Unit + + +
    Definition Classes
    Scene
    +
  126. + + + + + + + + + def + + + snapshot(image: WritableImage): WritableImage + + +
    Definition Classes
    Scene
    +
  127. + + + + + + + + + def + + + startDragAndDrop(transferModes: TransferMode*): Dragboard + + +
    Definition Classes
    Scene
    +
  128. + + + + + + + + + def + + + startFullDrag(): Unit + + +
    Definition Classes
    Scene
    +
  129. + + + + + + + + + def + + + stylesheets: ObservableList[String] + + +
    Definition Classes
    Scene
    +
  130. + + + + + + + + + def + + + stylesheets_=(c: Iterable[String]): Unit + + +
    Definition Classes
    Scene
    +
  131. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  132. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    SFXDelegate → AnyRef → Any
    +
  133. + + + + + + + + + def + + + userAgentStylesheet: ObjectProperty[String] + + +
    Definition Classes
    Scene
    +
  134. + + + + + + + + + def + + + userAgentStylesheet_=(url: String): Unit + + +
    Definition Classes
    Scene
    +
  135. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  136. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  137. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  138. + + + + + + + + + def + + + width: ReadOnlyDoubleProperty + + +
    Definition Classes
    Scene
    +
  139. + + + + + + + + + def + + + window: ReadOnlyObjectProperty[Window] + + +
    Definition Classes
    Scene
    +
  140. + + + + + + + + + def + + + x: ReadOnlyDoubleProperty + + +
    Definition Classes
    Scene
    +
  141. + + + + + + + + + def + + + y: ReadOnlyDoubleProperty + + +
    Definition Classes
    Scene
    +
  142. +
+
+ + + + +
+ +
+
+

Inherited from MainMenuBarListener

+
+

Inherited from MainMenuCenterBoxListener

+
+

Inherited from BaseScene

+
+

Inherited from Serializable

+
+

Inherited from Serializable

+
+

Inherited from Product

+
+

Inherited from Equals

+
+

Inherited from Scene

+
+

Inherited from SFXDelegate[Scene]

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/scenes/MainSceneListener.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/scenes/MainSceneListener.html new file mode 100644 index 00000000..6047958b --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/scenes/MainSceneListener.html @@ -0,0 +1,708 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.scenes.MainSceneListener + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.mvc.view.scenes

+

MainSceneListener + + + +

+

+
+ +

+ + + trait + + + MainSceneListener extends AnyRef + +

+ + +

Trait which gets notified when a MainScene event occurs +

+ + Linear Supertypes + +
AnyRef, Any
+
+ + Known Subclasses + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. MainSceneListener
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + onPlayClick(): Unit + + +

    Called when the user clicks on the play button +

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/scenes/index.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/scenes/index.html new file mode 100644 index 00000000..785e1dd5 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/scenes/index.html @@ -0,0 +1,500 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.scenes + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
p
+

it.unibo.osmos.redux.mvc.view

+

scenes + + + +

+ +
+ +

+ + + package + + + scenes + +

+ + +
+ + + + +
+
+ + +
+

Type Members

+
  1. + + + + + + + + + case class + + + BaseScene(parentStage: Stage) extends Scene with Product with Serializable + + +

    BaseScene case class shich holds the reference to the parent Stage instance +

    +
  2. + + + + + + + + + class + + + LevelScene extends BaseScene with LevelContextListener with LevelStateBoxListener + + +

    This scene holds and manages a single level +

    +
  3. + + + + + + + + + trait + + + LevelSceneListener extends AnyRef + + +

    Trait which gets notified when a LevelScene event occurs +

    +
  4. + + + + + + + + + class + + + LevelSelectionScene extends BaseScene with MainMenuBarListener with LevelNodeListener with LevelSceneListener + + +

    This scene lets the players choose which level they want to play +

    +
  5. + + + + + + + + + trait + + + LevelSelectionSceneListener extends LevelSceneListener + + +

    Trait which gets notified when a LevelSelectionSceneListener event occurs +

    +
  6. + + + + + + + + + class + + + MainScene extends BaseScene with MainMenuCenterBoxListener with MainMenuBarListener + + +

    Opening scene, showing the menu and the menu bar +

    +
  7. + + + + + + + + + trait + + + MainSceneListener extends AnyRef + + +

    Trait which gets notified when a MainScene event occurs +

    +
+
+ + + + + + + + +
+ +
+ + +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/stages/OsmosReduxPrimaryStage$$OsmosReduxPrimaryStageImpl.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/stages/OsmosReduxPrimaryStage$$OsmosReduxPrimaryStageImpl.html new file mode 100644 index 00000000..2d696c06 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/stages/OsmosReduxPrimaryStage$$OsmosReduxPrimaryStageImpl.html @@ -0,0 +1,2149 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.stages.OsmosReduxPrimaryStage.OsmosReduxPrimaryStageImpl + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
c
+

it.unibo.osmos.redux.mvc.view.stages.OsmosReduxPrimaryStage

+

OsmosReduxPrimaryStageImpl + + + +

+

+
+ +

+ + + class + + + OsmosReduxPrimaryStageImpl extends PrimaryStage with OsmosReduxPrimaryStage with MainSceneListener with LevelSelectionSceneListener + +

+ + +

Primary stage implementation

+ + Linear Supertypes + +
LevelSelectionSceneListener, LevelSceneListener, MainSceneListener, OsmosReduxPrimaryStage, PrimaryStage, Stage, Window, EventTarget, SFXDelegate[Stage], EventHandlerDelegate, AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. OsmosReduxPrimaryStageImpl
  2. LevelSelectionSceneListener
  3. LevelSceneListener
  4. MainSceneListener
  5. OsmosReduxPrimaryStage
  6. PrimaryStage
  7. Stage
  8. Window
  9. EventTarget
  10. SFXDelegate
  11. EventHandlerDelegate
  12. AnyRef
  13. Any
  14. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+
+

Instance Constructors

+
  1. + + + + + + + + + new + + + OsmosReduxPrimaryStageImpl(listener: PrimaryStageListener, fullScreenEnabled: Boolean, windowWidth: Double, windowHeight: Double) + + +

    listener

    the primary stage listener

    fullScreenEnabled

    true if we want the stage to be shown fullscreen, false otherwise

    windowWidth

    the window width

    windowHeight

    the window height

    +
+
+ +
+

Type Members

+
  1. + + + + + + + + + type + + + EventHandled = AnyRef { ... /* 5 definitions in type refinement */ } + + +
    Definition Classes
    EventHandlerDelegate
    +
  2. + + + + + + + + sealed + trait + + + FilterMagnet[J <: Event, S <: SFXDelegate[J]] extends AnyRef + + +
    Definition Classes
    EventHandlerDelegate
    +
  3. + + + + + + + + sealed + trait + + + HandlerMagnet[J <: Event, S <: SFXDelegate[J]] extends AnyRef + + +
    Definition Classes
    EventHandlerDelegate
    +
+
+ + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + def + + + addEventFilter[E <: Event](eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit + + +
    Definition Classes
    EventHandlerDelegate
    +
  5. + + + + + + + + + def + + + addEventHandler[E <: Event](eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit + + +
    Definition Classes
    EventHandlerDelegate
    +
  6. + + + + + + + + + def + + + alwaysOnTop: ReadOnlyBooleanProperty + + +
    Definition Classes
    Stage
    +
  7. + + + + + + + + + def + + + alwaysOnTop_=(value: Boolean): Unit + + +
    Definition Classes
    Stage
    +
  8. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  9. + + + + + + + + + def + + + buildEventDispatchChain(chain: EventDispatchChain): EventDispatchChain + + +
    Definition Classes
    EventHandlerDelegate
    +
  10. + + + + + + + + + def + + + centerOnScreen(): Unit + + +
    Definition Classes
    Window
    +
  11. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  12. + + + + + + + + + def + + + close(): Unit + + +
    Definition Classes
    Stage
    +
  13. + + + + + + + + + val + + + delegate: Stage + + +
    Definition Classes
    Stage → Window → SFXDelegate
    +
  14. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  15. + + + + + + + + + def + + + equals(ref: Any): Boolean + + +
    Definition Classes
    SFXDelegate → AnyRef → Any
    +
  16. + + + + + + + + + def + + + eventDispatcher: ObjectProperty[EventDispatcher] + + +
    Definition Classes
    Window
    +
  17. + + + + + + + + + def + + + eventDispatcher_=(v: EventDispatcher): Unit + + +
    Definition Classes
    Window
    +
  18. + + + + + + + + + def + + + eventHandlerDelegate: EventHandled + + +
    Attributes
    protected
    Definition Classes
    Window → EventHandlerDelegate
    +
  19. + + + + + + + + + def + + + filterEvent[J <: Event, S <: Event with SFXDelegate[J]](eventType: EventType[J])(filter: FilterMagnet[J, S]): Subscription + + +
    Definition Classes
    EventHandlerDelegate
    +
  20. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  21. + + + + + + + + + def + + + fireEvent(event: Event): Unit + + +
    Definition Classes
    Window
    +
  22. + + + + + + + + + def + + + focused: ReadOnlyBooleanProperty + + +
    Definition Classes
    Window
    +
  23. + + + + + + + + + def + + + fullScreen: ReadOnlyBooleanProperty + + +
    Definition Classes
    Stage
    +
  24. + + + + + + + + + val + + + fullScreenEnabled: Boolean + + + +
  25. + + + + + + + + + def + + + fullScreenExitHint: ObjectProperty[String] + + +
    Definition Classes
    Stage
    +
  26. + + + + + + + + + def + + + fullScreenExitHint_=(value: String): Unit + + +
    Definition Classes
    Stage
    +
  27. + + + + + + + + + def + + + fullScreenExitKey: ObjectProperty[KeyCombination] + + +
    Definition Classes
    Stage
    +
  28. + + + + + + + + + def + + + fullScreenExitKey_=(value: KeyCombination): Unit + + +
    Definition Classes
    Stage
    +
  29. + + + + + + + + + def + + + fullScreen_=(value: Boolean): Unit + + +
    Definition Classes
    Stage
    +
  30. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  31. + + + + + + + + + def + + + handleEvent[J <: Event, S <: Event with SFXDelegate[J]](eventType: EventType[J])(handler: HandlerMagnet[J, S]): Subscription + + +
    Definition Classes
    EventHandlerDelegate
    +
  32. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    SFXDelegate → AnyRef → Any
    +
  33. + + + + + + + + + def + + + height: ReadOnlyDoubleProperty + + +
    Definition Classes
    Window
    +
  34. + + + + + + + + + def + + + height_=(h: Double): Unit + + +
    Definition Classes
    Window
    +
  35. + + + + + + + + + def + + + hide(): Unit + + +
    Definition Classes
    Window
    +
  36. + + + + + + + + + def + + + iconified: ReadOnlyBooleanProperty + + +
    Definition Classes
    Stage
    +
  37. + + + + + + + + + def + + + icons: ObservableList[Image] + + +
    Definition Classes
    Stage
    +
  38. + + + + + + + + + def + + + initModality(modality: Modality): Unit + + +
    Definition Classes
    Stage
    +
  39. + + + + + + + + + def + + + initOwner(owner: Window): Unit + + +
    Definition Classes
    Stage
    +
  40. + + + + + + + + + def + + + initStyle(style: StageStyle): Unit + + +
    Definition Classes
    Stage
    +
  41. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  42. + + + + + + + + + val + + + listener: PrimaryStageListener + + + +
  43. + + + + + + + + + def + + + maxHeight: Double + + +
    Definition Classes
    Stage
    +
  44. + + + + + + + + + def + + + maxHeight_=(h: Double): Unit + + +
    Definition Classes
    Stage
    +
  45. + + + + + + + + + def + + + maxWidth: Double + + +
    Definition Classes
    Stage
    +
  46. + + + + + + + + + def + + + maxWidth_=(w: Double): Unit + + +
    Definition Classes
    Stage
    +
  47. + + + + + + + + + def + + + maximized: ReadOnlyBooleanProperty + + +
    Definition Classes
    Stage
    +
  48. + + + + + + + + + def + + + maximized_=(value: Boolean): Unit + + +
    Definition Classes
    Stage
    +
  49. + + + + + + + + + def + + + minHeight: Double + + +
    Definition Classes
    Stage
    +
  50. + + + + + + + + + def + + + minHeight_=(h: Double): Unit + + +
    Definition Classes
    Stage
    +
  51. + + + + + + + + + def + + + minWidth: Double + + +
    Definition Classes
    Stage
    +
  52. + + + + + + + + + def + + + minWidth_=(w: Double): Unit + + +
    Definition Classes
    Stage
    +
  53. + + + + + + + + + def + + + modality: Modality + + +
    Definition Classes
    Stage
    +
  54. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  55. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  56. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  57. + + + + + + + + + def + + + onCloseRequest: ObjectProperty[EventHandler[WindowEvent]] + + +
    Definition Classes
    Window
    +
  58. + + + + + + + + + def + + + onCloseRequest_=(v: EventHandler[WindowEvent]): Unit + + +
    Definition Classes
    Window
    +
  59. + + + + + + + + + def + + + onHidden: ObjectProperty[EventHandler[WindowEvent]] + + +
    Definition Classes
    Window
    +
  60. + + + + + + + + + def + + + onHidden_=(v: EventHandler[WindowEvent]): Unit + + +
    Definition Classes
    Window
    +
  61. + + + + + + + + + def + + + onHiding: ObjectProperty[EventHandler[WindowEvent]] + + +
    Definition Classes
    Window
    +
  62. + + + + + + + + + def + + + onHiding_=(v: EventHandler[WindowEvent]): Unit + + +
    Definition Classes
    Window
    +
  63. + + + + + + + + + def + + + onLevelContextCreated(levelContext: LevelContext, level: Int, simulation: Boolean): Unit + + +

    This method called when the level context has been created

    This method called when the level context has been created

    levelContext

    the new level context

    level

    the new level index

    simulation

    true if the new level must be started as a simulation, false otherwise

    Definition Classes
    OsmosReduxPrimaryStageImplLevelSelectionSceneListener
    +
  64. + + + + + + + + + def + + + onPauseLevel(): Unit + + +

    Called when the level gets paused +

    Called when the level gets paused +

    Definition Classes
    OsmosReduxPrimaryStageImplLevelSceneListener
    +
  65. + + + + + + + + + def + + + onPlayClick(): Unit + + +

    Called when the user clicks on the play button +

    Called when the user clicks on the play button +

    Definition Classes
    OsmosReduxPrimaryStageImplMainSceneListener
    +
  66. + + + + + + + + + def + + + onResumeLevel(): Unit + + +

    Called when the level gets resumed +

    Called when the level gets resumed +

    Definition Classes
    OsmosReduxPrimaryStageImplLevelSceneListener
    +
  67. + + + + + + + + + def + + + onShowing: ObjectProperty[EventHandler[WindowEvent]] + + +
    Definition Classes
    Window
    +
  68. + + + + + + + + + def + + + onShowing_=(v: EventHandler[WindowEvent]): Unit + + +
    Definition Classes
    Window
    +
  69. + + + + + + + + + def + + + onShown: ObjectProperty[EventHandler[WindowEvent]] + + +
    Definition Classes
    Window
    +
  70. + + + + + + + + + def + + + onShown_=(v: EventHandler[WindowEvent]): Unit + + +
    Definition Classes
    Window
    +
  71. + + + + + + + + + def + + + onStartLevel(): Unit + + +

    Called when the level gets started +

    Called when the level gets started +

    Definition Classes
    OsmosReduxPrimaryStageImplLevelSceneListener
    +
  72. + + + + + + + + + def + + + onStopLevel(): Unit + + +

    Called when the level gets stopped +

    Called when the level gets stopped +

    Definition Classes
    OsmosReduxPrimaryStageImplLevelSceneListener
    +
  73. + + + + + + + + + def + + + opacity: DoubleProperty + + +
    Definition Classes
    Window
    +
  74. + + + + + + + + + def + + + opacity_=(v: Double): Unit + + +
    Definition Classes
    Window
    +
  75. + + + + + + + + + def + + + owner: Option[Window] + + +
    Definition Classes
    Stage
    +
  76. + + + + + + + + + def + + + removeEventFilter[E <: Event](eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit + + +
    Definition Classes
    EventHandlerDelegate
    +
  77. + + + + + + + + + def + + + removeEventHandler[E <: Event](eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit + + +
    Definition Classes
    EventHandlerDelegate
    +
  78. + + + + + + + + + def + + + requestFocus(): Unit + + +
    Definition Classes
    Window
    +
  79. + + + + + + + + + def + + + resizable: BooleanProperty + + +
    Definition Classes
    Stage
    +
  80. + + + + + + + + + def + + + resizable_=(v: Boolean): Unit + + +
    Definition Classes
    Stage
    +
  81. + + + + + + + + + def + + + scene: ReadOnlyObjectProperty[Scene] + + +
    Definition Classes
    Window
    +
  82. + + + + + + + + + def + + + scene_=(s: Scene): Unit + + +
    Definition Classes
    Stage
    +
  83. + + + + + + + + + def + + + show(): Unit + + +
    Definition Classes
    Stage
    +
  84. + + + + + + + + + def + + + showAndWait(): Unit + + +
    Definition Classes
    Stage
    +
  85. + + + + + + + + + def + + + showing: ReadOnlyBooleanProperty + + +
    Definition Classes
    Window
    +
  86. + + + + + + + + + def + + + showing_=(v: Boolean): Unit + + +
    Definition Classes
    Stage
    +
  87. + + + + + + + + + def + + + sizeToScene(): Unit + + +
    Definition Classes
    Window
    +
  88. + + + + + + + + + def + + + style: StageStyle + + +
    Definition Classes
    Stage
    +
  89. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  90. + + + + + + + + + def + + + title: StringProperty + + +
    Definition Classes
    Stage
    +
  91. + + + + + + + + + def + + + title_=(v: String): Unit + + +
    Definition Classes
    Stage
    +
  92. + + + + + + + + + def + + + toBack(): Unit + + +
    Definition Classes
    Stage
    +
  93. + + + + + + + + + def + + + toFront(): Unit + + +
    Definition Classes
    Stage
    +
  94. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    SFXDelegate → AnyRef → Any
    +
  95. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  96. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  97. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  98. + + + + + + + + + def + + + width: ReadOnlyDoubleProperty + + +
    Definition Classes
    Window
    +
  99. + + + + + + + + + def + + + width_=(w: Double): Unit + + +
    Definition Classes
    Window
    +
  100. + + + + + + + + + val + + + windowHeight: Double + + + +
  101. + + + + + + + + + val + + + windowWidth: Double + + + +
  102. + + + + + + + + + def + + + x: ReadOnlyDoubleProperty + + +
    Definition Classes
    Window
    +
  103. + + + + + + + + + def + + + x_=(value: Double): Unit + + +
    Definition Classes
    Window
    +
  104. + + + + + + + + + def + + + y: ReadOnlyDoubleProperty + + +
    Definition Classes
    Window
    +
  105. + + + + + + + + + def + + + y_=(value: Double): Unit + + +
    Definition Classes
    Window
    +
  106. +
+
+ + + + +
+ +
+
+

Inherited from LevelSelectionSceneListener

+
+

Inherited from LevelSceneListener

+
+

Inherited from MainSceneListener

+
+

Inherited from OsmosReduxPrimaryStage

+
+

Inherited from PrimaryStage

+
+

Inherited from Stage

+
+

Inherited from Window

+
+

Inherited from EventTarget

+
+

Inherited from SFXDelegate[Stage]

+
+

Inherited from EventHandlerDelegate

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/stages/OsmosReduxPrimaryStage$.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/stages/OsmosReduxPrimaryStage$.html new file mode 100644 index 00000000..b1988cfc --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/stages/OsmosReduxPrimaryStage$.html @@ -0,0 +1,700 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.stages.OsmosReduxPrimaryStage + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + object + + + OsmosReduxPrimaryStage + +

+ + +

Companion object +

+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. OsmosReduxPrimaryStage
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + +
+

Type Members

+
  1. + + + + + + + + + class + + + OsmosReduxPrimaryStageImpl extends PrimaryStage with OsmosReduxPrimaryStage with MainSceneListener with LevelSelectionSceneListener + + +

    Primary stage implementation

    +
+
+ + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + def + + + apply(listener: PrimaryStageListener, fullScreenEnabled: Boolean = false, windowWidth: Double = defaultWindowWidth, windowHeight: Double = defaultWindowHeight): OsmosReduxPrimaryStageImpl + + + +
  5. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  6. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  9. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  10. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  13. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  14. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/stages/OsmosReduxPrimaryStage.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/stages/OsmosReduxPrimaryStage.html new file mode 100644 index 00000000..d9d39ef8 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/stages/OsmosReduxPrimaryStage.html @@ -0,0 +1,1946 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.stages.OsmosReduxPrimaryStage + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ + + +

+ + + trait + + + OsmosReduxPrimaryStage extends PrimaryStage + +

+ + +

Primary stage which holds and manages all the different game scenes +

+ + Linear Supertypes + +
PrimaryStage, Stage, Window, EventTarget, SFXDelegate[Stage], EventHandlerDelegate, AnyRef, Any
+
+ + Known Subclasses + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. OsmosReduxPrimaryStage
  2. PrimaryStage
  3. Stage
  4. Window
  5. EventTarget
  6. SFXDelegate
  7. EventHandlerDelegate
  8. AnyRef
  9. Any
  10. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + +
+

Type Members

+
  1. + + + + + + + + + type + + + EventHandled = AnyRef { ... /* 5 definitions in type refinement */ } + + +
    Definition Classes
    EventHandlerDelegate
    +
  2. + + + + + + + + sealed + trait + + + FilterMagnet[J <: Event, S <: SFXDelegate[J]] extends AnyRef + + +
    Definition Classes
    EventHandlerDelegate
    +
  3. + + + + + + + + sealed + trait + + + HandlerMagnet[J <: Event, S <: SFXDelegate[J]] extends AnyRef + + +
    Definition Classes
    EventHandlerDelegate
    +
+
+ + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + def + + + addEventFilter[E <: Event](eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit + + +
    Definition Classes
    EventHandlerDelegate
    +
  5. + + + + + + + + + def + + + addEventHandler[E <: Event](eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit + + +
    Definition Classes
    EventHandlerDelegate
    +
  6. + + + + + + + + + def + + + alwaysOnTop: ReadOnlyBooleanProperty + + +
    Definition Classes
    Stage
    +
  7. + + + + + + + + + def + + + alwaysOnTop_=(value: Boolean): Unit + + +
    Definition Classes
    Stage
    +
  8. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  9. + + + + + + + + + def + + + buildEventDispatchChain(chain: EventDispatchChain): EventDispatchChain + + +
    Definition Classes
    EventHandlerDelegate
    +
  10. + + + + + + + + + def + + + centerOnScreen(): Unit + + +
    Definition Classes
    Window
    +
  11. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  12. + + + + + + + + + def + + + close(): Unit + + +
    Definition Classes
    Stage
    +
  13. + + + + + + + + + val + + + delegate: Stage + + +
    Definition Classes
    Stage → Window → SFXDelegate
    +
  14. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  15. + + + + + + + + + def + + + equals(ref: Any): Boolean + + +
    Definition Classes
    SFXDelegate → AnyRef → Any
    +
  16. + + + + + + + + + def + + + eventDispatcher: ObjectProperty[EventDispatcher] + + +
    Definition Classes
    Window
    +
  17. + + + + + + + + + def + + + eventDispatcher_=(v: EventDispatcher): Unit + + +
    Definition Classes
    Window
    +
  18. + + + + + + + + + def + + + eventHandlerDelegate: EventHandled + + +
    Attributes
    protected
    Definition Classes
    Window → EventHandlerDelegate
    +
  19. + + + + + + + + + def + + + filterEvent[J <: Event, S <: Event with SFXDelegate[J]](eventType: EventType[J])(filter: FilterMagnet[J, S]): Subscription + + +
    Definition Classes
    EventHandlerDelegate
    +
  20. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  21. + + + + + + + + + def + + + fireEvent(event: Event): Unit + + +
    Definition Classes
    Window
    +
  22. + + + + + + + + + def + + + focused: ReadOnlyBooleanProperty + + +
    Definition Classes
    Window
    +
  23. + + + + + + + + + def + + + fullScreen: ReadOnlyBooleanProperty + + +
    Definition Classes
    Stage
    +
  24. + + + + + + + + + def + + + fullScreenExitHint: ObjectProperty[String] + + +
    Definition Classes
    Stage
    +
  25. + + + + + + + + + def + + + fullScreenExitHint_=(value: String): Unit + + +
    Definition Classes
    Stage
    +
  26. + + + + + + + + + def + + + fullScreenExitKey: ObjectProperty[KeyCombination] + + +
    Definition Classes
    Stage
    +
  27. + + + + + + + + + def + + + fullScreenExitKey_=(value: KeyCombination): Unit + + +
    Definition Classes
    Stage
    +
  28. + + + + + + + + + def + + + fullScreen_=(value: Boolean): Unit + + +
    Definition Classes
    Stage
    +
  29. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  30. + + + + + + + + + def + + + handleEvent[J <: Event, S <: Event with SFXDelegate[J]](eventType: EventType[J])(handler: HandlerMagnet[J, S]): Subscription + + +
    Definition Classes
    EventHandlerDelegate
    +
  31. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    SFXDelegate → AnyRef → Any
    +
  32. + + + + + + + + + def + + + height: ReadOnlyDoubleProperty + + +
    Definition Classes
    Window
    +
  33. + + + + + + + + + def + + + height_=(h: Double): Unit + + +
    Definition Classes
    Window
    +
  34. + + + + + + + + + def + + + hide(): Unit + + +
    Definition Classes
    Window
    +
  35. + + + + + + + + + def + + + iconified: ReadOnlyBooleanProperty + + +
    Definition Classes
    Stage
    +
  36. + + + + + + + + + def + + + icons: ObservableList[Image] + + +
    Definition Classes
    Stage
    +
  37. + + + + + + + + + def + + + initModality(modality: Modality): Unit + + +
    Definition Classes
    Stage
    +
  38. + + + + + + + + + def + + + initOwner(owner: Window): Unit + + +
    Definition Classes
    Stage
    +
  39. + + + + + + + + + def + + + initStyle(style: StageStyle): Unit + + +
    Definition Classes
    Stage
    +
  40. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  41. + + + + + + + + + def + + + maxHeight: Double + + +
    Definition Classes
    Stage
    +
  42. + + + + + + + + + def + + + maxHeight_=(h: Double): Unit + + +
    Definition Classes
    Stage
    +
  43. + + + + + + + + + def + + + maxWidth: Double + + +
    Definition Classes
    Stage
    +
  44. + + + + + + + + + def + + + maxWidth_=(w: Double): Unit + + +
    Definition Classes
    Stage
    +
  45. + + + + + + + + + def + + + maximized: ReadOnlyBooleanProperty + + +
    Definition Classes
    Stage
    +
  46. + + + + + + + + + def + + + maximized_=(value: Boolean): Unit + + +
    Definition Classes
    Stage
    +
  47. + + + + + + + + + def + + + minHeight: Double + + +
    Definition Classes
    Stage
    +
  48. + + + + + + + + + def + + + minHeight_=(h: Double): Unit + + +
    Definition Classes
    Stage
    +
  49. + + + + + + + + + def + + + minWidth: Double + + +
    Definition Classes
    Stage
    +
  50. + + + + + + + + + def + + + minWidth_=(w: Double): Unit + + +
    Definition Classes
    Stage
    +
  51. + + + + + + + + + def + + + modality: Modality + + +
    Definition Classes
    Stage
    +
  52. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  53. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  54. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  55. + + + + + + + + + def + + + onCloseRequest: ObjectProperty[EventHandler[WindowEvent]] + + +
    Definition Classes
    Window
    +
  56. + + + + + + + + + def + + + onCloseRequest_=(v: EventHandler[WindowEvent]): Unit + + +
    Definition Classes
    Window
    +
  57. + + + + + + + + + def + + + onHidden: ObjectProperty[EventHandler[WindowEvent]] + + +
    Definition Classes
    Window
    +
  58. + + + + + + + + + def + + + onHidden_=(v: EventHandler[WindowEvent]): Unit + + +
    Definition Classes
    Window
    +
  59. + + + + + + + + + def + + + onHiding: ObjectProperty[EventHandler[WindowEvent]] + + +
    Definition Classes
    Window
    +
  60. + + + + + + + + + def + + + onHiding_=(v: EventHandler[WindowEvent]): Unit + + +
    Definition Classes
    Window
    +
  61. + + + + + + + + + def + + + onShowing: ObjectProperty[EventHandler[WindowEvent]] + + +
    Definition Classes
    Window
    +
  62. + + + + + + + + + def + + + onShowing_=(v: EventHandler[WindowEvent]): Unit + + +
    Definition Classes
    Window
    +
  63. + + + + + + + + + def + + + onShown: ObjectProperty[EventHandler[WindowEvent]] + + +
    Definition Classes
    Window
    +
  64. + + + + + + + + + def + + + onShown_=(v: EventHandler[WindowEvent]): Unit + + +
    Definition Classes
    Window
    +
  65. + + + + + + + + + def + + + opacity: DoubleProperty + + +
    Definition Classes
    Window
    +
  66. + + + + + + + + + def + + + opacity_=(v: Double): Unit + + +
    Definition Classes
    Window
    +
  67. + + + + + + + + + def + + + owner: Option[Window] + + +
    Definition Classes
    Stage
    +
  68. + + + + + + + + + def + + + removeEventFilter[E <: Event](eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit + + +
    Definition Classes
    EventHandlerDelegate
    +
  69. + + + + + + + + + def + + + removeEventHandler[E <: Event](eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit + + +
    Definition Classes
    EventHandlerDelegate
    +
  70. + + + + + + + + + def + + + requestFocus(): Unit + + +
    Definition Classes
    Window
    +
  71. + + + + + + + + + def + + + resizable: BooleanProperty + + +
    Definition Classes
    Stage
    +
  72. + + + + + + + + + def + + + resizable_=(v: Boolean): Unit + + +
    Definition Classes
    Stage
    +
  73. + + + + + + + + + def + + + scene: ReadOnlyObjectProperty[Scene] + + +
    Definition Classes
    Window
    +
  74. + + + + + + + + + def + + + scene_=(s: Scene): Unit + + +
    Definition Classes
    Stage
    +
  75. + + + + + + + + + def + + + show(): Unit + + +
    Definition Classes
    Stage
    +
  76. + + + + + + + + + def + + + showAndWait(): Unit + + +
    Definition Classes
    Stage
    +
  77. + + + + + + + + + def + + + showing: ReadOnlyBooleanProperty + + +
    Definition Classes
    Window
    +
  78. + + + + + + + + + def + + + showing_=(v: Boolean): Unit + + +
    Definition Classes
    Stage
    +
  79. + + + + + + + + + def + + + sizeToScene(): Unit + + +
    Definition Classes
    Window
    +
  80. + + + + + + + + + def + + + style: StageStyle + + +
    Definition Classes
    Stage
    +
  81. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  82. + + + + + + + + + def + + + title: StringProperty + + +
    Definition Classes
    Stage
    +
  83. + + + + + + + + + def + + + title_=(v: String): Unit + + +
    Definition Classes
    Stage
    +
  84. + + + + + + + + + def + + + toBack(): Unit + + +
    Definition Classes
    Stage
    +
  85. + + + + + + + + + def + + + toFront(): Unit + + +
    Definition Classes
    Stage
    +
  86. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    SFXDelegate → AnyRef → Any
    +
  87. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  88. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  89. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  90. + + + + + + + + + def + + + width: ReadOnlyDoubleProperty + + +
    Definition Classes
    Window
    +
  91. + + + + + + + + + def + + + width_=(w: Double): Unit + + +
    Definition Classes
    Window
    +
  92. + + + + + + + + + def + + + x: ReadOnlyDoubleProperty + + +
    Definition Classes
    Window
    +
  93. + + + + + + + + + def + + + x_=(value: Double): Unit + + +
    Definition Classes
    Window
    +
  94. + + + + + + + + + def + + + y: ReadOnlyDoubleProperty + + +
    Definition Classes
    Window
    +
  95. + + + + + + + + + def + + + y_=(value: Double): Unit + + +
    Definition Classes
    Window
    +
  96. +
+
+ + + + +
+ +
+
+

Inherited from PrimaryStage

+
+

Inherited from Stage

+
+

Inherited from Window

+
+

Inherited from EventTarget

+
+

Inherited from SFXDelegate[Stage]

+
+

Inherited from EventHandlerDelegate

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/stages/PrimaryStageListener.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/stages/PrimaryStageListener.html new file mode 100644 index 00000000..83f82c27 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/stages/PrimaryStageListener.html @@ -0,0 +1,763 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.stages.PrimaryStageListener + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.mvc.view.stages

+

PrimaryStageListener + + + +

+

+
+ +

+ + + trait + + + PrimaryStageListener extends LevelSelectionSceneListener + +

+ + +

Listener that manages all the events managed by the primary scene +

+ + Linear Supertypes + + +
+ + Known Subclasses + + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. PrimaryStageListener
  2. LevelSelectionSceneListener
  3. LevelSceneListener
  4. AnyRef
  5. Any
  6. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + onLevelContextCreated(levelContext: LevelContext, level: Int, simulation: Boolean): Unit + + +

    This method called when the level context has been created

    This method called when the level context has been created

    levelContext

    the new level context

    level

    the new level index

    simulation

    true if the new level must be started as a simulation, false otherwise

    Definition Classes
    LevelSelectionSceneListener
    +
  2. + + + + + + + + abstract + def + + + onPauseLevel(): Unit + + +

    Called when the level gets paused +

    Called when the level gets paused +

    Definition Classes
    LevelSceneListener
    +
  3. + + + + + + + + abstract + def + + + onResumeLevel(): Unit + + +

    Called when the level gets resumed +

    Called when the level gets resumed +

    Definition Classes
    LevelSceneListener
    +
  4. + + + + + + + + abstract + def + + + onStartLevel(): Unit + + +

    Called when the level gets started +

    Called when the level gets started +

    Definition Classes
    LevelSceneListener
    +
  5. + + + + + + + + abstract + def + + + onStopLevel(): Unit + + +

    Called when the level gets stopped +

    Called when the level gets stopped +

    Definition Classes
    LevelSceneListener
    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from LevelSelectionSceneListener

+
+

Inherited from LevelSceneListener

+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/mvc/view/stages/index.html b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/stages/index.html new file mode 100644 index 00000000..510e0ec2 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/mvc/view/stages/index.html @@ -0,0 +1,441 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.mvc.view.stages + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
p
+

it.unibo.osmos.redux.mvc.view

+

stages + + + +

+ +
+ +

+ + + package + + + stages + +

+ + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. + +
+
+ +
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + +
+

Type Members

+
  1. + + + + + + + + + trait + + + OsmosReduxPrimaryStage extends PrimaryStage + + +

    Primary stage which holds and manages all the different game scenes +

    +
  2. + + + + + + + + + trait + + + PrimaryStageListener extends LevelSelectionSceneListener + + +

    Listener that manages all the events managed by the primary scene +

    +
+
+ + + +
+

Value Members

+
    +
  1. + + + + + + + + + object + + + OsmosReduxPrimaryStage + + +

    Companion object +

    +
  2. +
+
+ + + + +
+ +
+ + +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/utils/InputEventQueue$.html b/docs/scaladoc/it/unibo/osmos/redux/utils/InputEventQueue$.html new file mode 100644 index 00000000..699c3c7e --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/utils/InputEventQueue$.html @@ -0,0 +1,711 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.utils.InputEventQueue + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.utils

+

InputEventQueue + + + +

+

+
+ +

+ + + object + + + InputEventQueue + +

+ + +

Singleton that stores all input events. +

+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. InputEventQueue
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + + def + + + dequeue(): Option[MouseEventWrapper] + + +

    Dequeues one event from the queue.

    Dequeues one event from the queue.

    returns

    Optional of a event

    +
  7. + + + + + + + + + def + + + dequeueAll(): Seq[MouseEventWrapper] + + +

    Dequeue all events from the queue

    Dequeue all events from the queue

    returns

    The list of all saved events

    +
  8. + + + + + + + + + def + + + enqueue(events: MouseEventWrapper*): Unit + + +

    Enqueues one or more events into the queue.

    Enqueues one or more events into the queue.

    events

    The events to add

    +
  9. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  10. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  11. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  12. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  13. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  15. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  17. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  18. + + + + + + + + + var + + + queue: Queue[MouseEventWrapper] + + + +
  19. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  20. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  21. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  22. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  23. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  24. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/utils/MathUtils$.html b/docs/scaladoc/it/unibo/osmos/redux/utils/MathUtils$.html new file mode 100644 index 00000000..23608382 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/utils/MathUtils$.html @@ -0,0 +1,772 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.utils.MathUtils + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.utils

+

MathUtils + + + +

+

+
+ +

+ + + object + + + MathUtils + +

+ + +

Utility class that offers math related useful methods +

+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. MathUtils
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + circleArea(radius: Double): Double + + +

    Returns the area of a circle of a given radius +

    Returns the area of a circle of a given radius +

    radius

    the radius

    returns

    area

    +
  6. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  9. + + + + + + + + + def + + + euclideanDistance(position1: PositionComponent, position2: PositionComponent): Double + + +

    Returns the Euclidean distance in 2D space +

    Returns the Euclidean distance in 2D space +

    position1

    first position

    position2

    second position

    returns

    Euclidean distance

    +
  10. + + + + + + + + + def + + + euclideanDistance(point1: Point, point2: Point): Double + + +

    Returns the Euclidean distance in 2D space +

    Returns the Euclidean distance in 2D space +

    point1

    first point

    point2

    second point

    returns

    Euclidean distance

    +
  11. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  12. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  13. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  15. + + + + + + + + + def + + + isPointBetweenPoints(p: Point, p1: Point, p2: Point): Boolean + + +

    Checks if a point is between other two points and it is +on the straight line passing through these two points +

    Checks if a point is between other two points and it is +on the straight line passing through these two points +

    p

    the point to be verified

    p1

    one of the boundary points

    p2

    the other one

    returns

    result of the evaluation

    +
  16. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + normalize(number: Double, min: Double, max: Double): Double + + +

    Returns the normalized value of a number between a min and a max +

    Returns the normalized value of a number between a min and a max +

    number

    the number

    min

    the min number

    max

    the max number

    returns

    the normalized number between min and max

    +
  18. + + + + + + + + + def + + + normalizePoint(point: Point): Point + + +

    Returns the normalized point.

    Returns the normalized point. +

    point

    The point to normalize

    returns

    The normalized point

    +
  19. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  20. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  21. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  22. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  23. + + + + + + + + + def + + + unitVector(point1: Point, point2: Point): Vector + + +

    unitVector from point2 to point1

    unitVector from point2 to point1

    returns

    unitVector

    +
  24. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  25. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  26. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  27. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/utils/Point$.html b/docs/scaladoc/it/unibo/osmos/redux/utils/Point$.html new file mode 100644 index 00000000..ab397caf --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/utils/Point$.html @@ -0,0 +1,664 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.utils.Point + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.utils

+

Point + + + +

+

+ Companion trait Point +

+
+ +

+ + + object + + + Point + +

+ + +
+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. Point
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + def + + + apply(x: Double, y: Double): Point + + + +
  5. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  6. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  9. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  10. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  13. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  14. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/utils/Point.html b/docs/scaladoc/it/unibo/osmos/redux/utils/Point.html new file mode 100644 index 00000000..a9a86dc6 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/utils/Point.html @@ -0,0 +1,736 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.utils.Point + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.utils

+

Point + + + +

+

+ Companion object Point +

+
+ +

+ + + trait + + + Point extends AnyRef + +

+ + +

Cartesian point

+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. Point
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + add(v: Vector): Point + + +

    Point-vector addition.

    Point-vector addition. +

    v

    vector to add

    returns

    addition result as a new instance of Point

    +
  2. + + + + + + + + abstract + def + + + subtract(v: Vector): Vector + + +

    Point-vector subtraction.

    Point-vector subtraction. +

    v

    vector to subtract

    returns

    subtraction result as a new instance

    +
  3. + + + + + + + + abstract + def + + + subtract(p: Point): Vector + + +

    Point-point subtraction.

    Point-point subtraction. +

    p

    point to subtract

    returns

    subtraction result as a new instance

    +
  4. + + + + + + + + abstract + def + + + x: Double + + +

    Getter.

    Getter. Return the x coordinate of the point. +

    returns

    x coordinate

    +
  5. + + + + + + + + abstract + def + + + y: Double + + +

    Getter.

    Getter. Return the y coordinate of the point. +

    returns

    y coordinate

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  17. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  18. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  20. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/utils/PrologRules$.html b/docs/scaladoc/it/unibo/osmos/redux/utils/PrologRules$.html new file mode 100644 index 00000000..802b2185 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/utils/PrologRules$.html @@ -0,0 +1,662 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.utils.PrologRules + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.utils

+

PrologRules + + + +

+

+
+ +

+ + + object + + + PrologRules + +

+ + +
+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. PrologRules
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  9. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  10. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  12. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  13. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  14. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + + val + + + rules: String + + + +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/utils/Scala2P$.html b/docs/scaladoc/it/unibo/osmos/redux/utils/Scala2P$.html new file mode 100644 index 00000000..5e363f93 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/utils/Scala2P$.html @@ -0,0 +1,870 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.utils.Scala2P + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.utils

+

Scala2P + + + +

+

+
+ +

+ + + object + + + Scala2P + +

+ + +
+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. Scala2P
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  5. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  6. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  7. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  8. + + + + + + + + + def + + + extractTerm(solveInfo: SolveInfo, s: String): Term + + + +
  9. + + + + + + + + + def + + + extractTerm(solveInfo: SolveInfo, i: Integer): Term + + + +
  10. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  11. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  13. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  14. + + + + + + + + + def + + + mkPrologEngine(theory: Theory): (Term) ⇒ Stream[SolveInfo] + + + +
  15. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  16. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  17. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  18. + + + + + + + + implicit + def + + + sentientEnemyPropertyListToTerm(sentientEnemies: ListBuffer[SentientEnemyProperty]): Term + + + +
  19. + + + + + + + + implicit + def + + + sentientEnemyPropertyToTerm(s: SentientEnemyProperty): Term + + + +
  20. + + + + + + + + implicit + def + + + sentientPropertyListToTerm(sentientEnemies: ListBuffer[SentientProperty]): Term + + + +
  21. + + + + + + + + implicit + def + + + sentientPropertyToTerm(s: SentientProperty): Term + + + +
  22. + + + + + + + + + def + + + separate[E1, E2](element1: E1, element2: E2): String + + + +
  23. + + + + + + + + implicit + def + + + seqToTerm[T](s: Seq[T]): Term + + + +
  24. + + + + + + + + + def + + + solveOneAndGetTerm(engine: (Term) ⇒ Stream[SolveInfo], goal: Term, term: String): Term + + + +
  25. + + + + + + + + + def + + + solveWithSuccess(engine: (Term) ⇒ Stream[SolveInfo], goal: Term): Boolean + + + +
  26. + + + + + + + + implicit + def + + + stringToTerm(s: String): Term + + + +
  27. + + + + + + + + implicit + def + + + stringToTheory[T](s: String): Theory + + + +
  28. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  29. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  30. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  31. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  32. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  33. + + + + + + + + + def + + + wrap[E](element: E): String + + + +
  34. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/utils/Vector$.html b/docs/scaladoc/it/unibo/osmos/redux/utils/Vector$.html new file mode 100644 index 00000000..34ff1fff --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/utils/Vector$.html @@ -0,0 +1,680 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.utils.Vector + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
o
+

it.unibo.osmos.redux.utils

+

Vector + + + +

+

+ Companion trait Vector +

+
+ +

+ + + object + + + Vector + +

+ + +
+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. Vector
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + + + +
+

Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + def + + + apply(x: Double, y: Double): Vector + + + +
  5. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  6. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  7. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  8. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  9. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  10. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  11. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  12. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  13. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  14. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  15. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  16. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  17. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  18. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  19. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  20. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  21. + + + + + + + + + def + + + zero(): Vector + + + +
  22. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/utils/Vector.html b/docs/scaladoc/it/unibo/osmos/redux/utils/Vector.html new file mode 100644 index 00000000..4c5a470f --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/utils/Vector.html @@ -0,0 +1,911 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.utils.Vector + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
t
+

it.unibo.osmos.redux.utils

+

Vector + + + +

+

+ Companion object Vector +

+
+ +

+ + + trait + + + Vector extends AnyRef + +

+ + +

2D vector

+ + Linear Supertypes + +
AnyRef, Any
+
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. +
  3. By Inheritance
  4. +
+
+
+ Inherited
+
+
    +
  1. Vector
  2. AnyRef
  3. Any
  4. +
+
+ +
    +
  1. Hide All
  2. +
  3. Show All
  4. +
+
+
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + + + +
+

Abstract Value Members

+
  1. + + + + + + + + abstract + def + + + x: Double + + +

    Getter for the vector x component +

    Getter for the vector x component +

    returns

    x component

    +
  2. + + + + + + + + abstract + def + + + x_(newX: Double): Unit + + +

    Setter for the vector x component +

    Setter for the vector x component +

    newX

    new x component

    +
  3. + + + + + + + + abstract + def + + + y: Double + + +

    Getter for the vector y component +

    Getter for the vector y component +

    returns

    y component

    +
  4. + + + + + + + + abstract + def + + + y_(newY: Double): Unit + + +

    Setter for the vector y component +

    Setter for the vector y component +

    newY

    new y component

    +
+
+ +
+

Concrete Value Members

+
    +
  1. + + + + + + + + final + def + + + !=(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  2. + + + + + + + + final + def + + + ##(): Int + + +
    Definition Classes
    AnyRef → Any
    +
  3. + + + + + + + + final + def + + + ==(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  4. + + + + + + + + + def + + + add(v: Vector): Vector + + +

    Vector addition.

    Vector addition. Leaves this vector unchanged. +

    v

    vector to add

    returns

    addition result as a new instance

    +
  5. + + + + + + + + final + def + + + asInstanceOf[T0]: T0 + + +
    Definition Classes
    Any
    +
  6. + + + + + + + + + def + + + clone(): AnyRef + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  7. + + + + + + + + + def + + + divide(v: Double): Vector + + +

    Vector-scalar division.

    Vector-scalar division. Leaves this vector unchanged. +

    v

    scalar

    returns

    division result as a new instance

    +
  8. + + + + + + + + + def + + + dot(v: Vector): Double + + +

    Vector dot product +

    Vector dot product +

    v

    vector to use for dot product

    returns

    dot product

    +
  9. + + + + + + + + final + def + + + eq(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  10. + + + + + + + + + def + + + equals(arg0: Any): Boolean + + +
    Definition Classes
    AnyRef → Any
    +
  11. + + + + + + + + + def + + + finalize(): Unit + + +
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + classOf[java.lang.Throwable] + ) + +
    +
  12. + + + + + + + + final + def + + + getClass(): Class[_] + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  13. + + + + + + + + + def + + + getLength: Double + + +

    TODO +

    +
  14. + + + + + + + + + def + + + getNewLength(newLength: Double): Vector + + +

    TODO +

    +
  15. + + + + + + + + + def + + + hashCode(): Int + + +
    Definition Classes
    AnyRef → Any
    Annotations
    + @native() + +
    +
  16. + + + + + + + + final + def + + + isInstanceOf[T0]: Boolean + + +
    Definition Classes
    Any
    +
  17. + + + + + + + + + def + + + limit(maxLength: Double): Vector + + +

    Limit the vector's length

    Limit the vector's length

    maxLength

    max length of the vector

    returns

    the limited vector

    +
  18. + + + + + + + + + def + + + multiply(v: Double): Vector + + +

    Vector-scalar multiplication.

    Vector-scalar multiplication. Leaves this vector unchanged. +

    v

    scalar to multiply

    returns

    multiplication mu result as a new instance

    +
  19. + + + + + + + + + def + + + multiply(v: Vector): Vector + + +

    Vector multiplication.

    Vector multiplication. Leaves this vector unchanged. +

    v

    vector to multiply

    returns

    multiplication result as a new instance

    +
  20. + + + + + + + + final + def + + + ne(arg0: AnyRef): Boolean + + +
    Definition Classes
    AnyRef
    +
  21. + + + + + + + + + def + + + normalized(): Vector + + +

    Gets the vector normalized +

    Gets the vector normalized +

    returns

    this vector normalized as a new instance

    +
  22. + + + + + + + + final + def + + + notify(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  23. + + + + + + + + final + def + + + notifyAll(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + +
    +
  24. + + + + + + + + + def + + + subtract(p: Point): Vector + + +

    Vector-point subtraction.

    Vector-point subtraction. Leaves this vector unchanged. +

    p

    point to subtract

    returns

    subtraction result as a new instance

    +
  25. + + + + + + + + + def + + + subtract(v: Vector): Vector + + +

    Vector subtraction.

    Vector subtraction. Leaves this vector unchanged. +

    v

    vector to subtract

    returns

    subtraction result as a new instance

    +
  26. + + + + + + + + final + def + + + synchronized[T0](arg0: ⇒ T0): T0 + + +
    Definition Classes
    AnyRef
    +
  27. + + + + + + + + + def + + + toString(): String + + +
    Definition Classes
    AnyRef → Any
    +
  28. + + + + + + + + final + def + + + wait(): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  29. + + + + + + + + final + def + + + wait(arg0: Long, arg1: Int): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @throws( + + ... + ) + +
    +
  30. + + + + + + + + final + def + + + wait(arg0: Long): Unit + + +
    Definition Classes
    AnyRef
    Annotations
    + @native() + + @throws( + + ... + ) + +
    +
  31. +
+
+ + + + +
+ +
+
+

Inherited from AnyRef

+
+

Inherited from Any

+
+ +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/it/unibo/osmos/redux/utils/index.html b/docs/scaladoc/it/unibo/osmos/redux/utils/index.html new file mode 100644 index 00000000..86cb9b59 --- /dev/null +++ b/docs/scaladoc/it/unibo/osmos/redux/utils/index.html @@ -0,0 +1,455 @@ + + + + + + osmos-redux 1.1.0 API - it.unibo.osmos.redux.utils + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+

Packages

+ +
+
+
+ +
+
p
+

it.unibo.osmos.redux

+

utils + + + +

+ +
+ +

+ + + package + + + utils + +

+ + +
+ + +
+
+
+ + + + + +
+
+
+ Ordering +
    + +
  1. Alphabetic
  2. + +
+
+ +
+ Visibility +
  1. Public
  2. All
+
+
+
+ +
+
+ + +
+

Type Members

+
  1. + + + + + + + + + trait + + + Point extends AnyRef + + +

    Cartesian point

    +
  2. + + + + + + + + + trait + + + Vector extends AnyRef + + +

    2D vector

    +
+
+ + + +
+

Value Members

+
    +
  1. + + + + + + + + + object + + + InputEventQueue + + +

    Singleton that stores all input events.

    +
  2. + + + + + + + + + object + + + MathUtils + + +

    Utility class that offers math related useful methods +

    +
  3. + + + + + + + + + object + + + Point + + + +
  4. + + + + + + + + + object + + + PrologRules + + + +
  5. + + + + + + + + + object + + + Scala2P + + + +
  6. + + + + + + + + + object + + + Vector + + + +
  7. +
+
+ + + + +
+ +
+ + +
+ +
+
+

Ungrouped

+ +
+
+ +
+ +
+ + + +
+
+
+ + diff --git a/docs/scaladoc/lib/MaterialIcons-Regular.eot b/docs/scaladoc/lib/MaterialIcons-Regular.eot new file mode 100644 index 0000000000000000000000000000000000000000..bf67d48bdb064080ae9506557f15705a34fe8e04 GIT binary patch literal 137002 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 e}5yJ?#qR#7AhjoBBTe4 zg!|gWy3lcv#2QAO0iEKvZO_zv81TFAgffi61jU^&hB(&#Dj2k~l4fBQOO-dWYZ^iY3x$<>2_-IW#kgF8~$~-}z+# z*nsN9{9`CD!nmLQo`gn}hl|K)Ub^P!g$qYfbk4eG$~yFKwm>3awm=~?DEtu12mBFe zjgcrK5J0X$L&Jk`;HVpq3`UlW?hD<<()GbZD~VT)bQ|H`@yLspvX|!K5S(w@`;r3; z)A7pDL(7Sk(fmjhDnIXi6~KfQ0Z)vQsvcW&%RnGkDv@k>E;h~b$#IG5^fK( zLpiqsUMSh3=&|jjk=SSVw)Yy#xVlQ=U5OlT9ariR&g%`K%~<4<{^#(h!Bv7 z1_676!sbX?tgf5zmms9xdT3rt`Jrt8hME=inv33b=K<`IOy}czq0sV{T-_8)>#ou2%etZ!Rjv;lW%c3uY;VA;;4uMzpX$({Z z8jArRJ~>zbS!kN(e1vI@tEiQ68zoLKBFILg~l`ErylR^-ZR@gM=-LcTz7PI&fo7$$34v->Z$%@k9(@UbMg4>sDHH3 zJRVp)zCSw~>Jq$L<~*C&hyVNflWcv8v_~pY)$(CTYe8HPgL8Cymrffx?DMaR)&qh-l4a2zr2NR+5J+GvZj?Ljr?nx)+%hoEdiur)~s zu;bX2uH9-vfA5T~)0dyszB5QGb(fh~5+JwOu^_YoArqZatSlkhWI!39-j=bjQEy>E zEEGuN*x|Cm@8&V*6O@3;$`6sBAR;O%A_DSLL`2l_|9sB5H@V3=^v`JSdEN8)p6~lSuFVGs zW8R(6sC9^CLSMJx_#K;9X*WiV0VO=08#Z*}?`Tbo1AF>5SNHC0zV_hGSqC3HtMlYT z&%n-nfzwXa+mk@x#&#XhI8RMYdz1crx z)!*n^iN*%jJuByR9@O66)7TbeU*`SYy(s;p_UUo`*zmml>}^MO3|7BR#HEK?*+D(l ztOruZq|ZYmqEW6KcmrYI|Jw=Y6Y?0uEUAZwFd) zbh;*R3Vzz^;Yn%5x4&@C4*1;&+oK!2NMkwH12ohE(CQlS(I0}3nlBb&A#zQ( z#Q!*l85MnABLBeFi|2N?>|Av4`H_gS+9La|7uW6E`EYwYlnbovx~pOD9IHJN39BPC z?f0R+r^MZ+J`cY2>T8s^s|}|+@wZl2_!D0wa`D#l=lWN4_wPJo(T9tXeHXAwapx^R+ru^LAbx_Z-5pR#)F9x$w(U7Tbg2J%HgL#=IB2fV!IIwK%8e_MPCqDePd? zP7Qr}47T3m?iEw^(UAvSdxM9~Xv_2pI)wc62j`r>XwDN)G@BjFI(7q{3AXzN{OT;v zR`EsgSu!5@a6y$*KFRL+`Ku5BL~~JXSZz=+qP}H zoGHo8BE+1}JBvk;7_x2L(aS9xWq=0HW~2H%FJ$js*0@_yf<_Ri+kF264%L!iG+&`}-) z&aU+w=Sh1m_Pn2zfCfMeWQd@3a6_K@;vTv-A3rs$4}W8lxdcH*iFABG+SjLVq{4jx z2xDy;nYhXe&q`f$Yl_;mL@CGi6gS0W@^@&YtY0uK$wSBmT_3Xi= zCp3qnszuFcY(0JTv7>!!dvW2}!mj?Hl!vTaB%{HgkPYGJ!da^tLI+u@b4L5osiWIA zY~9d|D}(~-3ct^aFJF1V$`#$dV949KWNCKkk}f3{TjJo2hpqJmy&H}`Y|w8FgnO1A z#%sEoIy#y*ZeP|nbKb%QAzyIGmN`q-4j(yd{(Su%@AV728bmm7!-BO^c^jl`p0}al z)2egM!qv+*Z(bG(^{rdiw|s8Wzrl*f zEnfYlb;efEJiYpkKURC0VUI#fTmT-j^@5F4ui)>jjbiD>eY>@Fuy$(W1+U=mtd08~ z+c*n!PCA7-gL#dBPPu=a(`a^2gG9M7j73?8PBB$<-KQz%d+?Z&q||5p8?P6!nrk^#D^O$itqkm!G$Q?hHH?` zVinH%RcOI)rbAraJVV67AHw&O;1?509E+vUCV0jMATRrINm9fBl4G^uGFMaUDA?}01>J#_Bm`mX`v(}*6D2z`^ z#1;oO^ex`Bd_i+Z@2u9Iwf$`%Ncf4?uN(xZ#+zp8kJ#>6fJ2HnnYb9r+^pV?A9r*` zgz|Ow^)EUWH+tiv%0JWBePhn3yVAb5efId~7AMHRM&At$SN%2|pu^9L`l}#_4ni5M ze)G4-~OHy}>oEHk$fQyg$Y`4u!wFCE1%zNqh>(MN#bO~(zI{r%VR z2MZZhc|l$bF28`+w8F6oQ>!}`Ayh@Y7CzYq^x@6VpN&_8$KT>tf^_6EqzZIGFcAH~@I<|Jhw^(p#0 zwB-&OcY6XHkH9*lJK;fUpO5pL|81~axYcIQzzgGl-T7Cn5^+nOJ{7|U|ATi`Ly&x{ zz7G|<|3G@}?c1R{UDwtI<$&<%m@Gzpvs{JrwGbr}wP0djD?D zhCRNn_q=m^k6C$?{thC}hS8qx*Y?bS-cNCa=XlKb9KR285poTT0aCQD7f6QxApuu` zNwiZ8&JoUeWWB9V`-u&0`p7^K7eyJdA}TC`%Bvds{HJzVU8nl{8dOVDTc{@#YqpfH zA?#IFb1XPl>Eod9(7&H_g};M3@S!W;41bf=9}uCC2=uq~$J!beHnjPq5YmU>Df;-s zq&`>*HiU(^wK_%9_3e-?+q7)q3KNi`ym($bK0g}0mp86%*B^)% zj~{mXrn##wS-xQ28S(keOPX)fH@RM^Z%jp(q3t?)rL!hfrH^HpB@b5Qz>(=J!)gZT zL3^w5R5opJw-*2CJ@YaQk`a3cdS~t2x%g0=GX#^dm$pb40#T}yJ9qNC8T-D)7~}lK z&+VFY;1cWy>I3(;p?$7R@SELzfT-Erxuy-r8Gzo}5<-&C-@eLOB3A9#zXspr;79zC zS?gnSX5d2}vs+GRnSELO6utRk$J&A8NnB>2M=WRT)^KUvp!!XhJ`#FR(BLb{e=b-6EDtc3aAq#s+H?}AzzXq zCM5+f!4PZJ44o-P=FSu+_`I}@y}or)CK2WZd?Kj=WOD(vR*2)72-)GxmshW!>fPY& z^T3h)yjysk(Tkxff-vy;%ZB3`&wl(v2QR*8@xb4< z(TguQWAVTtC#_q*e%&Vu>o;ooWPAYnjv4OJnAci43wc)4j<`AFdTZB){GJz#Wk6VY z#Ea5HNiU3Zav2uJ0Ge((VmMdaFtYzsytr!K$LG)dT&M7d{JwJ_=3BAFsTEIN{U+YG z?+5c%&b)n=Pp#fZd-l2?Qr7?Q9)|DPg7B$Md{&}$`!j${^Q_(5w_jlg;3^{%;on|(=Li#z=lzfyCG&M&@|-}-yIufWCu>J7$ELH{4;9niHs zfM8bOyhgEw7Z6wOfGc6z9pB(8obEFRhPLnF7j|&D^T3|%*P8vw@Wl7`>o2s>KR5`D z2;69It3DM7cEmNH7UGY zsba$q>a@r7?-tjuNfApc1)=Fd);jiv7v3;R+EeM(ptl}C(hH;=>nTowH=lobDyvbGlFX z>Irk^)Wp8Sbf(Nf9!j`lMm{<;;HU1)8###k72^&AH4Z0x-EF|Q&sWadGjG*6occH} zN*td#$YYL=6Moe34E)H$uqxbI)ht_AHO1`N$Ij%X8{rEZ955SI#k&sww(OWe2{tpl z0IKraG+uMpq~XnbamsfNqbV_sAK4mTvuJh4dwnVrZiuw4Y>SAdc3e{(X=v}Le@>UiGIiyaw>Lzh z4ejl&;!YASz>Wx`gl`Kd?~!fsHO(EDTOtsML;^daetssx{0&rtQUCj#R6c8RIG0ts zoR*>o-%x4Ccd06hopvkt9lG7xx5wIks09{<8N6-Zc5zlDdDvmeNXXCG^8biSH;@wp z*q6YyLkY@U1U|Ha_c|}Yrbyam@HOzfq0wQfV9#6Ue7gtJsFgV24^V#I0)8r$cHH=( zhpwI7-#@#lt$jw%oW;0qYvY^+@fGuDw8#7OnT&nAX5kZN*FJvj9fzJhu%SQRI-_Y; zU)S8umiDdD4f7W-p1&&I-ZbX{=)RA4?z^`0xhV%(O&TambL!)#F` z^Qd%|H(i=!-9_}7-xbxjJnD{;`E2jT^;S(iPCw7Jd)Pi>cE8g}?pP4Ly|d?awX{3k zToc_eZ~5~1E73s=r+@aG@1mE3>>%gF=%VIEKcAmV!EM;3&<<}ac6l&isSxm>$NK|E z9I@~Bn+rWXh0Tc*nr61Po{+%y+qrYw6Gt2|dibhUho5#?r_ZYbotJ6-XaM@r*bk2ImVI zme%Y=eoOhiLgI#5CE`-GS=JnH;c`oz(ln&3_Z+_2D@Xb^dgc19R|Q+e+_q?o*J|*0 zMFk9BYXMGQ2O0xjsNvwZcj{3hh+T-{Z%0A3Os0 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%0DMMb(D0RtH+C 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 IC`19c05ZOc4*&oF literal 0 HcmV?d00001 diff --git a/docs/scaladoc/lib/abstract_type.svg b/docs/scaladoc/lib/abstract_type.svg new file mode 100644 index 00000000..8a820529 --- /dev/null +++ b/docs/scaladoc/lib/abstract_type.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a + + + + + + + diff --git a/docs/scaladoc/lib/class.svg b/docs/scaladoc/lib/class.svg new file mode 100644 index 00000000..128f74d1 --- /dev/null +++ b/docs/scaladoc/lib/class.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + C + + + + + + + diff --git a/docs/scaladoc/lib/class_comp.svg b/docs/scaladoc/lib/class_comp.svg new file mode 100644 index 00000000..b457207b --- /dev/null +++ b/docs/scaladoc/lib/class_comp.svg @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + C + + + + + + + + diff --git a/docs/scaladoc/lib/class_diagram.png b/docs/scaladoc/lib/class_diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..9d7aec792bebaea124455ad1918fbf0a7c1fc9a1 GIT binary patch literal 3910 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 span.toggle { + z-index: 9; +} + +.diagram { + overflow: hidden; + padding-top:15px; +} + +.diagram svg { + display: block; + position: absolute; + visibility: hidden; + margin: auto; +} + +.diagram-help { + float:right; + display:none; +} + +.magnifying { + cursor: -webkit-zoom-in ! important; + cursor: -moz-zoom-in ! important; + cursor: pointer; +} + +#close-link { + position: absolute; + z-index: 100; + font-family: Arial, sans-serif; + font-size: 10pt; + text-decoration: underline; + color: #315479; +} + +#close:hover { + text-decoration: none; +} + +#inheritance-diagram-container > span.toggle { + z-index: 2; +} + +.diagram-container.full-screen { + position: fixed !important; + margin: 0; + border-radius: 0; + top: 0em; + bottom: 3em; + left: 0; + width: 100%; + height: 100%; + z-index: 10000; +} + +.diagram-container.full-screen > span.toggle { + display: none; +} + +.diagram-container.full-screen > div.diagram { + position: absolute; + top: 0; right: 0; bottom: 0; left: 0; + margin: auto; +} + +#diagram-controls { + z-index: 2; + position: absolute; + bottom: 1em; + right: 1em; +} + +#diagram-controls > button.diagram-btn { + border-radius: 1.25em; + height: 2.5em; + width: 2.5em; + background-color: #c2c2c2; + color: #fff; + border: 0; + float: left; + margin: 0 0.1em; + cursor: pointer; + line-height: 0.9; + outline: none; +} + +#diagram-controls > button.diagram-btn:hover { + background-color: #e2e2e2; +} + +#diagram-controls > button.diagram-btn > i.material-icons { + font-size: 1.5em; +} + +svg a { + cursor:pointer; +} + +svg text { + font-size: 8.5px; +} + +/* try to move the node text 1px in order to be vertically + * centered (does not work in all browsers) + */ +svg .node text { + transform: translate(0px,1px); + -ms-transform: translate(0px,1px); + -webkit-transform: translate(0px,1px); + -o-transform: translate(0px,1px); + -moz-transform: translate(0px,1px); +} + +/* hover effect for edges */ + +svg .edge.over text, +svg .edge.implicit-incoming.over polygon, +svg .edge.implicit-outgoing.over polygon { + fill: #103A51; +} + +svg .edge.over path, +svg .edge.over polygon { + stroke: #103A51; +} + +/* for hover effect on nodes in diagrams, edit the following */ +svg.class-diagram .node {} +svg.class-diagram .node.this {} +svg.class-diagram .node.over {} + +svg .node.over polygon { + stroke: #202020; +} + +/* hover effect for nodes in package diagrams */ + +svg.package-diagram .node.class.over polygon, +svg.class-diagram .node.this.class.over polygon { + fill: #098552; + fill: #04663e; +} + +svg.package-diagram .node.trait.over polygon, +svg.class-diagram .node.this.trait.over polygon { + fill: #3c7b9b; + fill: #235d7b; +} + +svg.package-diagram .node.type.over polygon, +svg.class-diagram .node.this.type.over polygon { + fill: #098552; + fill: #04663e; +} + + +svg.package-diagram .node.object.over polygon { + fill: #183377; +} + +svg.package-diagram .node.outside.over polygon { + fill: #d4d4d4; +} + +svg.package-diagram .node.default.over polygon { + fill: #d4d4d4; +} diff --git a/docs/scaladoc/lib/diagrams.js b/docs/scaladoc/lib/diagrams.js new file mode 100644 index 00000000..b1373276 --- /dev/null +++ b/docs/scaladoc/lib/diagrams.js @@ -0,0 +1,240 @@ +/** + * JavaScript functions enhancing the SVG diagrams. + * + * @author Damien Obrist + */ + +var diagrams = {}; + +/** + * Initializes the diagrams in the main window. + */ +$(document).ready(function() +{ + // hide diagrams in browsers not supporting SVG + if(Modernizr && !Modernizr.inlinesvg) + return; + + if($("#content-diagram").length) + $("#inheritance-diagram").css("padding-bottom", "20px"); + + $(".diagram-container").css("display", "block"); + + $(".diagram").each(function() { + // store initial dimensions + $(this).data("width", $("svg", $(this)).width()); + $(this).data("height", $("svg", $(this)).height()); + // store unscaled clone of SVG element + $(this).data("svg", $(this).get(0).childNodes[0].cloneNode(true)); + }); + + // make diagram visible, hide container + $(".diagram").css("display", "none"); + $(".diagram svg").css({ + "position": "static", + "visibility": "visible", + "z-index": "auto" + }); + + // enable linking to diagrams + if($(location).attr("hash") == "#inheritance-diagram") { + diagrams.toggle($("#inheritance-diagram-container"), true); + } else if($(location).attr("hash") == "#content-diagram") { + diagrams.toggle($("#content-diagram-container"), true); + } + + $(".diagram-link").click(function() { + diagrams.toggle($(this).parent()); + }); + + // register resize function + $(window).resize(diagrams.resize); + + // don't bubble event to parent div + // when clicking on a node of a resized + // diagram + $("svg a").click(function(e) { + e.stopPropagation(); + }); + + diagrams.initHighlighting(); + + $("button#diagram-fs").click(function() { + $(".diagram-container").toggleClass("full-screen"); + $(".diagram-container > div.diagram").css({ + height: $("svg").height() + "pt" + }); + + $panzoom.panzoom("reset", { animate: false, contain: false }); + }); +}); + +/** + * Initializes highlighting for nodes and edges. + */ +diagrams.initHighlighting = function() +{ + // helper function since $.hover doesn't work in IE + + function hover(elements, fn) + { + elements.mouseover(fn); + elements.mouseout(fn); + } + + // inheritance edges + + hover($("svg .edge.inheritance"), function(evt){ + var toggleClass = evt.type == "mouseout" ? diagrams.removeClass : diagrams.addClass; + var parts = $(this).attr("id").split("_"); + toggleClass($("#" + parts[0] + "_" + parts[1])); + toggleClass($("#" + parts[0] + "_" + parts[2])); + toggleClass($(this)); + }); + + // nodes + + hover($("svg .node"), function(evt){ + var toggleClass = evt.type == "mouseout" ? diagrams.removeClass : diagrams.addClass; + toggleClass($(this)); + var parts = $(this).attr("id").split("_"); + var index = parts[1]; + $("svg#" + parts[0] + " .edge.inheritance").each(function(){ + var parts2 = $(this).attr("id").split("_"); + if(parts2[1] == index) + { + toggleClass($("#" + parts2[0] + "_" + parts2[2])); + toggleClass($(this)); + } else if(parts2[2] == index) + { + toggleClass($("#" + parts2[0] + "_" + parts2[1])); + toggleClass($(this)); + } + }); + }); + + // incoming implicits + + hover($("svg .node.implicit-incoming"), function(evt){ + var toggleClass = evt.type == "mouseout" ? diagrams.removeClass : diagrams.addClass; + toggleClass($(this)); + toggleClass($("svg .edge.implicit-incoming")); + toggleClass($("svg .node.this")); + }); + + hover($("svg .edge.implicit-incoming"), function(evt){ + var toggleClass = evt.type == "mouseout" ? diagrams.removeClass : diagrams.addClass; + toggleClass($(this)); + toggleClass($("svg .node.this")); + $("svg .node.implicit-incoming").each(function(){ + toggleClass($(this)); + }); + }); + + // implicit outgoing nodes + + hover($("svg .node.implicit-outgoing"), function(evt){ + var toggleClass = evt.type == "mouseout" ? diagrams.removeClass : diagrams.addClass; + toggleClass($(this)); + toggleClass($("svg .edge.implicit-outgoing")); + toggleClass($("svg .node.this")); + }); + + hover($("svg .edge.implicit-outgoing"), function(evt){ + var toggleClass = evt.type == "mouseout" ? diagrams.removeClass : diagrams.addClass; + toggleClass($(this)); + toggleClass($("svg .node.this")); + $("svg .node.implicit-outgoing").each(function(){ + toggleClass($(this)); + }); + }); +}; + +/** + * Resizes the diagrams according to the available width. + */ +diagrams.resize = function() { + // available width + var availableWidth = $(".diagram-container").width(); + + $(".diagram-container").each(function() { + // unregister click event on whole div + $(".diagram", this).unbind("click"); + var diagramWidth = $(".diagram", this).data("width"); + var diagramHeight = $(".diagram", this).data("height"); + + if (diagramWidth > availableWidth) { + // resize diagram + var height = diagramHeight / diagramWidth * availableWidth; + $(".diagram svg", this).width(availableWidth); + $(".diagram svg", this).height(height); + } else { + // restore full size of diagram + $(".diagram svg", this).width(diagramWidth); + $(".diagram svg", this).height(diagramHeight); + // don't show custom cursor any more + $(".diagram", this).removeClass("magnifying"); + } + }); +}; + +/** + * Shows or hides a diagram depending on its current state. + */ +diagrams.toggle = function(container, dontAnimate) +{ + // change class of link + $(".diagram-link", container).toggleClass("open"); + // get element to show / hide + var div = $(".diagram", container); + if (div.is(':visible')) { + $(".diagram-help", container).hide(); + div.unbind("click"); + div.slideUp(100); + + $("#diagram-controls", container).hide(); + $("#inheritance-diagram-container").unbind('mousewheel.focal'); + } else { + diagrams.resize(); + if(dontAnimate) + div.show(); + else + div.slideDown(100); + $(".diagram-help", container).show(); + + $("#diagram-controls", container).show(); + + $(".diagram-container").on('mousewheel.focal', function(e) { + e.preventDefault(); + var delta = e.delta || e.originalEvent.wheelDelta; + var zoomOut = delta ? delta < 0 : e.originalEvent.deltaY > 0; + $panzoom.panzoom('zoom', zoomOut, { + increment: 0.1, + animate: true, + focal: e + }); + }); + } +}; + +/** + * Helper method that adds a class to a SVG element. + */ +diagrams.addClass = function(svgElem, newClass) { + newClass = newClass || "over"; + var classes = svgElem.attr("class"); + if ($.inArray(newClass, classes.split(/\s+/)) == -1) { + classes += (classes ? ' ' : '') + newClass; + svgElem.attr("class", classes); + } +}; + +/** + * Helper method that removes a class from a SVG element. + */ +diagrams.removeClass = function(svgElem, oldClass) { + oldClass = oldClass || "over"; + var classes = svgElem.attr("class"); + classes = $.grep(classes.split(/\s+/), function(n, i) { return n != oldClass; }).join(' '); + svgElem.attr("class", classes); +}; diff --git a/docs/scaladoc/lib/index.css b/docs/scaladoc/lib/index.css new file mode 100644 index 00000000..bbff0c93 --- /dev/null +++ b/docs/scaladoc/lib/index.css @@ -0,0 +1,924 @@ +/* Fonts */ +@font-face { + font-family: 'Lato'; + font-style: normal; + font-weight: 100; + src: url('lato-v11-latin-regular.eot'); + src: local('Lato'), local('Lato'), + url('lato-v11-latin-100.eot?#iefix') format('embedded-opentype'), + url('lato-v11-latin-100.woff') format('woff'), + url('lato-v11-latin-100.ttf') format('truetype'); +} + +@font-face { + font-family: 'Lato'; + font-style: normal; + font-weight: 400; + src: url('lato-v11-latin-regular.eot'); + src: local('Lato'), local('Lato'), + url('lato-v11-latin-regular.eot?#iefix') format('embedded-opentype'), + url('lato-v11-latin-regular.woff') format('woff'), + url('lato-v11-latin-regular.ttf') format('truetype'); +} + +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + src: url('open-sans-v13-latin-regular.eot'); + src: local('Open Sans'), local('OpenSans'), + url('open-sans-v13-latin-regular.eot?#iefix') format('embedded-opentype'), + url('open-sans-v13-latin-regular.woff') format('woff'), + url('open-sans-v13-latin-regular.ttf') format('truetype'); +} +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + src: url('open-sans-v13-latin-400i.eot'); + src: local('Open Sans Italic'), local('OpenSans-Italic'), + url('open-sans-v13-latin-400i.eot?#iefix') format('embedded-opentype'), + url('open-sans-v13-latin-400i.woff') format('woff'), + url('open-sans-v13-latin-400i.ttf') format('truetype'); +} +@font-face { + font-family: 'Open Sans'; + font-style: oblique; + font-weight: 400; + src: url('open-sans-v13-latin-400i.eot'); + src: local('Open Sans Italic'), local('OpenSans-Italic'), + url('open-sans-v13-latin-400i.eot?#iefix') format('embedded-opentype'), + url('open-sans-v13-latin-400i.woff') format('woff'), + url('open-sans-v13-latin-400i.ttf') format('truetype'); +} +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + src: url('open-sans-v13-latin-700.eot'); + src: local('Open Sans Bold'), local('OpenSans-Bold'), + url('open-sans-v13-latin-700.eot?#iefix') format('embedded-opentype'), + url('open-sans-v13-latin-700.woff') format('woff'), + url('open-sans-v13-latin-700.ttf') format('truetype'); +} +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 700; + src: url('open-sans-v13-latin-700i.eot'); + src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), + url('open-sans-v13-latin-700i.eot?#iefix') format('embedded-opentype'), + url('open-sans-v13-latin-700i.woff') format('woff'), + url('open-sans-v13-latin-700i.ttf') format('truetype'); +} +@font-face { + font-family: 'Open Sans'; + font-style: oblique; + font-weight: 700; + src: url('open-sans-v13-latin-700i.eot'); + src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), + url('open-sans-v13-latin-700i.eot?#iefix') format('embedded-opentype'), + url('open-sans-v13-latin-700i.woff') format('woff'), + url('open-sans-v13-latin-700i.ttf') format('truetype'); +} + +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 400; + src: url('source-code-pro-v6-latin-regular.eot'); + src: local('Source Code Pro'), local('SourceCodePro-Regular'), + url('source-code-pro-v6-latin-regular.eot?#iefix') format('embedded-opentype'), + url('source-code-pro-v6-latin-regular.woff') format('woff'), + url('source-code-pro-v6-latin-regular.ttf') format('truetype'); +} +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 700; + src: url('source-code-pro-v6-latin-700.eot'); + src: local('Source Code Pro Bold'), local('SourceCodePro-Bold'), + url('source-code-pro-v6-latin-700.eot?#iefix') format('embedded-opentype'), + url('source-code-pro-v6-latin-700.woff') format('woff'), + url('source-code-pro-v6-latin-700.ttf') format('truetype'); +} + +* { + color: inherit; + text-decoration: none; + font-family: "Lato", Arial, sans-serif; + border-width: 0px; + margin: 0px; +} + +a { + cursor: pointer; + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +span.entity > a { + padding: 0.1em 0.5em; + margin-left: 0.2em; +} + +span.entity > a.selected { + background-color: #C2D2DC; + border-radius: 0.2em; +} + +html { + background-color: #f0f3f6; + box-sizing: border-box; +} +*, *:before, *:after { + box-sizing: inherit; +} + +textarea, input { outline: none; } + +#library { + display: none; +} + +#browser { + width: 17.5em; + top: 0px; + left: 0; + bottom: 0px; + display: block; + position: fixed; + background-color: #f0f3f6; +} + +#browser.full-screen { + left: -17.5em; +} + +#search { + background-color: #103a51; /* typesafe blue */ + min-height: 5.5em; + position: fixed; + top: 0; + left: 0; + right: 0; + height: 3em; + min-height: initial; + z-index: 103; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.18), 0 4px 8px rgba(0, 0, 0, 0.28); +} + +#search > h1 { + font-size: 2em; + position: absolute; + left: 0.25em; + top: 0.5em; +} + +#search > h2 { + position: absolute; + left: 3.8em; + top: 3em; +} + +#search > img.scala-logo { + width: 3em; + height: auto; + position: absolute; + left: 5.8em; + top: 0.43em; +} + +#search > span.toggle-sidebar { + position: absolute; + top: 0.8em; + left: 0.2em; + color: #fff; + z-index: 99; + width: 1.5em; + height: 1.5em; +} + +#search > span#doc-title { + color: #fff; + position: absolute; + top: 0.8em; + left: 0; + width: 18em; + text-align: center; + cursor: pointer; + z-index: 2; +} + +#search > span#doc-title > span#doc-version { + color: #c2c2c2; + font-weight: 100; + font-size: 0.72em; + display: inline-block; + width: 12ex; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +#search > span#doc-title > span#doc-version:hover { + overflow: visible; +} + +#search > span.toggle-sidebar:hover { + cursor: pointer; +} + +/* Pseudo element replacing UTF8-symbol "Trigram From Heaven" */ +#search > span.toggle-sidebar:before { + position: absolute; + top: -0.45em; + left: 0.45em; + content: ""; + display: block; + width: 0.7em; + -webkit-box-shadow: 0 0.8em 0 1px #fff, 0 1.1em 0 1px #fff, 0 1.4em 0 1px #fff; + box-shadow: 0 0.8em 0 1px #fff, 0 1.1em 0 1px #fff, 0 1.4em 0 1px #fff; +} + +#search > span.toggle-sidebar:hover:before { + -webkit-box-shadow: 0 0.8em 0 1px #c2c2c2, 0 1.1em 0 1px #c2c2c2, 0 1.4em 0 1px #c2c2c2; + box-shadow: 0 0.8em 0 1px #c2c2c2, 0 1.1em 0 1px #c2c2c2, 0 1.4em 0 1px #c2c2c2; +} + +#textfilter > .pre { + display: block; + position: absolute; + top: 0; + left: 0; + height: 23px; + width: 21px; +} + +#textfilter { + position: absolute; + top: 0.5em; + bottom: 0.8em; + left: 0; + right: 0; + display: block; + height: 2em; +} + +#textfilter > .input { + position: relative; + display: block; + padding: 0.2em; + max-width: 48.5em; + margin: 0 auto; +} + +#textfilter > .input > i#search-icon { + color: rgba(255,255,255, 0.4); + position: absolute; + left: 0.34em; + top: 0.3em; + font-size: 1.3rem; +} + +#textfilter > span.toggle { + cursor: pointer; + padding-left: 15px; + position: absolute; + left: -0.55em; + top: 3em; + z-index: 99; + color: #fff; + font-size: 0.8em; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +#textfilter > span.toggle:hover { + color: #c2c2c2; +} + +#textfilter > span.toggle:hover { + cursor: pointer; +} + +#textfilter > .hide:hover { + cursor: pointer; + color: #a2a2a2; +} + +#textfilter > .input > input { + font-family: "Open Sans"; + font-size: 0.85em; + height: 2em; + padding: 0 0 0 2.1em; + color: #fff; + width: 100%; + border-radius: 0.2em; + background: rgba(255, 255, 255, 0.2); +} + + +#textfilter > .input > input::-webkit-input-placeholder { + color: rgba(255, 255, 255, 0.4); +} + +#textfilter > .input > input::-moz-placeholder { + color: rgba(255, 255, 255, 0.4); +} + +#textfilter > .input > input:-ms-input-placeholder { + color: rgba(255, 255, 255, 0.4); +} + +#textfilter > .input > input:-moz-placeholder { + color: rgba(255, 255, 255, 0.4); +} + +#focusfilter > .focusremove:hover { + text-decoration: none; +} + +#textfilter > .input > .clear { + display: none; + position: absolute; + font-size: 0.9em; + top: 0.7em; + right: 0.1em; + height: 23px; + width: 21px; + color: rgba(255, 255, 255, 0.4); +} + +#textfilter > .input > .clear:hover { + cursor: pointer; + color: #fff; +} + +#focusfilter { + font-size: 0.9em; + position: relative; + text-align: center; + display: none; + padding: 0.6em; + background-color: #f16665; + color: #fff; + margin: 3.9em 0.55em 0 0.35em; + border-radius: 0.2em; + z-index: 1; +} + +div#search-progress { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 0.25em; +} + +div#search-progress > div#progress-fill { + width: 0%; + background-color: #f16665; + transition: 0.1s; +} + +#focusfilter .focuscoll { + font-weight: bold; +} + +#focusfilter a.focusremove { + margin-left: 0.2em; + font-size: 0.9em; +} + +#kindfilter-container { + position: fixed; + display: block; + z-index: 99; + bottom: 0.5em; + left: 0; + width: 17.25em; +} + +#kindfilter { + float: right; + text-align: center; + padding: 0.3em 1em; + border-radius: 0.8em; + background: #f16665; + border-bottom: 2px solid #d64546; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + color: #fff; + font-size: 0.8em; +} + +#kindfilter:hover { + cursor: pointer; + background-color: rgb(226, 87, 88); +} + +#letters { + position: relative; + text-align: center; + border: 0; + margin-top: 0em; + color: #fff; +} + +#letters > a, #letters > span { + color: #fff; + font-size: 0.67em; + padding-right: 2px; +} + +#letters > a:hover { + text-decoration: none; + color: #c2c2c2; +} + +#letters > span { + color: #bbb; +} + +div#content-scroll-container { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 100; + overflow-x: hidden; + overflow-y: auto; +} + +div#content-container { + max-width: 1140px; + margin: 0 auto; +} + +div#content-container > div#content { + -webkit-overflow-scrolling: touch; + display: block; + overflow-y: hidden; + max-width: 1140px; + margin: 4em auto 0; +} + +div#content-container > div#subpackage-spacer { + float: right; + height: 100%; + margin: 1.1rem 0.5rem 0 0.5em; + font-size: 0.8em; + min-width: 8rem; + max-width: 16rem; +} + +div#packages > h1 { + color: #103a51; +} + +div#packages > ul { + list-style-type: none; +} + +div#packages > ul > li { + position: relative; + margin: 0.5rem 0; + width: 100%; + border-radius: 0.2em; + min-height: 1.5em; + padding-left: 2em; +} + +div#packages > ul > li.current-entities { + margin: 0.3rem 0; +} + +div#packages > ul > li.current:hover { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + cursor: pointer; +} + +div#packages > ul > li.current-entities > *:nth-child(1), +div#packages > ul > li.current-entities > *:nth-child(2) { + float: left; + display: inline; + height: 1rem; + width: 1rem; + margin: 1px 0 0 0; + cursor: pointer; +} + +div#packages > ul > li > a.class { + background: url("class.svg") no-repeat center; + background-size: 0.9rem; +} + +div#packages > ul > li > a.trait { + background: url("trait.svg") no-repeat center; + background-size: 0.9rem; +} + +div#packages > ul > li > a.object { + background: url("object.svg") no-repeat center; + background-size: 0.9rem; +} + +div#packages > ul > li > a.abstract.type { + background: url("abstract_type.svg") no-repeat center; + background-size: 0.9rem; +} + +div#packages > ul > li > a { + text-decoration: none !important; + margin-left: 1px; + font-family: "Source Code Pro", "Monaco", "Ubuntu Mono Regular", "Lucida Console", monospace; + font-size: 0.9em; +} + +/* Indentation levels for packages */ +div#packages > ul > li.indented0 { padding-left: 0em; } +div#packages > ul > li.indented1 { padding-left: 1em; } +div#packages > ul > li.indented2 { padding-left: 2em; } +div#packages > ul > li.indented3 { padding-left: 3em; } +div#packages > ul > li.indented4 { padding-left: 4em; } +div#packages > ul > li.indented5 { padding-left: 5em; } +div#packages > ul > li.indented6 { padding-left: 6em; } +div#packages > ul > li.indented7 { padding-left: 7em; } +div#packages > ul > li.indented8 { padding-left: 8em; } +div#packages > ul > li.indented9 { padding-left: 9em; } +div#packages > ul > li.indented10 { padding-left: 10em; } +div#packages > ul > li.current.indented0 { padding-left: -0.5em } +div#packages > ul > li.current.indented1 { padding-left: 0.5em } +div#packages > ul > li.current.indented2 { padding-left: 1.5em } +div#packages > ul > li.current.indented3 { padding-left: 2.5em } +div#packages > ul > li.current.indented4 { padding-left: 3.5em } +div#packages > ul > li.current.indented5 { padding-left: 4.5em } +div#packages > ul > li.current.indented6 { padding-left: 5.5em } +div#packages > ul > li.current.indented7 { padding-left: 6.5em } +div#packages > ul > li.current.indented8 { padding-left: 7.5em } +div#packages > ul > li.current.indented9 { padding-left: 8.5em } +div#packages > ul > li.current.indented10 { padding-left: 9.5em } + +div#packages > ul > li.current > span.symbol { + border-left: 0.25em solid #72D0EB; + padding-left: 0.25em; +} + +div#packages > ul > li > span.symbol > a { + text-decoration: none; +} + +div#packages > ul > li > span.symbol > span.name { + font-weight: normal; +} + +div#packages > ul > li .fullcomment, +div#packages > ul > li .modifier_kind, +div#packages > ul > li .permalink, +div#packages > ul > li .shortcomment { + display: none; +} + +div#search-results { + color: #103a51; + position: absolute; + left: 0; + top: 3em; + right: 0; + bottom: 0; + background-color: rgb(240, 243, 246); + z-index: 101; + overflow-x: hidden; + display: none; + padding: 1em; + -webkit-overflow-scrolling: touch; +} + +div#search > span.close-results { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + position: fixed; + top: 0.8em; + left: 1em; + color: #fff; + display: none; + z-index: 1; +} + +div#search > span.close-results:hover { + cursor: pointer; +} + +div#results-content { + max-width: 1140px; + margin: 0 auto; +} + +div#results-content > span.search-text { + margin-left: 1em; + font-size: 1.2em; + float: left; + width: 100%; +} + +div#results-content > span.search-text > span.query-str { + font-weight: 900; +} + +div#results-content > div > h1.result-type { + font-size: 1.5em; + margin: 1em 0 0.3em; + font-family: "Open Sans"; + font-weight: 300; + border-bottom: 1px solid #103a51; +} + +div#results-content > div#entity-results { + float: left; + width: 50%; + padding: 1em; + display: inline; +} + +div#results-content > div#member-results { + float: left; + width: 50%; + padding: 1em; + display: inline; +} + +div#results-content > div#member-results > a.package, +div#results-content > div#entity-results > a.package { + font-size: 1em; + margin: 0 0 1em 0; + color: #f16665; + cursor: pointer; +} + +div#results-content > div#member-results > ul.entities, +div#results-content > div#entity-results > ul.entities { + list-style-type: none; + padding-left: 0; +} + +div#results-content > div#member-results > ul.entities > li, +div#results-content > div#entity-results > ul.entities > li { + margin: 0.5em 0; +} + +div#results-content > div#member-results > ul.entities > li > .icon, +div#results-content > div#entity-results > ul.entities > li > .icon { + float: left; + display: inline; + height: 1em; + width: 1em; + margin: 0.23em 0 0; + cursor: pointer; +} + +div#results-content > div#member-results > ul.entities > li > .icon.class, +div#results-content > div#entity-results > ul.entities > li > .icon.class { + background: url("class.svg") no-repeat center; + background-size: 1em 1em; +} + +div#results-content > div#member-results > ul.entities > li > .icon.trait, +div#results-content > div#entity-results > ul.entities > li > .icon.trait { + background: url("trait.svg") no-repeat center; + background-size: 1em 1em; +} + +div#results-content > div#member-results > ul.entities > li > .icon.object, +div#results-content > div#entity-results > ul.entities > li > .icon.object { + background: url("object.svg") no-repeat center; + background-size: 1em 1em; +} + +div#results-content > div#member-results > ul.entities > li > span.entity, +div#results-content > div#entity-results > ul.entities > li > span.entity { + font-size: 1.1em; + font-weight: 900; +} + +div#results-content > div#member-results > ul.entities > li > ul.members, +div#results-content > div#entity-results > ul.entities > li > ul.members { + margin-top: 0.5em; + list-style-type: none; + font-size: 0.85em; + margin-left: 0.2em; +} + +div#results-content > div#member-results > ul.entities > li > ul.members > li, +div#results-content > div#entity-results > ul.entities > li > ul.members > li { + margin: 0.5em 0; +} + +div#results-content > div#member-results > ul.entities > li > ul.members > li > span.kind, +div#results-content > div#member-results > ul.entities > li > ul.members > li > span.tail, +div#results-content > div#entity-results > ul.entities > li > ul.members > li > span.kind, +div#results-content > div#entity-results > ul.entities > li > ul.members > li > span.tail { + margin-right: 0.6em; + font-family: "Source Code Pro", "Monaco", "Ubuntu Mono Regular", "Lucida Console", monospace; +} + +div#results-content > div#member-results > ul.entities > li > ul.members > li > span.kind { + font-weight: 600; +} + +div#results-content > div#member-results > ul.entities > li > ul.members > li > a.label, +div#results-content > div#entity-results > ul.entities > li > ul.members > li > a.label { + color: #2C3D9B; + font-family: "Source Code Pro", "Monaco", "Ubuntu Mono Regular", "Lucida Console", monospace; +} + +/** Scrollpane settings needed for jquery.scrollpane.min.js */ +.jspContainer { + overflow: hidden; + position: relative; +} + +.jspPane { + position: absolute; +} + +.jspVerticalBar { + position: absolute; + top: 0; + right: 0; + width: 0.6em; + height: 100%; + background: transparent; +} + +.jspHorizontalBar { + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 16px; + background: red; +} + +.jspCap { + display: none; +} + +.jspHorizontalBar .jspCap { + float: left; +} + +.jspTrack { + background: #f0f3f6; + position: relative; +} + +.jspDrag { + display: none; + background: rgba(0, 0, 0, 0.35); + position: relative; + top: 0; + left: 0; + cursor: pointer; +} + +#tpl:hover .jspDrag { + display: block; +} + +.jspHorizontalBar .jspTrack, +.jspHorizontalBar .jspDrag { + float: left; + height: 100%; +} + +.jspArrow { + background: #50506d; + text-indent: -20000px; + display: block; + cursor: pointer; + padding: 0; + margin: 0; +} + +.jspArrow.jspDisabled { + cursor: default; + background: #80808d; +} + +.jspVerticalBar .jspArrow { + height: 16px; +} + +.jspHorizontalBar .jspArrow { + width: 16px; + float: left; + height: 100%; +} + +.jspVerticalBar .jspArrow:focus { + outline: none; +} + +.jspCorner { + background: #eeeef4; + float: left; + height: 100%; +} + +/* CSS Hack for IE6 3 pixel bug */ +* html .jspCorner { + margin: 0 -3px 0 0; +} + +/* Media query rules for smaller viewport */ +@media only screen /* Large screen with a small window */ +and (max-width: 1300px) +{ + #textfilter { + left: 17.8em; + right: 0.35em; + } + + #textfilter .input { + max-width: none; + margin: 0; + } +} + +@media only screen /* Large screen with a smaller window */ +and (max-width: 800px) +{ + div#results-content > div#entity-results { + width: 100%; + padding: 0em; + } + + div#results-content > div#member-results { + width: 100%; + padding: 0em; + } +} + +/* Media query rules specifically for mobile devices */ +@media +screen /* HiDPI device like Nexus 5 */ +and (max-device-width: 360px) +and (max-device-height: 640px) +and (-webkit-device-pixel-ratio: 3) +, +screen /* Most mobile devices */ +and (max-device-width: 480px) +and (orientation: portrait) +, +only screen /* iPhone 6 */ +and (max-device-width: 667px) +and (-webkit-device-pixel-ratio: 2) +{ + div#content-container > div#subpackage-spacer { + display: none; + } + + div#content-container > div#content { + margin: 3.3em auto 0; + } + + #search > span#doc-title { + width: 100%; + text-align: left; + padding-left: 0.7em; + top: 0.95em; + z-index: 1; + } + + #search > div#textfilter { + z-index: 2; + } + + #search > span#doc-title > span#doc-version { + display: none; + } + + #textfilter { + left: 12.2em; + } +} diff --git a/docs/scaladoc/lib/index.js b/docs/scaladoc/lib/index.js new file mode 100644 index 00000000..087c975a --- /dev/null +++ b/docs/scaladoc/lib/index.js @@ -0,0 +1,610 @@ +// © 2009–2010 EPFL/LAMP +// code by Gilles Dubochet with contributions by Johannes Rudolph, "spiros", Marcin Kubala and Felix Mulder + +var scheduler = undefined; + +var title = $(document).attr('title'); + +var lastFragment = ""; + +var Index = {}; +(function (ns) { + ns.keyLength = 0; + ns.keys = function (obj) { + var result = []; + var key; + for (key in obj) { + result.push(key); + ns.keyLength++; + } + return result; + } +})(Index); + +/** Find query string from URL */ +var QueryString = function(key) { + if (QueryString.map === undefined) { // only calc once + QueryString.map = {}; + var keyVals = window.location.search.split("?").pop().split("&"); + keyVals.forEach(function(elem) { + var pair = elem.split("="); + if (pair.length == 2) QueryString.map[pair[0]] = pair[1]; + }); + } + + return QueryString.map[key]; +}; + +$(document).ready(function() { + // Clicking #doc-title returns the user to the root package + $("#doc-title").click(function() { document.location = toRoot + "index.html" }); + + scheduler = new Scheduler(); + scheduler.addLabel("init", 1); + scheduler.addLabel("focus", 2); + scheduler.addLabel("filter", 4); + scheduler.addLabel("search", 5); + + configureTextFilter(); + + $("#index-input").on("input", function(e) { + if($(this).val().length > 0) + $("#textfilter > .input > .clear").show(); + else + $("#textfilter > .input > .clear").hide(); + }); + + if (QueryString("search") !== undefined) { + $("#index-input").val(QueryString("search")); + searchAll(); + } +}); + +/* Handles all key presses while scrolling around with keyboard shortcuts in search results */ +function handleKeyNavigation() { + /** Iterates both back and forth among selected elements */ + var EntityIterator = function (litems, ritems) { + var it = this; + this.index = -1; + + this.items = litems; + this.litems = litems; + this.ritems = ritems; + + if (litems.length == 0) + this.items = ritems; + + /** Returns the next entry - if trying to select past last element, it + * returns the last element + */ + it.next = function() { + it.index = Math.min(it.items.length - 1, it.index + 1); + return $(it.items[it.index]); + }; + + /** Returns the previous entry - will return `undefined` instead if + * selecting up from first element + */ + it.prev = function() { + it.index = Math.max(-1, it.index - 1); + return it.index == -1 ? undefined : $(it.items[it.index]); + }; + + it.right = function() { + if (it.ritems.length != 0) { + it.items = it.ritems; + it.index = Math.min(it.index, it.items.length - 1); + } + return $(it.items[it.index]); + }; + + it.left = function() { + if (it.litems.length != 0) { + it.items = it.litems; + it.index = Math.min(it.index, it.items.length - 1); + } + return $(it.items[it.index]); + }; + }; + + /** Scroll helper, ensures that the selected elem is inside the viewport */ + var Scroller = function ($container) { + scroller = this; + scroller.container = $container; + + scroller.scrollDown = function($elem) { + var offset = $elem.offset(); // offset relative to viewport + if (offset !== undefined) { + var yPos = offset.top; + if ($container.height() < yPos || (yPos - $("#search").height()) < 0) { + $container.animate({ + scrollTop: $container.scrollTop() + yPos - $("#search").height() - 10 + }, 200); + } + } + }; + + scroller.scrollUp = function ($elem) { + var offset = $elem.offset(); // offset relative to viewport + if (offset !== undefined) { + var yPos = offset.top; + if (yPos < $("#search").height()) { + $container.animate({ + scrollTop: $container.scrollTop() + yPos - $("#search").height() - 10 + }, 200); + } + } + }; + + scroller.scrollTop = function() { + $container.animate({ + scrollTop: 0 + }, 200); + } + }; + + scheduler.add("init", function() { + $("#textfilter input").blur(); + var items = new EntityIterator( + $("div#results-content > div#entity-results > ul.entities span.entity > a").toArray(), + $("div#results-content > div#member-results > ul.entities span.entity > a").toArray() + ); + + var scroller = new Scroller($("#search-results")); + + var $old = items.next(); + $old.addClass("selected"); + scroller.scrollDown($old); + + $(window).bind("keydown", function(e) { + switch ( e.keyCode ) { + case 9: // tab + $old.removeClass("selected"); + break; + + case 13: // enter + var href = $old.attr("href"); + location.replace(href); + $old.click(); + $("#textfilter input").attr("value", ""); + break; + + case 27: // escape + $("#textfilter input").attr("value", ""); + $("div#search-results").hide(); + $("#search > span.close-results").hide(); + $("#search > span#doc-title").show(); + break; + + case 37: // left + var oldTop = $old.offset().top; + $old.removeClass("selected"); + $old = items.left(); + $old.addClass("selected"); + + (oldTop - $old.offset().top < 0 ? scroller.scrollDown : scroller.scrollUp)($old); + break; + + case 38: // up + $old.removeClass('selected'); + $old = items.prev(); + + if ($old === undefined) { // scroll past top + $(window).unbind("keydown"); + $("#textfilter input").focus(); + scroller.scrollTop(); + return false; + } else { + $old.addClass("selected"); + scroller.scrollUp($old); + } + break; + + case 39: // right + var oldTop = $old.offset().top; + $old.removeClass("selected"); + $old = items.right(); + $old.addClass("selected"); + + (oldTop - $old.offset().top < 0 ? scroller.scrollDown : scroller.scrollUp)($old); + break; + + case 40: // down + $old.removeClass("selected"); + $old = items.next(); + $old.addClass("selected"); + scroller.scrollDown($old); + break; + } + }); + }); +} + +/* Configures the text filter */ +function configureTextFilter() { + scheduler.add("init", function() { + var input = $("#textfilter input"); + input.bind('keyup', function(event) { + switch ( event.keyCode ) { + case 27: // escape + input.attr("value", ""); + $("div#search-results").hide(); + $("#search > span.close-results").hide(); + $("#search > span#doc-title").show(); + break; + + case 38: // up arrow + return false; + + case 40: // down arrow + $(window).unbind("keydown"); + handleKeyNavigation(); + return false; + } + + searchAll(); + }); + }); + scheduler.add("init", function() { + $("#textfilter > .input > .clear").click(function() { + $("#textfilter input").attr("value", ""); + $("div#search-results").hide(); + $("#search > span.close-results").hide(); + $("#search > span#doc-title").show(); + + $(this).hide(); + }); + }); + + scheduler.add("init", function() { + $("div#search > span.close-results").click(function() { + $("div#search-results").hide(); + $("#search > span.close-results").hide(); + $("#search > span#doc-title").show(); + $("#textfilter input").attr("value", ""); + }); + }); +} + +function compilePattern(query) { + var escaped = query.replace(/([\.\*\+\?\|\(\)\[\]\\])/g, '\\$1'); + + if (query.toLowerCase() != query) { + // Regexp that matches CamelCase subbits: "BiSe" is + // "[a-z]*Bi[a-z]*Se" and matches "BitSet", "ABitSet", ... + return new RegExp(escaped.replace(/([A-Z])/g,"[a-z]*$1")); + } + else { // if query is all lower case make a normal case insensitive search + return new RegExp(escaped, "i"); + } +} + +/** Searches packages for entites matching the search query using a regex + * + * @param {[Object]} pack: package being searched + * @param {RegExp} regExp: a regular expression for finding matching entities + */ +function searchPackage(pack, regExp) { + scheduler.add("search", function() { + var entities = Index.PACKAGES[pack]; + var matched = []; + var notMatching = []; + + scheduler.add("search", function() { + searchMembers(entities, regExp, pack); + }); + + entities.forEach(function (elem) { + regExp.test(elem.name) ? matched.push(elem) : notMatching.push(elem); + }); + + var results = { + "matched": matched, + "package": pack + }; + + scheduler.add("search", function() { + handleSearchedPackage(results, regExp); + setProgress(); + }); + }); +} + +function searchMembers(entities, regExp, pack) { + var memDiv = document.getElementById("member-results"); + var packLink = document.createElement("a"); + packLink.className = "package"; + packLink.appendChild(document.createTextNode(pack)); + packLink.style.display = "none"; + packLink.title = pack; + packLink.href = toRoot + urlFriendlyEntity(pack).replace(new RegExp("\\.", "g"), "/") + "/index.html"; + memDiv.appendChild(packLink); + + var entityUl = document.createElement("ul"); + entityUl.className = "entities"; + memDiv.appendChild(entityUl); + + entities.forEach(function(entity) { + var entityLi = document.createElement("li"); + var name = entity.name.split('.').pop() + + var iconElem = document.createElement("a"); + iconElem.className = "icon " + entity.kind; + iconElem.title = name + " " + entity.kind; + iconElem.href = toRoot + entity[entity.kind]; + entityLi.appendChild(iconElem); + + if (entity.kind != "object" && entity.object) { + var companion = document.createElement("a"); + companion.className = "icon object"; + companion.title = name + " companion object"; + companion.href = toRoot + entity.object; + entityLi.insertBefore(companion, iconElem); + } else { + var spacer = document.createElement("div"); + spacer.className = "icon spacer"; + entityLi.insertBefore(spacer, iconElem); + } + + var nameElem = document.createElement("span"); + nameElem.className = "entity"; + + var entityUrl = document.createElement("a"); + entityUrl.title = entity.shortDescription ? entity.shortDescription : name; + entityUrl.href = toRoot + entity[entity.kind]; + entityUrl.appendChild(document.createTextNode(name)); + + nameElem.appendChild(entityUrl); + entityLi.appendChild(nameElem); + + var membersUl = document.createElement("ul"); + membersUl.className = "members"; + entityLi.appendChild(membersUl); + + + searchEntity(entity, membersUl, regExp) + .then(function(res) { + if (res.length > 0) { + packLink.style.display = "block"; + entityUl.appendChild(entityLi); + } + }); + }); +} + +/** This function inserts `li` into the `ul` ordered by the li's id + * + * @param {Node} ul: the list in which to insert `li` + * @param {Node} li: item to insert + */ +function insertSorted(ul, li) { + var lis = ul.childNodes; + var beforeLi = null; + + for (var i = 0; i < lis.length; i++) { + if (lis[i].id > li.id) + beforeLi = lis[i]; + } + + // if beforeLi == null, it will be inserted last + ul.insertBefore(li, beforeLi); +} + +/** Defines the callback when a package has been searched and searches its + * members + * + * It will search all entities which matched the regExp. + * + * @param {Object} res: this is the searched package. It will contain the map + * from the `searchPackage`function. + * @param {RegExp} regExp + */ +function handleSearchedPackage(res, regExp) { + $("div#search-results").show(); + $("#search > span.close-results").show(); + $("#search > span#doc-title").hide(); + + var searchRes = document.getElementById("results-content"); + var entityDiv = document.getElementById("entity-results"); + + var packLink = document.createElement("a"); + packLink.className = "package"; + packLink.title = res.package; + packLink.href = toRoot + urlFriendlyEntity(res.package).replace(new RegExp("\\.", "g"), "/") + "/index.html"; + packLink.appendChild(document.createTextNode(res.package)); + + if (res.matched.length == 0) + packLink.style.display = "none"; + + entityDiv.appendChild(packLink); + + var ul = document.createElement("ul") + ul.className = "entities"; + + // Generate html list items from results + res.matched + .map(function(entity) { return listItem(entity, regExp); }) + .forEach(function(li) { ul.appendChild(li); }); + + entityDiv.appendChild(ul); +} + +/** Searches an entity asynchronously for regExp matches in an entity's members + * + * @param {Object} entity: the entity to be searched + * @param {Node} ul: the list in which to insert the list item created + * @param {RegExp} regExp + */ +function searchEntity(entity, ul, regExp) { + return new Promise(function(resolve, reject) { + var allMembers = + (entity.members_trait || []) + .concat(entity.members_class || []) + .concat(entity.members_object || []) + + var matchingMembers = $.grep(allMembers, function(member, i) { + return regExp.test(member.label); + }); + + resolve(matchingMembers); + }) + .then(function(res) { + res.forEach(function(elem) { + var kind = document.createElement("span"); + kind.className = "kind"; + kind.appendChild(document.createTextNode(elem.kind)); + + var label = document.createElement("a"); + label.title = elem.label; + label.href = toRoot + elem.link; + label.className = "label"; + label.appendChild(document.createTextNode(elem.label)); + + var tail = document.createElement("span"); + tail.className = "tail"; + tail.appendChild(document.createTextNode(elem.tail)); + + var li = document.createElement("li"); + li.appendChild(kind); + li.appendChild(label); + li.appendChild(tail); + + ul.appendChild(li); + }); + return res; + }); +} + +/** Creates a list item representing an entity + * + * @param {Object} entity, the searched entity to be displayed + * @param {RegExp} regExp + * @return {Node} list item containing entity + */ +function listItem(entity, regExp) { + var name = entity.name.split('.').pop() + var nameElem = document.createElement("span"); + nameElem.className = "entity"; + + var entityUrl = document.createElement("a"); + entityUrl.title = entity.shortDescription ? entity.shortDescription : name; + entityUrl.href = toRoot + entity[entity.kind]; + + entityUrl.appendChild(document.createTextNode(name)); + nameElem.appendChild(entityUrl); + + var iconElem = document.createElement("a"); + iconElem.className = "icon " + entity.kind; + iconElem.title = name + " " + entity.kind; + iconElem.href = toRoot + entity[entity.kind]; + + var li = document.createElement("li"); + li.id = entity.name.replace(new RegExp("\\.", "g"),"-"); + li.appendChild(iconElem); + li.appendChild(nameElem); + + if (entity.kind != "object" && entity.object) { + var companion = document.createElement("a"); + companion.title = name + " companion object"; + companion.href = toRoot + entity.object; + companion.className = "icon object"; + li.insertBefore(companion, iconElem); + } else { + var spacer = document.createElement("div"); + spacer.className = "icon spacer"; + li.insertBefore(spacer, iconElem); + } + + var ul = document.createElement("ul"); + ul.className = "members"; + + li.appendChild(ul); + + return li; +} + +/** Searches all packages and entities for the current search string in + * the input field "#textfilter" + * + * Then shows the results in div#search-results + */ +function searchAll() { + scheduler.clear("search"); // clear previous search + maxJobs = 1; // clear previous max + var searchStr = $("#textfilter input").attr("value").trim() || ''; + + if (searchStr === '') { + $("div#search-results").hide(); + $("#search > span.close-results").hide(); + $("#search > span#doc-title").show(); + return; + } + + // Replace ?search=X with current search string if not hosted locally on Chrome + try { + window.history.replaceState({}, "", "?search=" + searchStr); + } catch(e) {} + + $("div#results-content > span.search-text").remove(); + + var memberResults = document.getElementById("member-results"); + memberResults.innerHTML = ""; + var memberH1 = document.createElement("h1"); + memberH1.className = "result-type"; + memberH1.innerHTML = "Member results"; + memberResults.appendChild(memberH1); + + var entityResults = document.getElementById("entity-results"); + entityResults.innerHTML = ""; + var entityH1 = document.createElement("h1"); + entityH1.className = "result-type"; + entityH1.innerHTML = "Entity results"; + entityResults.appendChild(entityH1); + + $("div#results-content") + .prepend("" + +" Showing results for \"" + searchStr + "\"" + +""); + + var regExp = compilePattern(searchStr); + + // Search for all entities matching query + Index + .keys(Index.PACKAGES) + .sort() + .forEach(function(elem) { searchPackage(elem, regExp); }) +} + +/** Check if user agent is associated with a known mobile browser */ +function isMobile() { + return /Android|webOS|Mobi|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent); +} + +function urlFriendlyEntity(entity) { + var corr = { + '\\+': '$plus', + ':': '$colon' + }; + + for (k in corr) + entity = entity.replace(new RegExp(k, 'g'), corr[k]); + + return entity; +} + +var maxJobs = 1; +function setProgress() { + var running = scheduler.numberOfJobs("search"); + maxJobs = Math.max(maxJobs, running); + + var percent = 100 - (running / maxJobs * 100); + var bar = document.getElementById("progress-fill"); + bar.style.height = "100%"; + bar.style.width = percent + "%"; + + if (percent == 100) { + setTimeout(function() { + bar.style.height = 0; + }, 500); + } +} diff --git a/docs/scaladoc/lib/jquery.js b/docs/scaladoc/lib/jquery.js new file mode 100644 index 00000000..bc3fbc81 --- /dev/null +++ b/docs/scaladoc/lib/jquery.js @@ -0,0 +1,2 @@ +/*! jQuery v1.8.2 jquery.com | jquery.org/license */ +(function(a,b){function G(a){var b=F[a]={};return p.each(a.split(s),function(a,c){b[c]=!0}),b}function J(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(I,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:+d+""===d?+d:H.test(d)?p.parseJSON(d):d}catch(f){}p.data(a,c,d)}else d=b}return d}function K(a){var b;for(b in a){if(b==="data"&&p.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function ba(){return!1}function bb(){return!0}function bh(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function bi(a,b){do a=a[b];while(a&&a.nodeType!==1);return a}function bj(a,b,c){b=b||0;if(p.isFunction(b))return p.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return p.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=p.grep(a,function(a){return a.nodeType===1});if(be.test(b))return p.filter(b,d,!c);b=p.filter(b,d)}return p.grep(a,function(a,d){return p.inArray(a,b)>=0===c})}function bk(a){var b=bl.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function bC(a,b){return a.getElementsByTagName(b)[0]||a.appendChild(a.ownerDocument.createElement(b))}function bD(a,b){if(b.nodeType!==1||!p.hasData(a))return;var c,d,e,f=p._data(a),g=p._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;d").appendTo(e.body),c=b.css("display");b.remove();if(c==="none"||c===""){bI=e.body.appendChild(bI||p.extend(e.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!bJ||!bI.createElement)bJ=(bI.contentWindow||bI.contentDocument).document,bJ.write(""),bJ.close();b=bJ.body.appendChild(bJ.createElement(a)),c=bH(b,"display"),e.body.removeChild(bI)}return bS[a]=c,c}function ci(a,b,c,d){var e;if(p.isArray(b))p.each(b,function(b,e){c||ce.test(a)?d(a,e):ci(a+"["+(typeof e=="object"?b:"")+"]",e,c,d)});else if(!c&&p.type(b)==="object")for(e in b)ci(a+"["+e+"]",b[e],c,d);else d(a,b)}function cz(a){return function(b,c){typeof b!="string"&&(c=b,b="*");var d,e,f,g=b.toLowerCase().split(s),h=0,i=g.length;if(p.isFunction(c))for(;h)[^>]*$|#([\w\-]*)$)/,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,y=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,z=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,A=/^-ms-/,B=/-([\da-z])/gi,C=function(a,b){return(b+"").toUpperCase()},D=function(){e.addEventListener?(e.removeEventListener("DOMContentLoaded",D,!1),p.ready()):e.readyState==="complete"&&(e.detachEvent("onreadystatechange",D),p.ready())},E={};p.fn=p.prototype={constructor:p,init:function(a,c,d){var f,g,h,i;if(!a)return this;if(a.nodeType)return this.context=this[0]=a,this.length=1,this;if(typeof a=="string"){a.charAt(0)==="<"&&a.charAt(a.length-1)===">"&&a.length>=3?f=[null,a,null]:f=u.exec(a);if(f&&(f[1]||!c)){if(f[1])return c=c instanceof p?c[0]:c,i=c&&c.nodeType?c.ownerDocument||c:e,a=p.parseHTML(f[1],i,!0),v.test(f[1])&&p.isPlainObject(c)&&this.attr.call(a,c,!0),p.merge(this,a);g=e.getElementById(f[2]);if(g&&g.parentNode){if(g.id!==f[2])return d.find(a);this.length=1,this[0]=g}return this.context=e,this.selector=a,this}return!c||c.jquery?(c||d).find(a):this.constructor(c).find(a)}return p.isFunction(a)?d.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),p.makeArray(a,this))},selector:"",jquery:"1.8.2",length:0,size:function(){return this.length},toArray:function(){return k.call(this)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=p.merge(this.constructor(),a);return d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")"),d},each:function(a,b){return p.each(this,a,b)},ready:function(a){return p.ready.promise().done(a),this},eq:function(a){return a=+a,a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(k.apply(this,arguments),"slice",k.call(arguments).join(","))},map:function(a){return this.pushStack(p.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:j,sort:[].sort,splice:[].splice},p.fn.init.prototype=p.fn,p.extend=p.fn.extend=function(){var a,c,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;typeof h=="boolean"&&(k=h,h=arguments[1]||{},i=2),typeof h!="object"&&!p.isFunction(h)&&(h={}),j===i&&(h=this,--i);for(;i0)return;d.resolveWith(e,[p]),p.fn.trigger&&p(e).trigger("ready").off("ready")},isFunction:function(a){return p.type(a)==="function"},isArray:Array.isArray||function(a){return p.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):E[m.call(a)]||"object"},isPlainObject:function(a){if(!a||p.type(a)!=="object"||a.nodeType||p.isWindow(a))return!1;try{if(a.constructor&&!n.call(a,"constructor")&&!n.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||n.call(a,d)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},error:function(a){throw new Error(a)},parseHTML:function(a,b,c){var d;return!a||typeof a!="string"?null:(typeof b=="boolean"&&(c=b,b=0),b=b||e,(d=v.exec(a))?[b.createElement(d[1])]:(d=p.buildFragment([a],b,c?null:[]),p.merge([],(d.cacheable?p.clone(d.fragment):d.fragment).childNodes)))},parseJSON:function(b){if(!b||typeof b!="string")return null;b=p.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(w.test(b.replace(y,"@").replace(z,"]").replace(x,"")))return(new Function("return "+b))();p.error("Invalid JSON: "+b)},parseXML:function(c){var d,e;if(!c||typeof c!="string")return null;try{a.DOMParser?(e=new DOMParser,d=e.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(f){d=b}return(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&p.error("Invalid XML: "+c),d},noop:function(){},globalEval:function(b){b&&r.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(A,"ms-").replace(B,C)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,c,d){var e,f=0,g=a.length,h=g===b||p.isFunction(a);if(d){if(h){for(e in a)if(c.apply(a[e],d)===!1)break}else for(;f0&&a[0]&&a[i-1]||i===0||p.isArray(a));if(j)for(;h-1)i.splice(c,1),e&&(c<=g&&g--,c<=h&&h--)}),this},has:function(a){return p.inArray(a,i)>-1},empty:function(){return i=[],this},disable:function(){return i=j=c=b,this},disabled:function(){return!i},lock:function(){return j=b,c||l.disable(),this},locked:function(){return!j},fireWith:function(a,b){return b=b||[],b=[a,b.slice?b.slice():b],i&&(!d||j)&&(e?j.push(b):k(b)),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!d}};return l},p.extend({Deferred:function(a){var b=[["resolve","done",p.Callbacks("once memory"),"resolved"],["reject","fail",p.Callbacks("once memory"),"rejected"],["notify","progress",p.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return p.Deferred(function(c){p.each(b,function(b,d){var f=d[0],g=a[b];e[d[1]](p.isFunction(g)?function(){var a=g.apply(this,arguments);a&&p.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f+"With"](this===e?c:this,[a])}:c[f])}),a=null}).promise()},promise:function(a){return a!=null?p.extend(a,d):d}},e={};return d.pipe=d.then,p.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[a^1][2].disable,b[2][2].lock),e[f[0]]=g.fire,e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=k.call(arguments),d=c.length,e=d!==1||a&&p.isFunction(a.promise)?d:0,f=e===1?a:p.Deferred(),g=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?k.call(arguments):d,c===h?f.notifyWith(b,c):--e||f.resolveWith(b,c)}},h,i,j;if(d>1){h=new Array(d),i=new Array(d),j=new Array(d);for(;b
a",c=n.getElementsByTagName("*"),d=n.getElementsByTagName("a")[0],d.style.cssText="top:1px;float:left;opacity:.5";if(!c||!c.length)return{};f=e.createElement("select"),g=f.appendChild(e.createElement("option")),h=n.getElementsByTagName("input")[0],b={leadingWhitespace:n.firstChild.nodeType===3,tbody:!n.getElementsByTagName("tbody").length,htmlSerialize:!!n.getElementsByTagName("link").length,style:/top/.test(d.getAttribute("style")),hrefNormalized:d.getAttribute("href")==="/a",opacity:/^0.5/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:n.className!=="t",enctype:!!e.createElement("form").enctype,html5Clone:e.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",boxModel:e.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},h.checked=!0,b.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,b.optDisabled=!g.disabled;try{delete n.test}catch(o){b.deleteExpando=!1}!n.addEventListener&&n.attachEvent&&n.fireEvent&&(n.attachEvent("onclick",m=function(){b.noCloneEvent=!1}),n.cloneNode(!0).fireEvent("onclick"),n.detachEvent("onclick",m)),h=e.createElement("input"),h.value="t",h.setAttribute("type","radio"),b.radioValue=h.value==="t",h.setAttribute("checked","checked"),h.setAttribute("name","t"),n.appendChild(h),i=e.createDocumentFragment(),i.appendChild(n.lastChild),b.checkClone=i.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=h.checked,i.removeChild(h),i.appendChild(n);if(n.attachEvent)for(k in{submit:!0,change:!0,focusin:!0})j="on"+k,l=j in n,l||(n.setAttribute(j,"return;"),l=typeof n[j]=="function"),b[k+"Bubbles"]=l;return p(function(){var c,d,f,g,h="padding:0;margin:0;border:0;display:block;overflow:hidden;",i=e.getElementsByTagName("body")[0];if(!i)return;c=e.createElement("div"),c.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",i.insertBefore(c,i.firstChild),d=e.createElement("div"),c.appendChild(d),d.innerHTML="
t
",f=d.getElementsByTagName("td"),f[0].style.cssText="padding:0;margin:0;border:0;display:none",l=f[0].offsetHeight===0,f[0].style.display="",f[1].style.display="none",b.reliableHiddenOffsets=l&&f[0].offsetHeight===0,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",b.boxSizing=d.offsetWidth===4,b.doesNotIncludeMarginInBodyOffset=i.offsetTop!==1,a.getComputedStyle&&(b.pixelPosition=(a.getComputedStyle(d,null)||{}).top!=="1%",b.boxSizingReliable=(a.getComputedStyle(d,null)||{width:"4px"}).width==="4px",g=e.createElement("div"),g.style.cssText=d.style.cssText=h,g.style.marginRight=g.style.width="0",d.style.width="1px",d.appendChild(g),b.reliableMarginRight=!parseFloat((a.getComputedStyle(g,null)||{}).marginRight)),typeof d.style.zoom!="undefined"&&(d.innerHTML="",d.style.cssText=h+"width:1px;padding:1px;display:inline;zoom:1",b.inlineBlockNeedsLayout=d.offsetWidth===3,d.style.display="block",d.style.overflow="visible",d.innerHTML="

",d.firstChild.style.width="5px",b.shrinkWrapBlocks=d.offsetWidth!==3,c.style.zoom=1),i.removeChild(c),c=d=f=g=null}),i.removeChild(n),c=d=f=g=h=i=n=null,b}();var H=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,I=/([A-Z])/g;p.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(p.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){return a=a.nodeType?p.cache[a[p.expando]]:a[p.expando],!!a&&!K(a)},data:function(a,c,d,e){if(!p.acceptData(a))return;var f,g,h=p.expando,i=typeof c=="string",j=a.nodeType,k=j?p.cache:a,l=j?a[h]:a[h]&&h;if((!l||!k[l]||!e&&!k[l].data)&&i&&d===b)return;l||(j?a[h]=l=p.deletedIds.pop()||p.guid++:l=h),k[l]||(k[l]={},j||(k[l].toJSON=p.noop));if(typeof c=="object"||typeof c=="function")e?k[l]=p.extend(k[l],c):k[l].data=p.extend(k[l].data,c);return f=k[l],e||(f.data||(f.data={}),f=f.data),d!==b&&(f[p.camelCase(c)]=d),i?(g=f[c],g==null&&(g=f[p.camelCase(c)])):g=f,g},removeData:function(a,b,c){if(!p.acceptData(a))return;var d,e,f,g=a.nodeType,h=g?p.cache:a,i=g?a[p.expando]:p.expando;if(!h[i])return;if(b){d=c?h[i]:h[i].data;if(d){p.isArray(b)||(b in d?b=[b]:(b=p.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,f=b.length;e1,null,!1))},removeData:function(a){return this.each(function(){p.removeData(this,a)})}}),p.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=p._data(a,b),c&&(!d||p.isArray(c)?d=p._data(a,b,p.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=p.queue(a,b),d=c.length,e=c.shift(),f=p._queueHooks(a,b),g=function(){p.dequeue(a,b)};e==="inprogress"&&(e=c.shift(),d--),e&&(b==="fx"&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return p._data(a,c)||p._data(a,c,{empty:p.Callbacks("once memory").add(function(){p.removeData(a,b+"queue",!0),p.removeData(a,c,!0)})})}}),p.fn.extend({queue:function(a,c){var d=2;return typeof a!="string"&&(c=a,a="fx",d--),arguments.length1)},removeAttr:function(a){return this.each(function(){p.removeAttr(this,a)})},prop:function(a,b){return p.access(this,p.prop,a,b,arguments.length>1)},removeProp:function(a){return a=p.propFix[a]||a,this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,f,g,h;if(p.isFunction(a))return this.each(function(b){p(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(s);for(c=0,d=this.length;c=0)d=d.replace(" "+c[f]+" "," ");e.className=a?p.trim(d):""}}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";return p.isFunction(a)?this.each(function(c){p(this).toggleClass(a.call(this,c,this.className,b),b)}):this.each(function(){if(c==="string"){var e,f=0,g=p(this),h=b,i=a.split(s);while(e=i[f++])h=d?h:!g.hasClass(e),g[h?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&p._data(this,"__className__",this.className),this.className=this.className||a===!1?"":p._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c=0)return!0;return!1},val:function(a){var c,d,e,f=this[0];if(!arguments.length){if(f)return c=p.valHooks[f.type]||p.valHooks[f.nodeName.toLowerCase()],c&&"get"in c&&(d=c.get(f,"value"))!==b?d:(d=f.value,typeof d=="string"?d.replace(P,""):d==null?"":d);return}return e=p.isFunction(a),this.each(function(d){var f,g=p(this);if(this.nodeType!==1)return;e?f=a.call(this,d,g.val()):f=a,f==null?f="":typeof f=="number"?f+="":p.isArray(f)&&(f=p.map(f,function(a){return a==null?"":a+""})),c=p.valHooks[this.type]||p.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,f,"value")===b)this.value=f})}}),p.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,f=a.selectedIndex,g=[],h=a.options,i=a.type==="select-one";if(f<0)return null;c=i?f:0,d=i?f+1:h.length;for(;c=0}),c.length||(a.selectedIndex=-1),c}}},attrFn:{},attr:function(a,c,d,e){var f,g,h,i=a.nodeType;if(!a||i===3||i===8||i===2)return;if(e&&p.isFunction(p.fn[c]))return p(a)[c](d);if(typeof a.getAttribute=="undefined")return p.prop(a,c,d);h=i!==1||!p.isXMLDoc(a),h&&(c=c.toLowerCase(),g=p.attrHooks[c]||(T.test(c)?M:L));if(d!==b){if(d===null){p.removeAttr(a,c);return}return g&&"set"in g&&h&&(f=g.set(a,d,c))!==b?f:(a.setAttribute(c,d+""),d)}return g&&"get"in g&&h&&(f=g.get(a,c))!==null?f:(f=a.getAttribute(c),f===null?b:f)},removeAttr:function(a,b){var c,d,e,f,g=0;if(b&&a.nodeType===1){d=b.split(s);for(;g=0}})});var V=/^(?:textarea|input|select)$/i,W=/^([^\.]*|)(?:\.(.+)|)$/,X=/(?:^|\s)hover(\.\S+|)\b/,Y=/^key/,Z=/^(?:mouse|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=function(a){return p.event.special.hover?a:a.replace(X,"mouseenter$1 mouseleave$1")};p.event={add:function(a,c,d,e,f){var g,h,i,j,k,l,m,n,o,q,r;if(a.nodeType===3||a.nodeType===8||!c||!d||!(g=p._data(a)))return;d.handler&&(o=d,d=o.handler,f=o.selector),d.guid||(d.guid=p.guid++),i=g.events,i||(g.events=i={}),h=g.handle,h||(g.handle=h=function(a){return typeof p!="undefined"&&(!a||p.event.triggered!==a.type)?p.event.dispatch.apply(h.elem,arguments):b},h.elem=a),c=p.trim(_(c)).split(" ");for(j=0;j=0&&(s=s.slice(0,-1),i=!0),s.indexOf(".")>=0&&(t=s.split("."),s=t.shift(),t.sort());if((!f||p.event.customEvent[s])&&!p.event.global[s])return;c=typeof c=="object"?c[p.expando]?c:new p.Event(s,c):new p.Event(s),c.type=s,c.isTrigger=!0,c.exclusive=i,c.namespace=t.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+t.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,m=s.indexOf(":")<0?"on"+s:"";if(!f){h=p.cache;for(j in h)h[j].events&&h[j].events[s]&&p.event.trigger(c,d,h[j].handle.elem,!0);return}c.result=b,c.target||(c.target=f),d=d!=null?p.makeArray(d):[],d.unshift(c),n=p.event.special[s]||{};if(n.trigger&&n.trigger.apply(f,d)===!1)return;q=[[f,n.bindType||s]];if(!g&&!n.noBubble&&!p.isWindow(f)){r=n.delegateType||s,k=$.test(r+s)?f:f.parentNode;for(l=f;k;k=k.parentNode)q.push([k,r]),l=k;l===(f.ownerDocument||e)&&q.push([l.defaultView||l.parentWindow||a,r])}for(j=0;j=0:p.find(m,this,null,[f]).length),h[m]&&j.push(l);j.length&&u.push({elem:f,matches:j})}o.length>q&&u.push({elem:this,matches:o.slice(q)});for(d=0;d0?this.on(b,null,a,c):this.trigger(b)},Y.test(b)&&(p.event.fixHooks[b]=p.event.keyHooks),Z.test(b)&&(p.event.fixHooks[b]=p.event.mouseHooks)}),function(a,b){function bc(a,b,c,d){c=c||[],b=b||r;var e,f,i,j,k=b.nodeType;if(!a||typeof a!="string")return c;if(k!==1&&k!==9)return[];i=g(b);if(!i&&!d)if(e=P.exec(a))if(j=e[1]){if(k===9){f=b.getElementById(j);if(!f||!f.parentNode)return c;if(f.id===j)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(j))&&h(b,f)&&f.id===j)return c.push(f),c}else{if(e[2])return w.apply(c,x.call(b.getElementsByTagName(a),0)),c;if((j=e[3])&&_&&b.getElementsByClassName)return w.apply(c,x.call(b.getElementsByClassName(j),0)),c}return bp(a.replace(L,"$1"),b,c,d,i)}function bd(a){return function(b){var c=b.nodeName.toLowerCase();return c==="input"&&b.type===a}}function be(a){return function(b){var c=b.nodeName.toLowerCase();return(c==="input"||c==="button")&&b.type===a}}function bf(a){return z(function(b){return b=+b,z(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function bg(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}function bh(a,b){var c,d,f,g,h,i,j,k=C[o][a];if(k)return b?0:k.slice(0);h=a,i=[],j=e.preFilter;while(h){if(!c||(d=M.exec(h)))d&&(h=h.slice(d[0].length)),i.push(f=[]);c=!1;if(d=N.exec(h))f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=d[0].replace(L," ");for(g in e.filter)(d=W[g].exec(h))&&(!j[g]||(d=j[g](d,r,!0)))&&(f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=g,c.matches=d);if(!c)break}return b?h.length:h?bc.error(a):C(a,i).slice(0)}function bi(a,b,d){var e=b.dir,f=d&&b.dir==="parentNode",g=u++;return b.first?function(b,c,d){while(b=b[e])if(f||b.nodeType===1)return a(b,c,d)}:function(b,d,h){if(!h){var i,j=t+" "+g+" ",k=j+c;while(b=b[e])if(f||b.nodeType===1){if((i=b[o])===k)return b.sizset;if(typeof i=="string"&&i.indexOf(j)===0){if(b.sizset)return b}else{b[o]=k;if(a(b,d,h))return b.sizset=!0,b;b.sizset=!1}}}else while(b=b[e])if(f||b.nodeType===1)if(a(b,d,h))return b}}function bj(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function bk(a,b,c,d,e){var f,g=[],h=0,i=a.length,j=b!=null;for(;h-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==l)||((b=c).nodeType?j(a,c,d):k(a,c,d))}];for(;i1&&bj(m),i>1&&a.slice(0,i-1).join("").replace(L,"$1"),c,i0,f=a.length>0,g=function(h,i,j,k,m){var n,o,p,q=[],s=0,u="0",x=h&&[],y=m!=null,z=l,A=h||f&&e.find.TAG("*",m&&i.parentNode||i),B=t+=z==null?1:Math.E;y&&(l=i!==r&&i,c=g.el);for(;(n=A[u])!=null;u++){if(f&&n){for(o=0;p=a[o];o++)if(p(n,i,j)){k.push(n);break}y&&(t=B,c=++g.el)}d&&((n=!p&&n)&&s--,h&&x.push(n))}s+=u;if(d&&u!==s){for(o=0;p=b[o];o++)p(x,q,i,j);if(h){if(s>0)while(u--)!x[u]&&!q[u]&&(q[u]=v.call(k));q=bk(q)}w.apply(k,q),y&&!h&&q.length>0&&s+b.length>1&&bc.uniqueSort(k)}return y&&(t=B,l=z),x};return g.el=0,d?z(g):g}function bo(a,b,c,d){var e=0,f=b.length;for(;e2&&(j=h[0]).type==="ID"&&b.nodeType===9&&!f&&e.relative[h[1].type]){b=e.find.ID(j.matches[0].replace(V,""),b,f)[0];if(!b)return c;a=a.slice(h.shift().length)}for(g=W.POS.test(a)?-1:h.length-1;g>=0;g--){j=h[g];if(e.relative[k=j.type])break;if(l=e.find[k])if(d=l(j.matches[0].replace(V,""),R.test(h[0].type)&&b.parentNode||b,f)){h.splice(g,1),a=d.length&&h.join("");if(!a)return w.apply(c,x.call(d,0)),c;break}}}return i(a,m)(d,b,f,c,R.test(a)),c}function bq(){}var c,d,e,f,g,h,i,j,k,l,m=!0,n="undefined",o=("sizcache"+Math.random()).replace(".",""),q=String,r=a.document,s=r.documentElement,t=0,u=0,v=[].pop,w=[].push,x=[].slice,y=[].indexOf||function(a){var b=0,c=this.length;for(;be.cacheLength&&delete a[b.shift()],a[c]=d},a)},B=A(),C=A(),D=A(),E="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",G=F.replace("w","w#"),H="([*^$|!~]?=)",I="\\["+E+"*("+F+")"+E+"*(?:"+H+E+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+G+")|)|)"+E+"*\\]",J=":("+F+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+I+")|[^:]|\\\\.)*|.*))\\)|)",K=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+E+"*((?:-\\d)?\\d*)"+E+"*\\)|)(?=[^-]|$)",L=new RegExp("^"+E+"+|((?:^|[^\\\\])(?:\\\\.)*)"+E+"+$","g"),M=new RegExp("^"+E+"*,"+E+"*"),N=new RegExp("^"+E+"*([\\x20\\t\\r\\n\\f>+~])"+E+"*"),O=new RegExp(J),P=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,Q=/^:not/,R=/[\x20\t\r\n\f]*[+~]/,S=/:not\($/,T=/h\d/i,U=/input|select|textarea|button/i,V=/\\(?!\\)/g,W={ID:new RegExp("^#("+F+")"),CLASS:new RegExp("^\\.("+F+")"),NAME:new RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:new RegExp("^("+F.replace("w","w*")+")"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+J),POS:new RegExp(K,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+E+"*(even|odd|(([+-]|)(\\d*)n|)"+E+"*(?:([+-]|)"+E+"*(\\d+)|))"+E+"*\\)|)","i"),needsContext:new RegExp("^"+E+"*[>+~]|"+K,"i")},X=function(a){var b=r.createElement("div");try{return a(b)}catch(c){return!1}finally{b=null}},Y=X(function(a){return a.appendChild(r.createComment("")),!a.getElementsByTagName("*").length}),Z=X(function(a){return a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!==n&&a.firstChild.getAttribute("href")==="#"}),$=X(function(a){a.innerHTML="";var b=typeof a.lastChild.getAttribute("multiple");return b!=="boolean"&&b!=="string"}),_=X(function(a){return a.innerHTML="",!a.getElementsByClassName||!a.getElementsByClassName("e").length?!1:(a.lastChild.className="e",a.getElementsByClassName("e").length===2)}),ba=X(function(a){a.id=o+0,a.innerHTML="
",s.insertBefore(a,s.firstChild);var b=r.getElementsByName&&r.getElementsByName(o).length===2+r.getElementsByName(o+0).length;return d=!r.getElementById(o),s.removeChild(a),b});try{x.call(s.childNodes,0)[0].nodeType}catch(bb){x=function(a){var b,c=[];for(;b=this[a];a++)c.push(b);return c}}bc.matches=function(a,b){return bc(a,null,null,b)},bc.matchesSelector=function(a,b){return bc(b,null,null,[a]).length>0},f=bc.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(e===1||e===9||e===11){if(typeof a.textContent=="string")return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=f(a)}else if(e===3||e===4)return a.nodeValue}else for(;b=a[d];d++)c+=f(b);return c},g=bc.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?b.nodeName!=="HTML":!1},h=bc.contains=s.contains?function(a,b){var c=a.nodeType===9?a.documentElement:a,d=b&&b.parentNode;return a===d||!!(d&&d.nodeType===1&&c.contains&&c.contains(d))}:s.compareDocumentPosition?function(a,b){return b&&!!(a.compareDocumentPosition(b)&16)}:function(a,b){while(b=b.parentNode)if(b===a)return!0;return!1},bc.attr=function(a,b){var c,d=g(a);return d||(b=b.toLowerCase()),(c=e.attrHandle[b])?c(a):d||$?a.getAttribute(b):(c=a.getAttributeNode(b),c?typeof a[b]=="boolean"?a[b]?b:null:c.specified?c.value:null:null)},e=bc.selectors={cacheLength:50,createPseudo:z,match:W,attrHandle:Z?{}:{href:function(a){return a.getAttribute("href",2)},type:function(a){return a.getAttribute("type")}},find:{ID:d?function(a,b,c){if(typeof b.getElementById!==n&&!c){var d=b.getElementById(a);return d&&d.parentNode?[d]:[]}}:function(a,c,d){if(typeof c.getElementById!==n&&!d){var e=c.getElementById(a);return e?e.id===a||typeof e.getAttributeNode!==n&&e.getAttributeNode("id").value===a?[e]:b:[]}},TAG:Y?function(a,b){if(typeof b.getElementsByTagName!==n)return b.getElementsByTagName(a)}:function(a,b){var c=b.getElementsByTagName(a);if(a==="*"){var d,e=[],f=0;for(;d=c[f];f++)d.nodeType===1&&e.push(d);return e}return c},NAME:ba&&function(a,b){if(typeof b.getElementsByName!==n)return b.getElementsByName(name)},CLASS:_&&function(a,b,c){if(typeof b.getElementsByClassName!==n&&!c)return b.getElementsByClassName(a)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(V,""),a[3]=(a[4]||a[5]||"").replace(V,""),a[2]==="~="&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),a[1]==="nth"?(a[2]||bc.error(a[0]),a[3]=+(a[3]?a[4]+(a[5]||1):2*(a[2]==="even"||a[2]==="odd")),a[4]=+(a[6]+a[7]||a[2]==="odd")):a[2]&&bc.error(a[0]),a},PSEUDO:function(a){var b,c;if(W.CHILD.test(a[0]))return null;if(a[3])a[2]=a[3];else if(b=a[4])O.test(b)&&(c=bh(b,!0))&&(c=b.indexOf(")",b.length-c)-b.length)&&(b=b.slice(0,c),a[0]=a[0].slice(0,c)),a[2]=b;return a.slice(0,3)}},filter:{ID:d?function(a){return a=a.replace(V,""),function(b){return b.getAttribute("id")===a}}:function(a){return a=a.replace(V,""),function(b){var c=typeof b.getAttributeNode!==n&&b.getAttributeNode("id");return c&&c.value===a}},TAG:function(a){return a==="*"?function(){return!0}:(a=a.replace(V,"").toLowerCase(),function(b){return b.nodeName&&b.nodeName.toLowerCase()===a})},CLASS:function(a){var b=B[o][a];return b||(b=B(a,new RegExp("(^|"+E+")"+a+"("+E+"|$)"))),function(a){return b.test(a.className||typeof a.getAttribute!==n&&a.getAttribute("class")||"")}},ATTR:function(a,b,c){return function(d,e){var f=bc.attr(d,a);return f==null?b==="!=":b?(f+="",b==="="?f===c:b==="!="?f!==c:b==="^="?c&&f.indexOf(c)===0:b==="*="?c&&f.indexOf(c)>-1:b==="$="?c&&f.substr(f.length-c.length)===c:b==="~="?(" "+f+" ").indexOf(c)>-1:b==="|="?f===c||f.substr(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d){return a==="nth"?function(a){var b,e,f=a.parentNode;if(c===1&&d===0)return!0;if(f){e=0;for(b=f.firstChild;b;b=b.nextSibling)if(b.nodeType===1){e++;if(a===b)break}}return e-=d,e===c||e%c===0&&e/c>=0}:function(b){var c=b;switch(a){case"only":case"first":while(c=c.previousSibling)if(c.nodeType===1)return!1;if(a==="first")return!0;c=b;case"last":while(c=c.nextSibling)if(c.nodeType===1)return!1;return!0}}},PSEUDO:function(a,b){var c,d=e.pseudos[a]||e.setFilters[a.toLowerCase()]||bc.error("unsupported pseudo: "+a);return d[o]?d(b):d.length>1?(c=[a,a,"",b],e.setFilters.hasOwnProperty(a.toLowerCase())?z(function(a,c){var e,f=d(a,b),g=f.length;while(g--)e=y.call(a,f[g]),a[e]=!(c[e]=f[g])}):function(a){return d(a,0,c)}):d}},pseudos:{not:z(function(a){var b=[],c=[],d=i(a.replace(L,"$1"));return d[o]?z(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)if(f=g[h])a[h]=!(b[h]=f)}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:z(function(a){return function(b){return bc(a,b).length>0}}),contains:z(function(a){return function(b){return(b.textContent||b.innerText||f(b)).indexOf(a)>-1}}),enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&!!a.checked||b==="option"&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},parent:function(a){return!e.pseudos.empty(a)},empty:function(a){var b;a=a.firstChild;while(a){if(a.nodeName>"@"||(b=a.nodeType)===3||b===4)return!1;a=a.nextSibling}return!0},header:function(a){return T.test(a.nodeName)},text:function(a){var b,c;return a.nodeName.toLowerCase()==="input"&&(b=a.type)==="text"&&((c=a.getAttribute("type"))==null||c.toLowerCase()===b)},radio:bd("radio"),checkbox:bd("checkbox"),file:bd("file"),password:bd("password"),image:bd("image"),submit:be("submit"),reset:be("reset"),button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&a.type==="button"||b==="button"},input:function(a){return U.test(a.nodeName)},focus:function(a){var b=a.ownerDocument;return a===b.activeElement&&(!b.hasFocus||b.hasFocus())&&(!!a.type||!!a.href)},active:function(a){return a===a.ownerDocument.activeElement},first:bf(function(a,b,c){return[0]}),last:bf(function(a,b,c){return[b-1]}),eq:bf(function(a,b,c){return[c<0?c+b:c]}),even:bf(function(a,b,c){for(var d=0;d=0;)a.push(d);return a}),gt:bf(function(a,b,c){for(var d=c<0?c+b:c;++d",a.querySelectorAll("[selected]").length||e.push("\\["+E+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),a.querySelectorAll(":checked").length||e.push(":checked")}),X(function(a){a.innerHTML="

",a.querySelectorAll("[test^='']").length&&e.push("[*^$]="+E+"*(?:\"\"|'')"),a.innerHTML="",a.querySelectorAll(":enabled").length||e.push(":enabled",":disabled")}),e=new RegExp(e.join("|")),bp=function(a,d,f,g,h){if(!g&&!h&&(!e||!e.test(a))){var i,j,k=!0,l=o,m=d,n=d.nodeType===9&&a;if(d.nodeType===1&&d.nodeName.toLowerCase()!=="object"){i=bh(a),(k=d.getAttribute("id"))?l=k.replace(c,"\\$&"):d.setAttribute("id",l),l="[id='"+l+"'] ",j=i.length;while(j--)i[j]=l+i[j].join("");m=R.test(a)&&d.parentNode||d,n=i.join(",")}if(n)try{return w.apply(f,x.call(m.querySelectorAll(n),0)),f}catch(p){}finally{k||d.removeAttribute("id")}}return b(a,d,f,g,h)},h&&(X(function(b){a=h.call(b,"div");try{h.call(b,"[test!='']:sizzle"),f.push("!=",J)}catch(c){}}),f=new RegExp(f.join("|")),bc.matchesSelector=function(b,c){c=c.replace(d,"='$1']");if(!g(b)&&!f.test(c)&&(!e||!e.test(c)))try{var i=h.call(b,c);if(i||a||b.document&&b.document.nodeType!==11)return i}catch(j){}return bc(c,null,null,[b]).length>0})}(),e.pseudos.nth=e.pseudos.eq,e.filters=bq.prototype=e.pseudos,e.setFilters=new bq,bc.attr=p.attr,p.find=bc,p.expr=bc.selectors,p.expr[":"]=p.expr.pseudos,p.unique=bc.uniqueSort,p.text=bc.getText,p.isXMLDoc=bc.isXML,p.contains=bc.contains}(a);var bc=/Until$/,bd=/^(?:parents|prev(?:Until|All))/,be=/^.[^:#\[\.,]*$/,bf=p.expr.match.needsContext,bg={children:!0,contents:!0,next:!0,prev:!0};p.fn.extend({find:function(a){var b,c,d,e,f,g,h=this;if(typeof a!="string")return p(a).filter(function(){for(b=0,c=h.length;b0)for(e=d;e=0:p.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c,d=0,e=this.length,f=[],g=bf.test(a)||typeof a!="string"?p(a,b||this.context):0;for(;d-1:p.find.matchesSelector(c,a)){f.push(c);break}c=c.parentNode}}return f=f.length>1?p.unique(f):f,this.pushStack(f,"closest",a)},index:function(a){return a?typeof a=="string"?p.inArray(this[0],p(a)):p.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(a,b){var c=typeof a=="string"?p(a,b):p.makeArray(a&&a.nodeType?[a]:a),d=p.merge(this.get(),c);return this.pushStack(bh(c[0])||bh(d[0])?d:p.unique(d))},addBack:function(a){return this.add(a==null?this.prevObject:this.prevObject.filter(a))}}),p.fn.andSelf=p.fn.addBack,p.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return p.dir(a,"parentNode")},parentsUntil:function(a,b,c){return p.dir(a,"parentNode",c)},next:function(a){return bi(a,"nextSibling")},prev:function(a){return bi(a,"previousSibling")},nextAll:function(a){return p.dir(a,"nextSibling")},prevAll:function(a){return p.dir(a,"previousSibling")},nextUntil:function(a,b,c){return p.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return p.dir(a,"previousSibling",c)},siblings:function(a){return p.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return p.sibling(a.firstChild)},contents:function(a){return p.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:p.merge([],a.childNodes)}},function(a,b){p.fn[a]=function(c,d){var e=p.map(this,b,c);return bc.test(a)||(d=c),d&&typeof d=="string"&&(e=p.filter(d,e)),e=this.length>1&&!bg[a]?p.unique(e):e,this.length>1&&bd.test(a)&&(e=e.reverse()),this.pushStack(e,a,k.call(arguments).join(","))}}),p.extend({filter:function(a,b,c){return c&&(a=":not("+a+")"),b.length===1?p.find.matchesSelector(b[0],a)?[b[0]]:[]:p.find.matches(a,b)},dir:function(a,c,d){var e=[],f=a[c];while(f&&f.nodeType!==9&&(d===b||f.nodeType!==1||!p(f).is(d)))f.nodeType===1&&e.push(f),f=f[c];return e},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var bl="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",bm=/ jQuery\d+="(?:null|\d+)"/g,bn=/^\s+/,bo=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bp=/<([\w:]+)/,bq=/]","i"),bv=/^(?:checkbox|radio)$/,bw=/checked\s*(?:[^=]|=\s*.checked.)/i,bx=/\/(java|ecma)script/i,by=/^\s*\s*$/g,bz={option:[1,""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},bA=bk(e),bB=bA.appendChild(e.createElement("div"));bz.optgroup=bz.option,bz.tbody=bz.tfoot=bz.colgroup=bz.caption=bz.thead,bz.th=bz.td,p.support.htmlSerialize||(bz._default=[1,"X
","
"]),p.fn.extend({text:function(a){return p.access(this,function(a){return a===b?p.text(this):this.empty().append((this[0]&&this[0].ownerDocument||e).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(p.isFunction(a))return this.each(function(b){p(this).wrapAll(a.call(this,b))});if(this[0]){var b=p(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return p.isFunction(a)?this.each(function(b){p(this).wrapInner(a.call(this,b))}):this.each(function(){var b=p(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=p.isFunction(a);return this.each(function(c){p(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){p.nodeName(this,"body")||p(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(a,this.firstChild)})},before:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(a,this),"before",this.selector)}},after:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(this,a),"after",this.selector)}},remove:function(a,b){var c,d=0;for(;(c=this[d])!=null;d++)if(!a||p.filter(a,[c]).length)!b&&c.nodeType===1&&(p.cleanData(c.getElementsByTagName("*")),p.cleanData([c])),c.parentNode&&c.parentNode.removeChild(c);return this},empty:function(){var a,b=0;for(;(a=this[b])!=null;b++){a.nodeType===1&&p.cleanData(a.getElementsByTagName("*"));while(a.firstChild)a.removeChild(a.firstChild)}return this},clone:function(a,b){return a=a==null?!1:a,b=b==null?a:b,this.map(function(){return p.clone(this,a,b)})},html:function(a){return p.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(bm,""):b;if(typeof a=="string"&&!bs.test(a)&&(p.support.htmlSerialize||!bu.test(a))&&(p.support.leadingWhitespace||!bn.test(a))&&!bz[(bp.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(bo,"<$1>");try{for(;d1&&typeof j=="string"&&bw.test(j))return this.each(function(){p(this).domManip(a,c,d)});if(p.isFunction(j))return this.each(function(e){var f=p(this);a[0]=j.call(this,e,c?f.html():b),f.domManip(a,c,d)});if(this[0]){e=p.buildFragment(a,this,k),g=e.fragment,f=g.firstChild,g.childNodes.length===1&&(g=f);if(f){c=c&&p.nodeName(f,"tr");for(h=e.cacheable||l-1;i0?this.clone(!0):this).get(),p(g[e])[b](d),f=f.concat(d);return this.pushStack(f,a,g.selector)}}),p.extend({clone:function(a,b,c){var d,e,f,g;p.support.html5Clone||p.isXMLDoc(a)||!bu.test("<"+a.nodeName+">")?g=a.cloneNode(!0):(bB.innerHTML=a.outerHTML,bB.removeChild(g=bB.firstChild));if((!p.support.noCloneEvent||!p.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!p.isXMLDoc(a)){bE(a,g),d=bF(a),e=bF(g);for(f=0;d[f];++f)e[f]&&bE(d[f],e[f])}if(b){bD(a,g);if(c){d=bF(a),e=bF(g);for(f=0;d[f];++f)bD(d[f],e[f])}}return d=e=null,g},clean:function(a,b,c,d){var f,g,h,i,j,k,l,m,n,o,q,r,s=b===e&&bA,t=[];if(!b||typeof b.createDocumentFragment=="undefined")b=e;for(f=0;(h=a[f])!=null;f++){typeof h=="number"&&(h+="");if(!h)continue;if(typeof h=="string")if(!br.test(h))h=b.createTextNode(h);else{s=s||bk(b),l=b.createElement("div"),s.appendChild(l),h=h.replace(bo,"<$1>"),i=(bp.exec(h)||["",""])[1].toLowerCase(),j=bz[i]||bz._default,k=j[0],l.innerHTML=j[1]+h+j[2];while(k--)l=l.lastChild;if(!p.support.tbody){m=bq.test(h),n=i==="table"&&!m?l.firstChild&&l.firstChild.childNodes:j[1]===""&&!m?l.childNodes:[];for(g=n.length-1;g>=0;--g)p.nodeName(n[g],"tbody")&&!n[g].childNodes.length&&n[g].parentNode.removeChild(n[g])}!p.support.leadingWhitespace&&bn.test(h)&&l.insertBefore(b.createTextNode(bn.exec(h)[0]),l.firstChild),h=l.childNodes,l.parentNode.removeChild(l)}h.nodeType?t.push(h):p.merge(t,h)}l&&(h=l=s=null);if(!p.support.appendChecked)for(f=0;(h=t[f])!=null;f++)p.nodeName(h,"input")?bG(h):typeof h.getElementsByTagName!="undefined"&&p.grep(h.getElementsByTagName("input"),bG);if(c){q=function(a){if(!a.type||bx.test(a.type))return d?d.push(a.parentNode?a.parentNode.removeChild(a):a):c.appendChild(a)};for(f=0;(h=t[f])!=null;f++)if(!p.nodeName(h,"script")||!q(h))c.appendChild(h),typeof h.getElementsByTagName!="undefined"&&(r=p.grep(p.merge([],h.getElementsByTagName("script")),q),t.splice.apply(t,[f+1,0].concat(r)),f+=r.length)}return t},cleanData:function(a,b){var c,d,e,f,g=0,h=p.expando,i=p.cache,j=p.support.deleteExpando,k=p.event.special;for(;(e=a[g])!=null;g++)if(b||p.acceptData(e)){d=e[h],c=d&&i[d];if(c){if(c.events)for(f in c.events)k[f]?p.event.remove(e,f):p.removeEvent(e,f,c.handle);i[d]&&(delete i[d],j?delete e[h]:e.removeAttribute?e.removeAttribute(h):e[h]=null,p.deletedIds.push(d))}}}}),function(){var a,b;p.uaMatch=function(a){a=a.toLowerCase();var b=/(chrome)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},a=p.uaMatch(g.userAgent),b={},a.browser&&(b[a.browser]=!0,b.version=a.version),b.chrome?b.webkit=!0:b.webkit&&(b.safari=!0),p.browser=b,p.sub=function(){function a(b,c){return new a.fn.init(b,c)}p.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function c(c,d){return d&&d instanceof p&&!(d instanceof a)&&(d=a(d)),p.fn.init.call(this,c,d,b)},a.fn.init.prototype=a.fn;var b=a(e);return a}}();var bH,bI,bJ,bK=/alpha\([^)]*\)/i,bL=/opacity=([^)]*)/,bM=/^(top|right|bottom|left)$/,bN=/^(none|table(?!-c[ea]).+)/,bO=/^margin/,bP=new RegExp("^("+q+")(.*)$","i"),bQ=new RegExp("^("+q+")(?!px)[a-z%]+$","i"),bR=new RegExp("^([-+])=("+q+")","i"),bS={},bT={position:"absolute",visibility:"hidden",display:"block"},bU={letterSpacing:0,fontWeight:400},bV=["Top","Right","Bottom","Left"],bW=["Webkit","O","Moz","ms"],bX=p.fn.toggle;p.fn.extend({css:function(a,c){return p.access(this,function(a,c,d){return d!==b?p.style(a,c,d):p.css(a,c)},a,c,arguments.length>1)},show:function(){return b$(this,!0)},hide:function(){return b$(this)},toggle:function(a,b){var c=typeof a=="boolean";return p.isFunction(a)&&p.isFunction(b)?bX.apply(this,arguments):this.each(function(){(c?a:bZ(this))?p(this).show():p(this).hide()})}}),p.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bH(a,"opacity");return c===""?"1":c}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":p.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!a||a.nodeType===3||a.nodeType===8||!a.style)return;var f,g,h,i=p.camelCase(c),j=a.style;c=p.cssProps[i]||(p.cssProps[i]=bY(j,i)),h=p.cssHooks[c]||p.cssHooks[i];if(d===b)return h&&"get"in h&&(f=h.get(a,!1,e))!==b?f:j[c];g=typeof d,g==="string"&&(f=bR.exec(d))&&(d=(f[1]+1)*f[2]+parseFloat(p.css(a,c)),g="number");if(d==null||g==="number"&&isNaN(d))return;g==="number"&&!p.cssNumber[i]&&(d+="px");if(!h||!("set"in h)||(d=h.set(a,d,e))!==b)try{j[c]=d}catch(k){}},css:function(a,c,d,e){var f,g,h,i=p.camelCase(c);return c=p.cssProps[i]||(p.cssProps[i]=bY(a.style,i)),h=p.cssHooks[c]||p.cssHooks[i],h&&"get"in h&&(f=h.get(a,!0,e)),f===b&&(f=bH(a,c)),f==="normal"&&c in bU&&(f=bU[c]),d||e!==b?(g=parseFloat(f),d||p.isNumeric(g)?g||0:f):f},swap:function(a,b,c){var d,e,f={};for(e in b)f[e]=a.style[e],a.style[e]=b[e];d=c.call(a);for(e in b)a.style[e]=f[e];return d}}),a.getComputedStyle?bH=function(b,c){var d,e,f,g,h=a.getComputedStyle(b,null),i=b.style;return h&&(d=h[c],d===""&&!p.contains(b.ownerDocument,b)&&(d=p.style(b,c)),bQ.test(d)&&bO.test(c)&&(e=i.width,f=i.minWidth,g=i.maxWidth,i.minWidth=i.maxWidth=i.width=d,d=h.width,i.width=e,i.minWidth=f,i.maxWidth=g)),d}:e.documentElement.currentStyle&&(bH=function(a,b){var c,d,e=a.currentStyle&&a.currentStyle[b],f=a.style;return e==null&&f&&f[b]&&(e=f[b]),bQ.test(e)&&!bM.test(b)&&(c=f.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":e,e=f.pixelLeft+"px",f.left=c,d&&(a.runtimeStyle.left=d)),e===""?"auto":e}),p.each(["height","width"],function(a,b){p.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth===0&&bN.test(bH(a,"display"))?p.swap(a,bT,function(){return cb(a,b,d)}):cb(a,b,d)},set:function(a,c,d){return b_(a,c,d?ca(a,b,d,p.support.boxSizing&&p.css(a,"boxSizing")==="border-box"):0)}}}),p.support.opacity||(p.cssHooks.opacity={get:function(a,b){return bL.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=p.isNumeric(b)?"alpha(opacity="+b*100+")":"",f=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&p.trim(f.replace(bK,""))===""&&c.removeAttribute){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bK.test(f)?f.replace(bK,e):f+" "+e}}),p(function(){p.support.reliableMarginRight||(p.cssHooks.marginRight={get:function(a,b){return p.swap(a,{display:"inline-block"},function(){if(b)return bH(a,"marginRight")})}}),!p.support.pixelPosition&&p.fn.position&&p.each(["top","left"],function(a,b){p.cssHooks[b]={get:function(a,c){if(c){var d=bH(a,b);return bQ.test(d)?p(a).position()[b]+"px":d}}}})}),p.expr&&p.expr.filters&&(p.expr.filters.hidden=function(a){return a.offsetWidth===0&&a.offsetHeight===0||!p.support.reliableHiddenOffsets&&(a.style&&a.style.display||bH(a,"display"))==="none"},p.expr.filters.visible=function(a){return!p.expr.filters.hidden(a)}),p.each({margin:"",padding:"",border:"Width"},function(a,b){p.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bV[d]+b]=e[d]||e[d-2]||e[0];return f}},bO.test(a)||(p.cssHooks[a+b].set=b_)});var cd=/%20/g,ce=/\[\]$/,cf=/\r?\n/g,cg=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,ch=/^(?:select|textarea)/i;p.fn.extend({serialize:function(){return p.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?p.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ch.test(this.nodeName)||cg.test(this.type))}).map(function(a,b){var c=p(this).val();return c==null?null:p.isArray(c)?p.map(c,function(a,c){return{name:b.name,value:a.replace(cf,"\r\n")}}):{name:b.name,value:c.replace(cf,"\r\n")}}).get()}}),p.param=function(a,c){var d,e=[],f=function(a,b){b=p.isFunction(b)?b():b==null?"":b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=p.ajaxSettings&&p.ajaxSettings.traditional);if(p.isArray(a)||a.jquery&&!p.isPlainObject(a))p.each(a,function(){f(this.name,this.value)});else for(d in a)ci(d,a[d],c,f);return e.join("&").replace(cd,"+")};var cj,ck,cl=/#.*$/,cm=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,cn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,co=/^(?:GET|HEAD)$/,cp=/^\/\//,cq=/\?/,cr=/)<[^<]*)*<\/script>/gi,cs=/([?&])_=[^&]*/,ct=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,cu=p.fn.load,cv={},cw={},cx=["*/"]+["*"];try{ck=f.href}catch(cy){ck=e.createElement("a"),ck.href="",ck=ck.href}cj=ct.exec(ck.toLowerCase())||[],p.fn.load=function(a,c,d){if(typeof a!="string"&&cu)return cu.apply(this,arguments);if(!this.length)return this;var e,f,g,h=this,i=a.indexOf(" ");return i>=0&&(e=a.slice(i,a.length),a=a.slice(0,i)),p.isFunction(c)?(d=c,c=b):c&&typeof c=="object"&&(f="POST"),p.ajax({url:a,type:f,dataType:"html",data:c,complete:function(a,b){d&&h.each(d,g||[a.responseText,b,a])}}).done(function(a){g=arguments,h.html(e?p("
").append(a.replace(cr,"")).find(e):a)}),this},p.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){p.fn[b]=function(a){return this.on(b,a)}}),p.each(["get","post"],function(a,c){p[c]=function(a,d,e,f){return p.isFunction(d)&&(f=f||e,e=d,d=b),p.ajax({type:c,url:a,data:d,success:e,dataType:f})}}),p.extend({getScript:function(a,c){return p.get(a,b,c,"script")},getJSON:function(a,b,c){return p.get(a,b,c,"json")},ajaxSetup:function(a,b){return b?cB(a,p.ajaxSettings):(b=a,a=p.ajaxSettings),cB(a,b),a},ajaxSettings:{url:ck,isLocal:cn.test(cj[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":cx},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":p.parseJSON,"text xml":p.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:cz(cv),ajaxTransport:cz(cw),ajax:function(a,c){function y(a,c,f,i){var k,s,t,u,w,y=c;if(v===2)return;v=2,h&&clearTimeout(h),g=b,e=i||"",x.readyState=a>0?4:0,f&&(u=cC(l,x,f));if(a>=200&&a<300||a===304)l.ifModified&&(w=x.getResponseHeader("Last-Modified"),w&&(p.lastModified[d]=w),w=x.getResponseHeader("Etag"),w&&(p.etag[d]=w)),a===304?(y="notmodified",k=!0):(k=cD(l,u),y=k.state,s=k.data,t=k.error,k=!t);else{t=y;if(!y||a)y="error",a<0&&(a=0)}x.status=a,x.statusText=(c||y)+"",k?o.resolveWith(m,[s,y,x]):o.rejectWith(m,[x,y,t]),x.statusCode(r),r=b,j&&n.trigger("ajax"+(k?"Success":"Error"),[x,l,k?s:t]),q.fireWith(m,[x,y]),j&&(n.trigger("ajaxComplete",[x,l]),--p.active||p.event.trigger("ajaxStop"))}typeof a=="object"&&(c=a,a=b),c=c||{};var d,e,f,g,h,i,j,k,l=p.ajaxSetup({},c),m=l.context||l,n=m!==l&&(m.nodeType||m instanceof p)?p(m):p.event,o=p.Deferred(),q=p.Callbacks("once memory"),r=l.statusCode||{},t={},u={},v=0,w="canceled",x={readyState:0,setRequestHeader:function(a,b){if(!v){var c=a.toLowerCase();a=u[c]=u[c]||a,t[a]=b}return this},getAllResponseHeaders:function(){return v===2?e:null},getResponseHeader:function(a){var c;if(v===2){if(!f){f={};while(c=cm.exec(e))f[c[1].toLowerCase()]=c[2]}c=f[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){return v||(l.mimeType=a),this},abort:function(a){return a=a||w,g&&g.abort(a),y(0,a),this}};o.promise(x),x.success=x.done,x.error=x.fail,x.complete=q.add,x.statusCode=function(a){if(a){var b;if(v<2)for(b in a)r[b]=[r[b],a[b]];else b=a[x.status],x.always(b)}return this},l.url=((a||l.url)+"").replace(cl,"").replace(cp,cj[1]+"//"),l.dataTypes=p.trim(l.dataType||"*").toLowerCase().split(s),l.crossDomain==null&&(i=ct.exec(l.url.toLowerCase())||!1,l.crossDomain=i&&i.join(":")+(i[3]?"":i[1]==="http:"?80:443)!==cj.join(":")+(cj[3]?"":cj[1]==="http:"?80:443)),l.data&&l.processData&&typeof l.data!="string"&&(l.data=p.param(l.data,l.traditional)),cA(cv,l,c,x);if(v===2)return x;j=l.global,l.type=l.type.toUpperCase(),l.hasContent=!co.test(l.type),j&&p.active++===0&&p.event.trigger("ajaxStart");if(!l.hasContent){l.data&&(l.url+=(cq.test(l.url)?"&":"?")+l.data,delete l.data),d=l.url;if(l.cache===!1){var z=p.now(),A=l.url.replace(cs,"$1_="+z);l.url=A+(A===l.url?(cq.test(l.url)?"&":"?")+"_="+z:"")}}(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&x.setRequestHeader("Content-Type",l.contentType),l.ifModified&&(d=d||l.url,p.lastModified[d]&&x.setRequestHeader("If-Modified-Since",p.lastModified[d]),p.etag[d]&&x.setRequestHeader("If-None-Match",p.etag[d])),x.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+(l.dataTypes[0]!=="*"?", "+cx+"; q=0.01":""):l.accepts["*"]);for(k in l.headers)x.setRequestHeader(k,l.headers[k]);if(!l.beforeSend||l.beforeSend.call(m,x,l)!==!1&&v!==2){w="abort";for(k in{success:1,error:1,complete:1})x[k](l[k]);g=cA(cw,l,c,x);if(!g)y(-1,"No Transport");else{x.readyState=1,j&&n.trigger("ajaxSend",[x,l]),l.async&&l.timeout>0&&(h=setTimeout(function(){x.abort("timeout")},l.timeout));try{v=1,g.send(t,y)}catch(B){if(v<2)y(-1,B);else throw B}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var cE=[],cF=/\?/,cG=/(=)\?(?=&|$)|\?\?/,cH=p.now();p.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=cE.pop()||p.expando+"_"+cH++;return this[a]=!0,a}}),p.ajaxPrefilter("json jsonp",function(c,d,e){var f,g,h,i=c.data,j=c.url,k=c.jsonp!==!1,l=k&&cG.test(j),m=k&&!l&&typeof i=="string"&&!(c.contentType||"").indexOf("application/x-www-form-urlencoded")&&cG.test(i);if(c.dataTypes[0]==="jsonp"||l||m)return f=c.jsonpCallback=p.isFunction(c.jsonpCallback)?c.jsonpCallback():c.jsonpCallback,g=a[f],l?c.url=j.replace(cG,"$1"+f):m?c.data=i.replace(cG,"$1"+f):k&&(c.url+=(cF.test(j)?"&":"?")+c.jsonp+"="+f),c.converters["script json"]=function(){return h||p.error(f+" was not called"),h[0]},c.dataTypes[0]="json",a[f]=function(){h=arguments},e.always(function(){a[f]=g,c[f]&&(c.jsonpCallback=d.jsonpCallback,cE.push(f)),h&&p.isFunction(g)&&g(h[0]),h=g=b}),"script"}),p.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){return p.globalEval(a),a}}}),p.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),p.ajaxTransport("script",function(a){if(a.crossDomain){var c,d=e.head||e.getElementsByTagName("head")[0]||e.documentElement;return{send:function(f,g){c=e.createElement("script"),c.async="async",a.scriptCharset&&(c.charset=a.scriptCharset),c.src=a.url,c.onload=c.onreadystatechange=function(a,e){if(e||!c.readyState||/loaded|complete/.test(c.readyState))c.onload=c.onreadystatechange=null,d&&c.parentNode&&d.removeChild(c),c=b,e||g(200,"success")},d.insertBefore(c,d.firstChild)},abort:function(){c&&c.onload(0,1)}}}});var cI,cJ=a.ActiveXObject?function(){for(var a in cI)cI[a](0,1)}:!1,cK=0;p.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&cL()||cM()}:cL,function(a){p.extend(p.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(p.ajaxSettings.xhr()),p.support.ajax&&p.ajaxTransport(function(c){if(!c.crossDomain||p.support.cors){var d;return{send:function(e,f){var g,h,i=c.xhr();c.username?i.open(c.type,c.url,c.async,c.username,c.password):i.open(c.type,c.url,c.async);if(c.xhrFields)for(h in c.xhrFields)i[h]=c.xhrFields[h];c.mimeType&&i.overrideMimeType&&i.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(h in e)i.setRequestHeader(h,e[h])}catch(j){}i.send(c.hasContent&&c.data||null),d=function(a,e){var h,j,k,l,m;try{if(d&&(e||i.readyState===4)){d=b,g&&(i.onreadystatechange=p.noop,cJ&&delete cI[g]);if(e)i.readyState!==4&&i.abort();else{h=i.status,k=i.getAllResponseHeaders(),l={},m=i.responseXML,m&&m.documentElement&&(l.xml=m);try{l.text=i.responseText}catch(a){}try{j=i.statusText}catch(n){j=""}!h&&c.isLocal&&!c.crossDomain?h=l.text?200:404:h===1223&&(h=204)}}}catch(o){e||f(-1,o)}l&&f(h,j,l,k)},c.async?i.readyState===4?setTimeout(d,0):(g=++cK,cJ&&(cI||(cI={},p(a).unload(cJ)),cI[g]=d),i.onreadystatechange=d):d()},abort:function(){d&&d(0,1)}}}});var cN,cO,cP=/^(?:toggle|show|hide)$/,cQ=new RegExp("^(?:([-+])=|)("+q+")([a-z%]*)$","i"),cR=/queueHooks$/,cS=[cY],cT={"*":[function(a,b){var c,d,e=this.createTween(a,b),f=cQ.exec(b),g=e.cur(),h=+g||0,i=1,j=20;if(f){c=+f[2],d=f[3]||(p.cssNumber[a]?"":"px");if(d!=="px"&&h){h=p.css(e.elem,a,!0)||c||1;do i=i||".5",h=h/i,p.style(e.elem,a,h+d);while(i!==(i=e.cur()/g)&&i!==1&&--j)}e.unit=d,e.start=h,e.end=f[1]?h+(f[1]+1)*c:c}return e}]};p.Animation=p.extend(cW,{tweener:function(a,b){p.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");var c,d=0,e=a.length;for(;d-1,j={},k={},l,m;i?(k=e.position(),l=k.top,m=k.left):(l=parseFloat(g)||0,m=parseFloat(h)||0),p.isFunction(b)&&(b=b.call(a,c,f)),b.top!=null&&(j.top=b.top-f.top+l),b.left!=null&&(j.left=b.left-f.left+m),"using"in b?b.using.call(a,j):e.css(j)}},p.fn.extend({position:function(){if(!this[0])return;var a=this[0],b=this.offsetParent(),c=this.offset(),d=c_.test(b[0].nodeName)?{top:0,left:0}:b.offset();return c.top-=parseFloat(p.css(a,"marginTop"))||0,c.left-=parseFloat(p.css(a,"marginLeft"))||0,d.top+=parseFloat(p.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(p.css(b[0],"borderLeftWidth"))||0,{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||e.body;while(a&&!c_.test(a.nodeName)&&p.css(a,"position")==="static")a=a.offsetParent;return a||e.body})}}),p.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);p.fn[a]=function(e){return p.access(this,function(a,e,f){var g=da(a);if(f===b)return g?c in g?g[c]:g.document.documentElement[e]:a[e];g?g.scrollTo(d?p(g).scrollLeft():f,d?f:p(g).scrollTop()):a[e]=f},a,e,arguments.length,null)}}),p.each({Height:"height",Width:"width"},function(a,c){p.each({padding:"inner"+a,content:c,"":"outer"+a},function(d,e){p.fn[e]=function(e,f){var g=arguments.length&&(d||typeof e!="boolean"),h=d||(e===!0||f===!0?"margin":"border");return p.access(this,function(c,d,e){var f;return p.isWindow(c)?c.document.documentElement["client"+a]:c.nodeType===9?(f=c.documentElement,Math.max(c.body["scroll"+a],f["scroll"+a],c.body["offset"+a],f["offset"+a],f["client"+a])):e===b?p.css(c,d,e,h):p.style(c,d,e,h)},c,g?e:b,g,null)}})}),a.jQuery=a.$=p,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return p})})(window); \ No newline at end of file diff --git a/docs/scaladoc/lib/jquery.mousewheel.min.js b/docs/scaladoc/lib/jquery.mousewheel.min.js new file mode 100644 index 00000000..03bfd60c --- /dev/null +++ b/docs/scaladoc/lib/jquery.mousewheel.min.js @@ -0,0 +1,8 @@ +/*! + * jQuery Mousewheel 3.1.13 + * + * Copyright 2015 jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ +!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?module.exports=a:a(jQuery)}(function(a){function b(b){var g=b||window.event,h=i.call(arguments,1),j=0,l=0,m=0,n=0,o=0,p=0;if(b=a.event.fix(g),b.type="mousewheel","detail"in g&&(m=-1*g.detail),"wheelDelta"in g&&(m=g.wheelDelta),"wheelDeltaY"in g&&(m=g.wheelDeltaY),"wheelDeltaX"in g&&(l=-1*g.wheelDeltaX),"axis"in g&&g.axis===g.HORIZONTAL_AXIS&&(l=-1*m,m=0),j=0===m?l:m,"deltaY"in g&&(m=-1*g.deltaY,j=m),"deltaX"in g&&(l=g.deltaX,0===m&&(j=-1*l)),0!==m||0!==l){if(1===g.deltaMode){var q=a.data(this,"mousewheel-line-height");j*=q,m*=q,l*=q}else if(2===g.deltaMode){var r=a.data(this,"mousewheel-page-height");j*=r,m*=r,l*=r}if(n=Math.max(Math.abs(m),Math.abs(l)),(!f||f>n)&&(f=n,d(g,n)&&(f/=40)),d(g,n)&&(j/=40,l/=40,m/=40),j=Math[j>=1?"floor":"ceil"](j/f),l=Math[l>=1?"floor":"ceil"](l/f),m=Math[m>=1?"floor":"ceil"](m/f),k.settings.normalizeOffset&&this.getBoundingClientRect){var s=this.getBoundingClientRect();o=b.clientX-s.left,p=b.clientY-s.top}return b.deltaX=l,b.deltaY=m,b.deltaFactor=f,b.offsetX=o,b.offsetY=p,b.deltaMode=0,h.unshift(b,j,l,m),e&&clearTimeout(e),e=setTimeout(c,200),(a.event.dispatch||a.event.handle).apply(this,h)}}function c(){f=null}function d(a,b){return k.settings.adjustOldDeltas&&"mousewheel"===a.type&&b%120===0}var e,f,g=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],h="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],i=Array.prototype.slice;if(a.event.fixHooks)for(var j=g.length;j;)a.event.fixHooks[g[--j]]=a.event.mouseHooks;var k=a.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var c=h.length;c;)this.addEventListener(h[--c],b,!1);else this.onmousewheel=b;a.data(this,"mousewheel-line-height",k.getLineHeight(this)),a.data(this,"mousewheel-page-height",k.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var c=h.length;c;)this.removeEventListener(h[--c],b,!1);else this.onmousewheel=null;a.removeData(this,"mousewheel-line-height"),a.removeData(this,"mousewheel-page-height")},getLineHeight:function(b){var c=a(b),d=c["offsetParent"in a.fn?"offsetParent":"parent"]();return d.length||(d=a("body")),parseInt(d.css("fontSize"),10)||parseInt(c.css("fontSize"),10)||16},getPageHeight:function(b){return a(b).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})}); \ No newline at end of file diff --git a/docs/scaladoc/lib/jquery.panzoom.min.js b/docs/scaladoc/lib/jquery.panzoom.min.js new file mode 100644 index 00000000..7c3be68b --- /dev/null +++ b/docs/scaladoc/lib/jquery.panzoom.min.js @@ -0,0 +1,9 @@ +/** + * @license jquery.panzoom.js v2.0.5 + * Updated: Thu Jul 03 2014 + * Add pan and zoom functionality to any element + * Copyright (c) 2014 timmy willison + * Released under the MIT license + * https://github.com/timmywil/jquery.panzoom/blob/master/MIT-License.txt + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(c){return b(a,c)}):"object"==typeof exports?b(a,require("jquery")):b(a,a.jQuery)}("undefined"!=typeof window?window:this,function(a,b){"use strict";function c(a,b){for(var c=a.length;--c;)if(+a[c]!==+b[c])return!1;return!0}function d(a){var c={range:!0,animate:!0};return"boolean"==typeof a?c.animate=a:b.extend(c,a),c}function e(a,c,d,e,f,g,h,i,j){this.elements="array"===b.type(a)?[+a[0],+a[2],+a[4],+a[1],+a[3],+a[5],0,0,1]:[a,c,d,e,f,g,h||0,i||0,j||1]}function f(a,b,c){this.elements=[a,b,c]}function g(a,c){if(!(this instanceof g))return new g(a,c);1!==a.nodeType&&b.error("Panzoom called on non-Element node"),b.contains(l,a)||b.error("Panzoom element must be attached to the document");var d=b.data(a,m);if(d)return d;this.options=c=b.extend({},g.defaults,c),this.elem=a;var e=this.$elem=b(a);this.$set=c.$set&&c.$set.length?c.$set:e,this.$doc=b(a.ownerDocument||l),this.$parent=e.parent(),this.isSVG=r.test(a.namespaceURI)&&"svg"!==a.nodeName.toLowerCase(),this.panning=!1,this._buildTransform(),this._transform=!this.isSVG&&b.cssProps.transform.replace(q,"-$1").toLowerCase(),this._buildTransition(),this.resetDimensions();var f=b(),h=this;b.each(["$zoomIn","$zoomOut","$zoomRange","$reset"],function(a,b){h[b]=c[b]||f}),this.enable(),b.data(a,m,this)}var h="over out down up move enter leave cancel".split(" "),i=b.extend({},b.event.mouseHooks),j={};if(a.PointerEvent)b.each(h,function(a,c){b.event.fixHooks[j[c]="pointer"+c]=i});else{var k=i.props;i.props=k.concat(["touches","changedTouches","targetTouches","altKey","ctrlKey","metaKey","shiftKey"]),i.filter=function(a,b){var c,d=k.length;if(!b.pageX&&b.touches&&(c=b.touches[0]))for(;d--;)a[k[d]]=c[k[d]];return a},b.each(h,function(a,c){if(2>a)j[c]="mouse"+c;else{var d="touch"+("down"===c?"start":"up"===c?"end":c);b.event.fixHooks[d]=i,j[c]=d+" mouse"+c}})}b.pointertouch=j;var l=a.document,m="__pz__",n=Array.prototype.slice,o=!!a.PointerEvent,p=function(){var a=l.createElement("input");return a.setAttribute("oninput","return"),"function"==typeof a.oninput}(),q=/([A-Z])/g,r=/^http:[\w\.\/]+svg$/,s=/^inline/,t="(\\-?[\\d\\.e]+)",u="\\,?\\s*",v=new RegExp("^matrix\\("+t+u+t+u+t+u+t+u+t+u+t+"\\)$");return e.prototype={x:function(a){var b=a instanceof f,c=this.elements,d=a.elements;return b&&3===d.length?new f(c[0]*d[0]+c[1]*d[1]+c[2]*d[2],c[3]*d[0]+c[4]*d[1]+c[5]*d[2],c[6]*d[0]+c[7]*d[1]+c[8]*d[2]):d.length===c.length?new e(c[0]*d[0]+c[1]*d[3]+c[2]*d[6],c[0]*d[1]+c[1]*d[4]+c[2]*d[7],c[0]*d[2]+c[1]*d[5]+c[2]*d[8],c[3]*d[0]+c[4]*d[3]+c[5]*d[6],c[3]*d[1]+c[4]*d[4]+c[5]*d[7],c[3]*d[2]+c[4]*d[5]+c[5]*d[8],c[6]*d[0]+c[7]*d[3]+c[8]*d[6],c[6]*d[1]+c[7]*d[4]+c[8]*d[7],c[6]*d[2]+c[7]*d[5]+c[8]*d[8]):!1},inverse:function(){var a=1/this.determinant(),b=this.elements;return new e(a*(b[8]*b[4]-b[7]*b[5]),a*-(b[8]*b[1]-b[7]*b[2]),a*(b[5]*b[1]-b[4]*b[2]),a*-(b[8]*b[3]-b[6]*b[5]),a*(b[8]*b[0]-b[6]*b[2]),a*-(b[5]*b[0]-b[3]*b[2]),a*(b[7]*b[3]-b[6]*b[4]),a*-(b[7]*b[0]-b[6]*b[1]),a*(b[4]*b[0]-b[3]*b[1]))},determinant:function(){var a=this.elements;return a[0]*(a[8]*a[4]-a[7]*a[5])-a[3]*(a[8]*a[1]-a[7]*a[2])+a[6]*(a[5]*a[1]-a[4]*a[2])}},f.prototype.e=e.prototype.e=function(a){return this.elements[a]},g.rmatrix=v,g.events=b.pointertouch,g.defaults={eventNamespace:".panzoom",transition:!0,cursor:"move",disablePan:!1,disableZoom:!1,increment:.3,minScale:.4,maxScale:5,rangeStep:.05,duration:200,easing:"ease-in-out",contain:!1},g.prototype={constructor:g,instance:function(){return this},enable:function(){this._initStyle(),this._bind(),this.disabled=!1},disable:function(){this.disabled=!0,this._resetStyle(),this._unbind()},isDisabled:function(){return this.disabled},destroy:function(){this.disable(),b.removeData(this.elem,m)},resetDimensions:function(){var a=this.$parent;this.container={width:a.innerWidth(),height:a.innerHeight()};var c,d=a.offset(),e=this.elem,f=this.$elem;this.isSVG?(c=e.getBoundingClientRect(),c={left:c.left-d.left,top:c.top-d.top,width:c.width,height:c.height,margin:{left:0,top:0}}):c={left:b.css(e,"left",!0)||0,top:b.css(e,"top",!0)||0,width:f.innerWidth(),height:f.innerHeight(),margin:{top:b.css(e,"marginTop",!0)||0,left:b.css(e,"marginLeft",!0)||0}},c.widthBorder=b.css(e,"borderLeftWidth",!0)+b.css(e,"borderRightWidth",!0)||0,c.heightBorder=b.css(e,"borderTopWidth",!0)+b.css(e,"borderBottomWidth",!0)||0,this.dimensions=c},reset:function(a){a=d(a);var b=this.setMatrix(this._origTransform,a);a.silent||this._trigger("reset",b)},resetZoom:function(a){a=d(a);var b=this.getMatrix(this._origTransform);a.dValue=b[3],this.zoom(b[0],a)},resetPan:function(a){var b=this.getMatrix(this._origTransform);this.pan(b[4],b[5],d(a))},setTransform:function(a){for(var c=this.isSVG?"attr":"style",d=this.$set,e=d.length;e--;)b[c](d[e],"transform",a)},getTransform:function(a){var c=this.$set,d=c[0];return a?this.setTransform(a):a=b[this.isSVG?"attr":"style"](d,"transform"),"none"===a||v.test(a)||this.setTransform(a=b.css(d,"transform")),a||"none"},getMatrix:function(a){var b=v.exec(a||this.getTransform());return b&&b.shift(),b||[1,0,0,1,0,0]},setMatrix:function(a,c){if(!this.disabled){c||(c={}),"string"==typeof a&&(a=this.getMatrix(a));var d,e,f,g,h,i,j,k,l,m,n=+a[0],o=this.$parent,p="undefined"!=typeof c.contain?c.contain:this.options.contain;return p&&(d=this._checkDims(),e=this.container,l=d.width+d.widthBorder,m=d.height+d.heightBorder,f=(l*Math.abs(n)-e.width)/2,g=(m*Math.abs(n)-e.height)/2,j=d.left+d.margin.left,k=d.top+d.margin.top,"invert"===p?(h=l>e.width?l-e.width:0,i=m>e.height?m-e.height:0,f+=(e.width-l)/2,g+=(e.height-m)/2,a[4]=Math.max(Math.min(a[4],f-j),-f-j-h),a[5]=Math.max(Math.min(a[5],g-k),-g-k-i+d.heightBorder)):(g+=d.heightBorder/2,h=e.width>l?e.width-l:0,i=e.height>m?e.height-m:0,"center"===o.css("textAlign")&&s.test(b.css(this.elem,"display"))?h=0:f=g=0,a[4]=Math.min(Math.max(a[4],f-j),-f-j+h),a[5]=Math.min(Math.max(a[5],g-k),-g-k+i))),"skip"!==c.animate&&this.transition(!c.animate),c.range&&this.$zoomRange.val(n),this.setTransform("matrix("+a.join(",")+")"),c.silent||this._trigger("change",a),a}},isPanning:function(){return this.panning},transition:function(a){if(this._transition)for(var c=a||!this.options.transition?"none":this._transition,d=this.$set,e=d.length;e--;)b.style(d[e],"transition")!==c&&b.style(d[e],"transition",c)},pan:function(a,b,c){if(!this.options.disablePan){c||(c={});var d=c.matrix;d||(d=this.getMatrix()),c.relative&&(a+=+d[4],b+=+d[5]),d[4]=a,d[5]=b,this.setMatrix(d,c),c.silent||this._trigger("pan",d[4],d[5])}},zoom:function(a,c){"object"==typeof a?(c=a,a=null):c||(c={});var d=b.extend({},this.options,c);if(!d.disableZoom){var g=!1,h=d.matrix||this.getMatrix();"number"!=typeof a&&(a=+h[0]+d.increment*(a?-1:1),g=!0),a>d.maxScale?a=d.maxScale:a*DV2?(PzjEbi{^8r&to;!bcU!2-cGSb+Swx9WedUe%jZ z(=z>4SD#a(r{|k505IwU0Koiv-~j(P2F$+#2MYrW1ibvy0RR<^MgX8#*#e;PU-chJ z0{|%hBiGIBkNt=Lzl9i}0cKk5ds{Rcz`X#L~%0N;OYmj5h( ze{S{uwRi!%|6$z!p(p`d0QP^C6Tk})`KRgsvwHvY_aBTKfaM?F{lEUa0S^DH?f{Q} z7Po&0_kTXU0M`FB0O0?|!1n)%0RWKFmj6F*^S{x<0=66gW}gA()d2H0+}V@(N$X8} zWJjSs$w6rx>;f%fjwH}W8Tn{mO2nR(TpfoQb=6wB;w>XJqfkx5CM@8E>s+t4S|s$T z?`e(u!7+%cD#H>d$ZquMSL}-a4azgl?*uO5aRq)^MV{?ZflxLaJJe|P6J$)i6mN7* zkY1W!)+MbuIV@i_OVr^oEzbmbJ-$RVD61F_*V zQVi z%H~s+%UFgAPMC=krjUsv4t628e->=g3M|a#j9Zps0Hw$7R3Rb-%|^(5uW)TJOp}s? zP{q*LU>h~mps6TiQ(c!PzmwSrpu|oU(>T`Z$Q@czVe@T!YT7Hmx)a|$!v94%0AI#;3$R)8p$bDUctJ2YR;V3nSl;A1ep>8D&f0 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 O0e20C(u(@q!2S;x+tMol literal 0 HcmV?d00001 diff --git a/docs/scaladoc/lib/lato-v11-latin-100.ttf b/docs/scaladoc/lib/lato-v11-latin-100.ttf new file mode 100644 index 0000000000000000000000000000000000000000..4e7128a48108b78cbf229cb52d301a3e4aaa73dd GIT binary patch literal 76144 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 literal 0 HcmV?d00001 diff --git a/docs/scaladoc/lib/lato-v11-latin-100.woff b/docs/scaladoc/lib/lato-v11-latin-100.woff new file mode 100644 index 0000000000000000000000000000000000000000..48915bb47692f9b9cdc2259b1af38fd97a81a371 GIT binary patch literal 33288 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 cYqen+a literal 0 HcmV?d00001 diff --git a/docs/scaladoc/lib/lato-v11-latin-regular.ttf b/docs/scaladoc/lib/lato-v11-latin-regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7608bc3e0fd03fc3cf3a41501ed9c1b49b773ac4 GIT binary patch literal 81980 zcmc${2Yg)Bl?VLpd-JAfil&c7Wk#csM!n69dK*cWEK9Q0T;$&5Ua^faHXQ>FU{ez? z0aF8k5W)f}luZHz*krT22`S$OHkI^bL&_#0SQ>x-bKiTTkt`d-?)UpJ_RPF@@44;t zbMCzY69mD5e{_O<{_xP)R}Q|hQ(%=>34*hK{@9YP6OAVh3#{XtD7ANJtUCIGr=Hj* z2;V5d?{yn@t>1fd)~)#Zjbr%dxs3-8;Q^{^nkxfj2yHt*fCYu}1}2|@VRRzcAJ zV$1sddj+SE1^5T>-m+!qrJKK+>3c^ISgs(vx^C;H^%Il#{y8iNudl-U`mK17`31wp zfUm>v!mYaw9NJg6=zhGvQxK%xJ2vgx-OgVrXziU%&apOG#EBzAQAKJTT|AD1Hx7G`+yhaej&b|9K?S0hn zaUb9nqWl2nq!R6%mQM;rLY>egv9xb- ziEe?30t*O|$V7=n1*Q|34!{Lb5=16M08%#UWcp?@=`kijuQvw;qtQU$4F-!L-;^`( z^iF{4oEwy0FbR5-0046VO##X@<(w~%T1@~0ciUF}jV8W25h zn=X@uizDs2x_Bg9U=zay#jbe0`VPM$EaV6^;P3nXrg=kE9a|QZ1}f`o!aB!ci!Qse zp(cMpQ)y#KuGw$d*k0o;$#XdJO1w4g$p@u>pNvMOjg$B3F7`(99O1;u#)jdR@<@?y z+r-0{Zu1+`tr9NLtz|o<5vF~8btU^e*B4HDR zK(5<~Usi)&*48NpC4uyXI>s30U&LZz{w2vN_v0PF5q(6a3wWe_DJM}dKvGx7$;jP<^w>gzm3RsD8-YuOJufjMp1ds5^gwt#m1hdENab)62 zhF+&njn!>2F`d9zfCfXOmL;8paSIsAz|+45t`(<>@K?N4SSf`Hg{Vh=Lb{wpB`=8~ z1~3H@K?}?H6ba*n2u&wdAOI*YtCL``F`z^>bA%kJuPkPla)a43E+NLXQBhY+8gWZVl~xeCB>1VaDE^s+n?pMXIe8% z5_4$due4c2o!u&7S#;=c#Ka5+b1>5^$}&-4hEde(Z9$qFi;yp?t6z>%dPAIEQc0a& z7R1ObKvX4D;0QyL*r-(DlT~+iMTRvH!UTePQOG+)-$MGF#5%!XGQ(K43QEN7S*zUc+t8z804%7EQr!D44t$zmlu)d>>A+R{rKwIVS32w9dZ zDf-ecuCQcd<;|ilhxS^f3FczzO92T2K+FVcl`|HnC+!k*Qw^KM{(R{heRYOxo2#aG{k)>y z8+LRy?RsEqhM4W`vTeJ&wcMR;D{UUE4fWl;x2JXgV>>Kjj;D*=U6fc_ThO_wCp`7N zg4W^cKYc6?%l_ zY*oU$bn#$+SE8}Lwz{IMupm3jZc`U^E$w^i32AQ;6L;f{^4i zk$NV}78y%3@N@y{#XqdWQ)8 z1BwT}qQ`TMLY6brI^dxWBzjVHWw0Yz|3NTN#6)Hc}$7cZ&3DYv$>sHn3hC#Qx!Yjee` zta({io&HTmuIs2=7hkr2y7+;mH8;*KuIpHQ-O8GpmDep^di|=JnpM{??ON56o!zpk zt8-(33qnf`4uR8{5F_qG%qCJ?1&O7gix0TMWt5E> z7}q99sZda>p^6cP5f6$*>l=Vj;+;d+tZmTkk#$y|YzWr&R7HoIf{udv2)j2@X%yYg z-C}PSt9UZ6(0l8ezuqx?&!zprAeBW;x&=w0MkKH(ZF961uc=Uz95bRC_*{*FFGn>)rx9&ze?9MN^GSN)!fuFte z>q`&+>gPY(UxQ|hcJmk69lV`&(pvE)`Da3nu$9kejZl;2`mK5d(b6j?) zPzD{;Aku$n4r%5DDcFHN=pg`W5s^%|N`aYH?Du9`LYyuK>d z#$wQx+F1ugB(O8Uf{aF3?9F3rgKThzo~(GXu*e;DezxMXVXw(BZZqdN@XQf%IztXT zbmp4v(%RQt1$MuCEuv^P*Y%X*NXq;L3ff zoT^BYN{MNhv%IX}UC0x1gdL%}kVCwQ-Id&SdvXW+xb8%9$qmU-_S6mRGrXT`l7C{u z!taHEur{I3@#}S>hWE})#<(>`7|oc4)c zSl7@lH4vj%;|Nw{2dabi?3($N0jn(|n4hD!W|svWM|`D0r?)s3s9e8xMI_H+x7y4_ zHO(Ps2!<9DCPa%kDn1ORRg}<^nS;J3;3SxVCMZW(B9W1dDVbn@NIJ!b@1pwSut!HQ zc9$@g(35VF8auRifQ190hc6d5&F=KZnwxq1B2S(nk^pJm0YTa97viRSgZR=yP?0_|2D+|NY$f_;bwl(o4+!`SJ13Cx8FaBR@XY(sJy_ zk38}t`uq`1);C~E1m$}%h<{C3oDO@Y&1!r87c?+mxB5Z)8v0#5_Tq#UhQ_-twM~&QhtfbYM81pX_*)hV5~tOh(hT>Whgyd10qI+2 z8&=zfkK8Xm4sBu0@UhD;ZcAQawie{p`Z1eGz#nPh2tWF>0}?1MCg`~1$u)F zq|-?{5jv(U=wJscsu#^Q%o#=7oMuFt8PR!uP*hWI5TMXS(xAf4LNv=5co!7I{*MHM zK|dxnQH4bxWK)m?*4Bme7R9)LFouT$nu{+0S4BIh9t%`A=R)mVdC#8qaObL~n~x7% z^VyC29@^XIAM|+KL8GV>Z6)(I4Gdf~5DAXlvUlaxqeaE@R@2heSd97p>7|RWJ2p0N z$4H~2=&5Trp4!vWH1VSvJ>n*vOMY>iswy$c1&Nx&xy_lj< z0@_#yJP07 zi#SDYU=tTbDfRZ zzMr^sd1)x<^O#LSHp@<7Vqq53L3Ji3tAp5}sUi85qD|6VG^eRr7O=&5dIgP+i6;QX zDix4t7n_UhXR>3(;v+r`6$Jk%CZ9_4uoT4`m)>(=Ufmvt{*$#&SH`KOYZ zvCER*FIl)}e&2zy%8KE=-F*i}%B9^+yYAn-@rf(?danHZ-ZkGn%zoqaPu&zQP7e0$ z8?CGw-P_fB(NJ0K*e;qcChW!xv|_%T!gkV<@afEiq)+KKZV(621spCkLEN33(q-`w zAjp^??1a}Cx)p3as9NNop?Z+qidP9_M*L2VAb_e2iiZUDFG#D6=~^?5Q=hX|6<;Z? zu;w_X+>RXiBLG&1&F0QeWr;CWGLal{Y5G+K0 zY4y|VK#Rlb*MC59peA^KT0Lr0mC7l2CfouSrif`m#xT@t+^`3j8@%ZY0AsVP3HPlXr} zN!V%RvvFsy=8qvsD;AC1w!5?Uil?@2`ShVqUqxGS@?mRD@DcW$H{xixk@?F9w{>*w zT3A-RU|VP3p1~4vuzuUgjcXn`+&k~^6IP4GDDVV#fU_V_dy~S;cyJy)Hg}}dTOp?mtZA5k;oYVdEconxf(y9V7O`FyPwM1k}+6y#IR^Ust#prW8F)5)U(5lYl#Bdc1{gRL z*^mPazM4BFz1^Mca98^Mm2UR3+dlce_&U4oN{2t==jKekY|nTnBinuzyIsM{Pp~ga zf0B*^vkXEkk)b+W1gu3Oq#_*mpI~Od-3e<*Cm|F9)&OP5Pe5kXC#02=pQ68F`wi^- zH}HagK!5+D_17+-zYS!56hQ{Su~bApC+7KsoqAdB_m@+z?UMZ4tL)k6qg_VK^5+?T z$Cb%F{Yqa8&iqMy5B#S@Xcb;h*qR!uD~pQ?@+o&A#eHI=-?<@!VUK~JKrX5L1%>Ye z6u6L%_zc2E}+@!LK=8^>gS zUcAItwfNA$;O?=u`ufnxN6lrOO-()Ht>wM7*@41<@ALz+aZMDKo^j}N9{TjEdeRWJqELrqW`<;+RE2Pu4O-v;h%SOp+|a?SL#2`UsH`_XglDQ{kG<3)iH; zWhP1B(VPziZ^}uGe>lkKstKe3k!FUWbDo|nsU}76{!e@O$-tBJTG&WiXOG(%K&%pu z%8hKmv?WfTQrdP^5fG%xw=P2(PS@~(l}!s?ui#?7}ZyYX8$ z^=y9bZ?`>>JoD6eSIm^v)i=8PKUl?=cYWh?w{2-ES+xJ-U)-_ti`Nexaz~eTvSL%m z=A%7*%Rp%&;sb)b0Q#mC?ys*TEO0AX%qBg2wJFb1o|A(8@Sb39fgwl^kR-E~$)GWE ztq^iP;?pHTk?FY$B`PE;gjeJNL~xUgMUWmKgKyCXxs$5WiV|UiX++WA*xVIVZ&HYY zIZ}vc9k3Y8LRwsdyxc~KH3|Ckq;Ueuz=qdK~qhC4F66)SG@4g4RuYU1R@(or$cFDrR`|eNvD-%W! z4MpyLAo&mZWPIIC%jz~P?(zg5xqjs*cD9Jelh#Pj+NM2M-&mMfS%1Yr5ntzlLshIQWnITzm@}Bs0!aZK*?dvx`!p9dKm`nl9C8o?DZ2oAmL>+G z=c$Xl1FQjOSBMn?3il8JpIR=g63kEljaOYeV7{YX{xuIV7 zfZaMce)^w2Ir+?nZC_@l2TuKBd56L2u;!K2_isq-|H_RE7hd;;ZHdjx1|kktVjbJO zZ^z5b_RvGj_R5Y8i=MDA;bt0)eG3yl5 zy|DR>zN0VgPkx3i+5ghfKJl9mCf|E$i+pm+KPTUN@aVU09X$Qu;4R-GTp>COVN7P> zfrOK&<*c|8(N_^lLK4AvC8HMcC7uMq2MN|O%eNh-;F3UpQF^)_rRMOWaBoAetT;z0 z9S{+;q?M*hT6&qHMUf`u(1oUk#mcGgh)+)*mrtHb7T%roox(8i-}IPF!c7S~o|uGG zq%5Ta!AYMsBI+3h;Q5Fw)2V^EcnFC2J8LMJ60KP=)F-KKMj7w`>b~ZlrYW1%{jk#c z!Kvq7rJkElP2J5quF!1)bQ>3bL74>=Wkun<9GAmlHtK~qi>J6Rig}RdnTg?kdOAC-Ho7XQLjQq&uV_&Mj_`187-{x&89(RSk|DyUX9c{L-;YzjkB)!kfQ(-0TgyS*zE+d+M#?=3*D8@JE>K z!hTSAKSsWI5YA;6~&cCJq!gpDiNEms7 zgOJLeabbBmredt5TELN^5g%T`9nDvOzf$rDa@D6CXK8Abiu9p+UW-Ve#MoYO=j5BO zJp3?qg7-mxHNJ+0uO=+{fxKL=i?s5TMxIO35G$y#$tY1M#d>*%wDk*|T?WMpsTB9E zD63a;Rw+zAR*^ue#p#pQt{O#2&DBDDWDC%G(*ly%B;ia|@DJ6{Rt|m-;4@!4a0rUl zAbwL&%%G4G$AA{aq&+rIMuykMeqqhczU2u~OnUs4xt0E8h9o_4OLnf6y({Xo>T+^p z+0sS6jQ6+b@;o*E$*U?WrE9aJp40EhCo_DLC(u4x1{H8V>J@HJSddZdvLICjs-=eg znZRFVx;VOP49CGA6Xs!2ig;i(%B>xn$`v2$rhmNn!h1bhczQ_Erl~ddqk_6gwg0D7q|io1V{|w zHeFtom(Z@z9(l784v!;G6pX@mB$fk)$4|U&DF|@nuWA_m5VqKH}si%B~Tx6S_PFO0- z!y&&f(`r<9lu+Jz#0<_!REVC{seJ)rxhNkqx>P z76uBeL`Va)(yU0}9x;cseIH@9FqyncEP1*b6;0dkQKb~cQ;Fkasshj4r3pk^u!zW< z#tb4GMTHHADCBz-YYdm`bUSlaQ~f7AuC93uz^R~%fLqPN=#L+J{p$9bmDi3H=CX&L ztn(*tc9fLd@vlp+URLq=W8W2*PCX%?Y}k6o%E6=C`dyxqsW(bRA5~nd36% zg9z4?OboF~ez_z+b`06d7K$3?U~4hlo4(kszKxEOCX zx$Tb1p7lMQ6Ws+Z>yKQ0WPMBG$g}%y`o&12(P#72kL(}o**Q?svJS7-wY2R0)Q&^1 z_v@a|%q%D^2)B+@w+=OyRx~U=ynM~44)<vFxzx3+0gC}-( z4fbKY*z>5n0{CkX?xS65_*6p(DT(MIjDrA&X2%uXnR*Q#;yrL$(aoScXp%7q=&TO! zd2L8XSX+RC()3A&1h$jlt5~KL1eXxRR6$;ivrta+(1XB5>vUHnYhOuL%O@W`ouT{N z!+^wu2e6;QgE9DN3`}slY!-uF@H7AP7)Y-n9Tv@{FhbMKJa~yDx3rg7b$Utio%AN< zC0E_iI}HRE@fZb64hfn)$caGASxOb}WK)uCS5t=g*MKO#z5M3&v6qML`0ml8-@S9_ z<=Fb;_q6W(#0qK4ypHM9?FV&(rc@)X*?l%4!Y*T zQ5%sCN;z`UuzXUvs*;{HHX5ooZKRC5jak_CV0M9?l^CshgU!T7^kIKvHcZ1Ir%j(> zWTkT0e^;{espQ9@nVaO~9Z&JO$jxalDCo$Re(uP_%;d(qL#_DX%!St46D)NXWuAVK zuQBFG_czQ@j_^<-BggN^w3?xfXshh8aYPF!%S1m)>eZ`~#Du+F&Nel~*leYIw@$vx&<+uBrd9kzo&f*ZmxG z;TEn;7~O~#VxLNCCM+O4bc(0dYf7AkDW0^KN&<13x5IVTOTrQ#f2t(P63Q!9n}+u! z0hO_);lB9&m#6;nM0UW;`rJ8YGlB;5O+o*YV)NANVzab1+cou_aC;!wULaQ5^N4}>6!eV6g~YdmsBwc`s^zRoIZYPFp#4=c#7lXiR6!2Ql3J88@a4N zzcY*mXq@PGqJWCP;v^gqxk4G99s~_W2{*$-$}{wUFnR0*+neKk{Bdti^2dfiuh;*N zfAjl#0Y_kGevjPncV#s<9Boj(`@qvmZaB#m6tW6RZa4-6a%M_yIPDW9%_LIn9t_o3 z#pMHejaK>Pg8cW33&5#`6&S-e_!tl^$Fye{WSyu*%fY^R|G^DVlw&>3J7Jj8eP6u3 z1vsF11w$*8&a=JATiSHS2$Wbh&&OtjjFh?;OiR@5XPd8fWEsC^bs22F zSByS4LIP8V-8Qz)SMI4OPd;FC1GKOVhED~;)IO#djxYM) zI|^jriR7OA{ihBc!o!H}CiX0JG!tbVAe5>@T-B5sr4=Pu9mb70phYs{Yx*j=qTZm= z`~L{#+djV8lWqI0{J6*WXKN<0e6n?*10L2Hgi@i2MHAlgvf7%mrt+qua3I(3bGytY zQQ#S4w3`hMW1UnjLp|h4+{hl|4rlBjf_sg^k*Y?B3|pqxqa%ehIOyBj_S&`!27ta< zI21r2vk}&mmZ%KR_u0Kb;wsWYIZZ&ZQu+h^JskuLA*3kx%~cy|&FC(rOP>V=BM}&! z;b9t*(i!^Tn;yBxmGWQ7Z>?@lOC6Db$I8}P52LtroeleF1EO?zC_7(vmkcgm+uX8c zu(IopKRmf%Ds6$Cp_&$@sGP2by?{swf$~Q_E^Ck~VRK@7CF&mWu8KJ;(Y7cI z1{ z*T8ecGDwaU;%_ zXV`jtgE8fWC{I%+UXRh9nHjEM*x0{sVR6~uu6dn{8w;I2bF}OA-D@8{)YEb4GyAtc z(jj%4E&hPNZsNrFs$15_kV5U~92w}n?v=|f`sz&}MNB_vst@!3no3hGL{m(qDUX{+ z*1gQjX^M7)SGnL^&&h_FFH>w?vZf)bo0Aylk9u%nFi65%^8FyDex6#Cifc(HPtMYm zq^z15HKF8V^1WY{|&+qsOB%tKpNAB{hgYy-j6UOfNA z-349iijEAe?Y`y}kjsgYjwUhse#bS#3)pYF>Oe2YIlYLSUfuw`6bhBhp2&(6ArGRY zs4`NSo9*V=+z?QOT)GkM#IeDE@@t^RgJ7aa$zm7@Mq$L(Nm?ujIpG|{^P%geQBQPc zyJ!UsA|H%aFV%+>3Fs8^X}PdU=c6C)V8X5hWgiWvos<~!fq8|%w#4wtd-ir9QGShB zv-m(?_xj#yhu0Dft=hJ?VcS1l-Pd{e>3vt<=@g3#y4LFCw*8OqEX!SYVr_M>5Cl}x z5^>G{*f*}-{-qlhUi4>974dw7fPmOaPPWHM{sivHi();> zp`t)L0wN>WK?)P;0o>UHATYKB!3NAu9m7E6Q#xIR-ec(zwb#yX;I-8XTHvsFx&rzI ztr~nil2(<9XUaSnM^1{^baA}V$>f-xu9UtdkGK^zPM*M~=~@^#i4r8)%&ZN)V~&&u z;&h69!3JaOJ65V-vAU4bGYu_Ih$2s9ky0@VsUn%g+l|4b=|Y#r?^6J?xZkiiTXjDaQ$Ad$q#5tcDzWgCq|E=VmT za!I8jc$KpZ764e^Y+xvlI>zYSK+g-0*8Qx`ogbba-eE|RqV$d$NjV%kSHEa1I2nsh z1DU&vh-;IQm>Mm?*K|aRHo+RpWC(-tz_Jb5$N|+mNjy;7;-Kzyz$q&_B+O~~kEA|w zt&%fF_N%V_)y!44zo2Q;O=I&r@@2ikJ&>t`2$OuHXmoV zmi4XKy0f-vez~~nl5os zpnjlo_3quPD+lVKd0_f)ht&8XWTi*=E6>022p*^1Y9YNdg4hL>7gKaxrokginr!w|1^mL3LaIk! zDBxO!!f@(S#1;E0AQiP5F#eUE;0a|8DfFJA*_2KQUk06<26gcEXF5-98M|^x#WUM> z4t=Z{O5c+`V-1^5ES)+cUbp|s!Okf!wSNs-xk`Q(WaSfHArFAtnPJ2)jGcQfNLu;9 z6VW`3X2}76E2lfIN>E^pXd}2$ap997V!Dmaw2?%}g%@SNw!vwfAU#z-Qf{j1(mM4q@&?>`jceoMw%WLo-%_A3`%TCk816Rglr-#2lz{ zXWLmKGvI$Hd6O;2;motLn;-B7ZOLad1A*wX^2?L=nH_8y_M+@}WM^1{?xe-xWcPcl z$y`i1{$s+U_-7nHBw^1CKaxV|R??C%&z$;dP!`>3a4Jp6NWRO_OTNElaLr;KHK@WcdMuCVF zII1lOPo~7<3>v2@(h33`sdS3>fkp*Kl2$l{I$B}8M^QC%KrvC2!U$0iWI}~1tuS;! zAe<0BS0zj>=k*DyU?4|`Y>?12<($Rf05DKx{DoMDn1@D*EORnONed5d-N34h`8)+hL2 zjgt2SW#at-~lZz=qm%yY*yCrdwU;gZ#JcYb1U??6$}z+Ro)f9&N;4t@35f(6IEdgzjukM&O;`ucO9|3-YnEh|=>SWj7W zqHufiaa|_-!{kT2c$OcLd!N)D7$kkGaAJdA0aW3qBIyJ?-ETjYN%`|y(XNJ61fwJ7yy7$NH{m5C@Hu8Tq$0n?9ru|i({sD zk@!ev=VQCLw`A|bo7Y?yV-D^t={ru|#pL7iV9}wWb=}vJ!{qo#ds8x@`}bM?MbJR< zap^U6tq;yx>)Afznf|RbC$Zw((ug80w~4Ry4ByeYYT+==R7MnEYt)i7Um7`Y!I(5p ztT>}Rt!8Si(`%lu4!9A`ykt{?6-1%r8B4VaN&urI6PMP97Dy;c!yS;V>KRMbKsh>1 z1MDPK6%~L|q*D_Vf&uiRk7-vj=?pVnW7zJ-X1c~+dnWPlHq9}%;bZldj7ah^@+BWs zTw~H--+zw%cmE2_J=U8TDw;e_-myf3>K)_qLVTaE^-sCH@Cu-2yNxtD&g*EkLKaAD zj~;f9NNKFZyfvW#;>Jlv8pETlS6V@!GwuC}Vpy}}hf;^go~C!sI_aWBhv|V;1@1$0 zTQ_GD)8Zi|P}FKEV@&bSQyfeY$NZ>4#Twh3=ha!_C%2T%%kvqsY|Zi2mzPO@_2!(~ zeu>L*o!_-{%hVB)t?h`BWkNRa-L%b(w3jx=Z`7+ZMYch#l`%OFiMi>1cSx-CJSp&( zRJv1op47RkPCL(271cbc3#xOTJSl#*>jkDsiQl*QGb0Uy@yfnfPG$d^jcfWVqZ>}F z-u`53nbGTXmNbpD#TUi>mHlfsuI;a+vo$B~Zu;Ua~CO zQ$NpY%Pq*wscJ1KYbegkFKu7h*}P+sbH^# z732w4kycSd*$-C{I}fNL>7mUR(jtdz${~v{TNv zEKTd5Htc_Zc@9ph`YXtwQnP9_UJ{yB2!}1ij7KC zl;*!oEeeH(n*r1TeC6KWR0V2+Z;qhCFada^5gZ$wOsNIzoU;y>)RZXTpxHzegR;s~ z5e^5d*uG=Yjm^(MM%%g`*^cz%a_O&AhxcF6-zENT(p;|LL2K38u-;~_=AXsJQ)PcgjaJa8fyxH!VG-HO~ zt&-oB{*Ha8pHEn-Dhl$0c{6j)ihXH0XXF`}nRAx@dS=cU?Qi$Y@fztH$}0P{m*@r# zA%!eaa@NX`JQ$*PSasU+hjb&zWTbh_PD&$Z70*g@DOpFHOklyK|71wUrBo2?f03|* z!gjMaSANB4lZ|fk_hr9pp*vgtw%K8n?WWh|T-WulPt1{@=5yQN%mz{M z3^f~)C}&`Wf5vN#*wXS5!|4UinWa|7OMU1(H5ZPaC%=f2rv^5_lV{kK$o&e; za=ew{&U^&>Q#XDFS!!ntw%=#?-1j4Q;}14#@@Q@@OV}LA+^KhQ4CV1WU-B`Yqh^DS z`bW%%S2&U|0t}MWcs2~_iEbP6m(&zB5D3>H2{}kYYwt+LAYlf`%u-pI&gps_IRwfG z^3ua|=BH5z#&uSP8hg={lY8{}+fE4yVLm^fza|Sle%h-Aj-RM41f`MJ9DJ2L)e&kAMlXHS&2`X+ zo~RF|YaLmzN@%zRK@i%e#3LURJTV0LY4kYWp#@QuJP@N&@bkUh-Mw~~y>#rzXkD(w zy>PkBY4esgghCCaUVL4?&~3@B8$B{sibCx1j*%V1iRgw66Y-t{i>rp*&P_`jw{F}J zjdaF}Os1lEqA0py+4_uFiN9$r| zl!%3No4ICNQdo>5{L33}l&9W%64g*|9P?PA&0|MY6m}IMq?gi z**=Wrnl&fkT;Pj|{(PHQ{sP8nM994I472VjA!t53QomS59kvIyU4NqDS4 zD=d+Nr+~3=+;snNu(h{Tt;G77$Q-#Oj zO&DnpPHzECUc>4cY&&VF_`Y^+UOBevgEI zqb%OBq$OfEJLQ_z=atJies#m8@xlFzip?2AN58Od&x<#XNYA?Seq-sVZ8w`8Sy_fD zy)IagYch27^&38iJ2!su&{uupd-|r0$IxBMH5GI#x{TLB?er$EllQ9lKz1RM*L>>8{Ni~l;#GRtZ1Y!#J!Ok_&rANJ z&l&j3z^+Q!Flfv1+4g4?#Cob2@xi0QPjounI!r}_@bN?j-GP>y4IZuS325Z|`6VIb z$)s(EIFg4%eZUIEDK|gplW^2K^fB^QQ?L|^1ra5<`S}rDA6ykm5$O(?Pe1_ogd>eW zLB`St(g2k?Y$$HPo)HSPH2C=8ka~m90QH>Qq=sUoR5b95A}EKV3cJB<;*UdlCs*E8 zv9-BrbNR{TcLfVVd3Ue8yJBlo)20gi4ip>>w~tg;kF^yRwvAO+kFR9Y9s(chv}$9;vDxZ4ZarM={h2(8U;X(+ik0kySwZ|0%`EpXH;y&`$7D zCh*)E;$!7V?1rj@vC>h_#844HmXUCb$Tsi^!=-JroEkLaSFJ)b!H*4}vm&a10yHDI zL1{&)f+T4J4kMk>Aa3V?974P?&&6lic(5U>mt^+RW?&d@&T5B#6dKkGubvuJYb$FqYOxK+k&z+Di`WeoX0 zk=(*!$tT(35U)_0Fp-FNuVLGdzb4eefKPFKWwz01YcA919d1o8D+i@)g)p z1QdbN$9G&(`evf@18c&A1XYnJ2p(K;$Z*O5NdOfJVzXR<+5xLXJ`F@ysS}E^Z&FKC zB5LDzK(*s&R-UXR)v8XynuT?_wL_b?Z62y!w79lCy8f0`a1@preGX?y^OBC}PUDo2=b^u>F&Js8F0X2szp8EI%1F_M zo@p0iIM-j<9;xh#l~u%gS0@%-9*%4qXx=eg)7~)kNNj#nT`+r~y0Eb-5)Qiq3zYS+ z>FyDi%18KqeMHh{+*gnfT(DzSFw5kU0>ueDZcgr_Z1M@xi!i+)K8AwyhfW>{VY&D_ zQs_t=VY-zsl;B?Zx zhq$ytHsSU|{3`MJ%BWl!-G-R{8yr)ZcjnLXKOm2*aC-a(wj$wOyLxP-r@Nt!&U?G7}@^?IM4K@m_6t29WKTc^+=xKq4=}-Tt=_3kpL|K&%@(4#3a(Tp$EYs7 zY{SmGo2q2H#TJYXw%}OmavYP}Uei@mG&veyd;LQ%Y})kVL)Wj3)AtuQZF+&ePgIQV zyZNE&zCH$Oan^p{U;VE-W-^!h~Cf_aBOJ+bNWOS|Vabm}c2tx6nox$x4_ zatoXircEzCeBHWueBE^qzqo1Q#fOydXk_^#x8MNniO>G#`sI(_a&W9_)8~Gt(9tTX zLtHFBfjvWY!vD~oA!G;EmDioMXQ&=1fjvW#TuGt~*%LUY3P?3`+Ysao$b~dvQW7){ zr-X+IrxND?096^4=)fy=zYhQj9M()YkY58I00LI!?9D?eu(`JV(AtALe((23l@C4`ZvKHx&;yYjsTT2_R`~cFy-M{2Fv!#*dDrt{Va%nUgYOO~aF9Nw z!x4$_5zy?^U1^KCWK+!bM_3* zq0GejLdY^CpZLsEDY;*PaJ3353bZmsgNHYPd{f{g*g6B#n-~kMcw#KDSOkH>d-brd z(oV{{z>0b<@_ERV8z>I)mZ#l;mfRtId9q9QO!C;VhbO5u_*+iEy!w_~OcN!W4f+6X58qIwX z5hI(a5NM6C4q2=p1qRRvK;Vxfbsug9`hXWMHFN6K6QtkqyIW@7Km?JFAz?Z?36nve4#rliY2n=v=Jdloy*< za#f{kQG3JUraXUbUv-w=XT?dh?qG>0P@ZdB##-aicy);#hw@wMhU%2t&A+C*NnE1s z6UU6h07sgw=BYuFs2cWiFm<0eY!k}xQ+D$+9-1S2Ph9dFTaIV@owiWE{CF~%Y5lX$ zLzNFxZWv-zd2Bh)0nZcoT|G*KpZki*nvU>5yBjzs20(|iqx_TsW2bbUfu|RubV*ui zB7Dp`4`5O;;D4b4K`BpkQlXZIp+$Q})D=g10M8MaSx3v+s7kM+qs_ww(^WHrya{R; zFc25jyoJ&9T4+geL{VWF<0PIUydt1spBDio&eBMg2y1EZ;6!lc0Gm>^F^O7TxLA~` z^pT$YbyfmFq?jMjN2wdEV&^t3kD&Ybvi`lr2L19#DRK#R?>eOA67UD4@{9V)1tt6-~c9{6md$dhZ#)q3}Us#GYZiN zdAbReLQ`ZD(){JAxweQoC|Ob}LXnhob-lnIM+Hz9vi+i8sNmL~}_;!sX8_D8}a~M+AkN z;}w8(ZyvtU(MRNTXW&j6OiXy?xr%XKM#4ZTP9GfKz|?%)wZkKW#SO6(bA#Kb{z<*v zo9`(r_m;Ls%J*ii7|CxMt|{#gI`n_X)%BrlSGLn4A0Kx2)aSi)@I=lqyDD+9K;y;1Ex^Nc#x>SC6&=X9{4<}0UBOWwU$-;^W4z6WgSXy^V-q2n_ zCA_UAbt4Y$WmoiGG+a?Jd{OWGeIpeWBm3qr9vfS{Y-~(^ynJ{+?z|c)FCRJ3H-GWA9Qc_$;`8~EN6vnMh1m?oahZIN zfI|4LLC5zso^y|DJ;c`z6l7qxm9c#}A3}@-e#xjAl zO*1T2wYy}oDzgaoCb0~#i3qVgWOQLRsR`1diKh!8i)xC|J;+GT@Pz9^${m13vnWc2 zzgUXl(j6SZNgAh|xyxo9-Ie@zrw131EWPaX%`-?2J8Gmq{eH^ss>mCZqRy)Ph0NS( z&V2f5yQPVJw5(DxqD@XTMAYm@vPmE78{4(%jTo z7ptyH*Sb^qG|*66L%E5n?oF4lC^!YFg@j6`;FiR3%K{o!)p4_eTEH|26`UGGsHGX- zeX~KLu!dgehl+XD-~r1B9%0$Y{{kMj8n_vt^poI+Od7&1;gE4zw_rhkHzB%`~-=LBXn7rc4U`F4&rx zjhC(zM(Q?Sn4L3u?+i@+-871dKfMqOD3*r2QwLSNg|7*Cd%64o_~0U8v9Ly5pNKde zYgR2^ws>rQPiF^VZ%tKcaVY3m}xXZhgbAw7~ZaMG69 zk`WaQCZh=(_Cd}jLx$ptf|J#VXmrGyVw9L;vzau#OuGnGPh*%i1*6 zEgg17kcMxZb7E6%a<**FNnCc}?Fr~Avx(8U$9Pt|NK}%TRpZ&VIe519Ts&Lx38a+2 z3$$!!Gj{t-#y;8gQ7m8S8qWXS)5Mj||HU^xv|T*8YKEK;g^J|82o=fjlD7%3C2Y;0 zF51hHx)+TU?ilPhQn9h+1qo<~M^GRZIcM-&YDSw5315^e3mueiCnueN=%nV{Rml`U zg`zYV%C%_cu7V^IHOr4G6C2dpBuJ{kB&SXu({-?z4~{w9gr!7md5m_Jp(BaGf$^>9 zz8EcnQy~q>i)LSq_FcLetzz`xz~J`5`kLC%J&#!`+N0I2!z~p({AM(ZS!bVpHQE{6 z9S;7sK>s&z8Ja1B@SkjlAk6Xntr^e%D^>n&b}+5{o2lnNobmk6spmgPe{QHuJ^wGZ zAMJ~0evSO9w_po9g)A0GxG4{VP9{uU45OTMM@w1ff#6Y+S8+)yxf4O;I$XhmZ+Jt> z5I^@-xv35TRM|rLUkVe8sgxESXCKBUGfuLj~O4R69 zs~d2b8(jnb0X@Kxj4Bu!5EMgbcWQDHxi{&`Li#JIH+j*ALHwaKHRWm*tEYb6Ca#~H zteyJqv*x1gJK0<8+iNU&w$w#D>{#+sZa*SXe=6;v1WC-qisXa*PO1U%vP2f?Xl<>H z^|jT-Mfm~050>-*8%RZ_2Vg|&nsE?PyUmI_7Z)(xj7KqQy-u3m`l9ey5C%dj+I@Hi zPmtlzLOQFZ5P@5}F&|3L(^f3%M+fPg3nZEGA06bJy(9)Sde*?%Sp$bWH!$o;hyG5| zg`8J2X8=e#J$_A&4}B=el$!?_MdxT@I!eFrLxG)6D@Zjky>dKSzw9Hzlfhx=GDJ|Q z(WvT;$|TS@c-UTvA<5~E51esT7v~ozoZ}ubWp7j_-4Vf4Hpo9BUYq71DZJ@t_b>gx z8^-Lojcn{U583DTr5vE?L; z){N)GW0mr6v#zxA#7mXuKTw{Z`6dYWB@Q1MZBTUn^F4e3KCVg-Z%ljsmh$|}yLf&? zPwB#KA0yGs5xc(Ppx2|rCZ14@#d$Bu+mLT$d^k2o@J z$3etjGQix!3d7e+Xs_nQsU(ngzzBK!;L(KZWoA7ComWNV0zHsiaij+#(R}W*IO~eU zu2zStl5>;aMxnrl*^G0qxKx0BsP@e;SH0Ak*UF`B9=FJEa0?evQX+0|L*g6V;1+#N z^zq9%_=O!)zj;mfpSZ*A0QSgSp1hVVp<6m6i+G%0;l{6X6Yq)ARc=Z9zNEx&b5qw| zZq$>!q`i3t;fL%kzGnQs624|68VFb3ne+KuGoI60D&^m1e@H7&@RjF3objC2Sb6>f zdXCw>LUP#-+a{ zKb^dP9ovw+cO9Ex%hx3zW#fP);k?>AaOcWfz?Mp(5xJGNx>#9BAlK)yn$_EF>7yQZcnH5wfa7DMijVhk{F?pzEtdYA@KGuMHv4p1dBQv8`480RM)1a;bNHmIQ2Z_jI1o<7r7bo*nngS(gtF?c|MdGrIM+#?wM7dK-F)tX zXpT^eAE}k7Q1!tNC{5~R+J!cBl#F`t!;C9!UjF4-SK2Up@{jV#$C`Wj}X+TLUN?a6~fRwdD z8Y|6FRSvAAbJc)atW^WAMlDT6u9#Vi8h~$6r3q}})k3fgSt;=FH_j{$YDQ8SqpM0& z)yPsKlF(}M;H^dy$^?>W#4idyJGT{=Nl#xW%@2^lefJM;xobmpd14?@UN^jYxUOm9 zhN1PR)Ku1nfw~IZ3f;JP!{Wxu?nT{|{>J4U^Y#ptKihNFbMjNIt9Qp*mv%*KV)@1K z%Ie#7^-sBfKLliwK+l`Xzv@nl5$$<`+hLnIS@@Uyw) z$AQ=L@W3E+3qPFm`N0{_Po~PhHskrnQqSL*@%%{Y`Suylf0TOuy6_{kPrUb!dO8cH z8@FArk{(J#=(g+eWuvRcRxKRpnb*BQD zhtpKa*-Fvq#UHhQP$#tRVb_z{ocf{Tz9yoQ^%o4AS#S?yYUoft(tn-1AqxgUoM`#^ z8p>oAg8)}{m`|+12qS{Lfzvbp0VBBu4XplOHee>LE-aXF&no}aW{W;UWU0_L?}@n^ z$q;cRdUVcFz*kJT6UJz8Z#qT<=_;PLEpj=MkA3s`+Cr39Yc7Hai2*)Uf;>lKW*xaA ziM4COUGa7b@LpnM@c(U@)sWR-v;zN?L7k%^obR7u#ki2plp59twM4Ey`Y#nn)MHa0 zc8awl8<}>C;gDZktdctFw?REFil?+H8)=XLWWzpNt{2qNNwfScVBLw)<6Bzn{;A`- zs)gG+dsekY>^7&qI<#!#_V~qLX~m9HW_SPrjrwgKex9uZ{-auD)I{ROvW}kIQXIi?c$F@+O(Y&sBv>F^q z^)Nuz@jN54-FtJOBR0Up&_W&txfcfYS%x+ge0W9D?!tBl8MH|d4xE1mgPjakWgp4l zS~E@NjuKPaR>CmE}he{IHd zlBLS??aK2r|9}B>J%|4a;Om9%@8ARN-UUUpB<=Y@<@uR6@w{Fp_)7WL@Brn{{1nei zWrD9f-%jPhZ3fT$1-t35M@mQ^?NzR?OSISZ)%R6Z6c+Hj3la)t%{36ZED(?RUCvD8 z*3qSlP;{X%Md%Ps5-|X#T$LL?e_^xK#pk?GPuBzupM37D#0Gq$-XU>o0^<{*}d+$k;lSD@A}q_y~XWEzIbTE6PNe3 zANbVPiGS*JU%ci^Yv=DDsgmsRfsO407Y!Cy4R6zx8mxM6W}myjCg&h8r`_IKbGXTB z_Sm~?FZ<;4yKnjV153M(JhOMrV^{PqU3Toti5n(wuHW^kJ>?@EMbTxK%p19KX(eBm z+o9OF z+vz!Ut_k6vkqdhjzWIc5p;Ni{fuFpJb)fSB%7Fxuww0VS7VaS7!3xbqOuk(#lT2wZ za5b=5VF7Ius+QL~LAk8|Z*%V+Uv+us`~FsLgar!-A|f{fL81^Yh9CqGC~^}Rgn$;1 z(xB)l6AZHoNJ{AL5OC zot{o#d(W=sd_M0afT*2z&p)SjeR%R)zxDk--^=s-p3C?7{z6aQG3M4&8RmDLOPZAQNH9hcOb<<*KX_7B*7Ql!eHL!`utCaEdE>14oRR92 zbEe(vQ*It0Xxgr@lF%r5>t`n4L&*N#ddfa%>6aRLj z1!)z2;UD(n?z#L;Doo~km*H>rluYM)GK9McF`Ew!xhtfo(*epc>;pxb%O}3_&;sXs zTv7VqjG?nfJ^bATi=FoI(aM<%HILu$+osu}bB`3R*zxFnp&84+_UL^%pFFxaamT{H z-sL=yW7C(7y1Q}F)_^ul`|jQ^4(9yP2cjJ4Ym0nU!3apK)xs1 zgV$v|C-@iI!|m61ed@Z~L-+mv=~LJ3_ubdG_FN~=3-mWae^>A`{o9j|GWl75mSn(HmuC2u4H+V-Yt~IQSoyaTQ{ML4o7>Y;o}G83J5ix>Qhv4U_MDV`hJF0~WjEe= zvuNHY({9g6DL?D>1N%p}A8f@BdU7Hw9yu{sKVSQd`qvM%8}ZHx9Pyh7K9v)BpfBoD z&x(w)wEV90$9|$I5LMZayYrIE_cnI@Dm62i_W~zm&(~Wl{AOUi*;8-Ia>fizX<0ww zT##2&rfD@rkyeT9CA*8(qeO2L(J(;WMYvBwiq27L0aUR@-IH5oRJ1|;`j~mY>!&)? zkft|Vx!E}c$)Rqyk#RqkB{JHd`r;aV5gBVp=^de|$Ae ziqi0H_4;Ch?yr~pK?JqHlhjKu=&Qx#TkGep`{7&2Dc~hYk)p=?r490JRZWw(UQ660 zr4^@JNolye?DwbAH_1o6wDP2>g6pPUIVKwN+HCifYkFc& zc7opR`_#;jS0zmP`2B>~Z;!0~q5v5UX7e8KWrGas0rJwI#0*z_B3$e9|NI-qw2XYS-sICb>U?ggBlg&S@1 zhZ41PqlJXN3EeO1Na-g(A97EBZG_xd7}2_odpVy7{dZ95d25cnX8G@~OQ>&Oj|_UM zBKN%IuTND>Bt6~2b3TV;B%~|`HZPP?!@L6Irp&jKvW#9-Soyz3iaA@xtwgQBF>1}- zVWMmQaI$)zBP%WnbX7_*3F6S$o({+VDkO0JW1mA-gRfrMz4(wCrXAgs{1&|M`n!7e2da$+L^bzLfa178)jecA??M3yQw>!uGHC zroS$F{<&{B1@?yTJelJp*yoxOlW#07$bo{S?XYx;pN!NKlzYor*AIQ(*71GZ;@2BBL zPil)q)gG%6da9Kx2U}|6)c^FPwzzGcFoWYM-RGRPrq5V<-~ErwOi!Qr$o=;%osquf z!6}nw%$PLg!Q_ky3$sUz(Ax;_UpRHdh^Y(j&zd|_+^*#P8Xg+XJYceFuIzc*4UobdfN*o)p`RNE^^v=QP^oH@Qy+Ek2JcuEt6R9Z?wa!7qxfa?(-`?t^TQ>bsrV)Wo4^M zUp@P~&eVJ}2ic7jWTEem%M2CVJ>^UHWjyrY)Vr1@6zZipnJQ07o-`qA%A+&y88vp) zx~Y%m`d_I@V(m|eB)*gI9rf71|5?!eiRr(+mhhdDp5G_O|IptjXaB2y!|!J${yLPI z{6B(Wf%a@u6bU}@4o~YJoY8%zob^G^?)yYXjaa{GMrv|+(CA?U?zpSZh{Rt{-8^-} z(M4mE`=<;D56ODq!O`gp$M@?$Ov5zA044r?XmRq-y6I{lq!47!aZ>uQYA}Pdh@3qL z4IDLm{iC-MPX5`{{Hag$624&met(^1eW5ZFtjmO5=#skKt;AWX+ZX8b_f|*f_1|Cd zSzoL==}tCD*o94Qt=|_^^V2KJa(5l z3}R^A8|qk6=w?1g5A)>2bd&yPOm{xV+q%j2*;^`C{Lza~&z}ACi+{ADa?9+5HNAiR zk^a)R;;ozwp}!+%gW6ZZ5Vx<-%hzywYKAXN#o)H3^F5(|;Czp04%Pt=ozD2oL7vb* zeCp^sqL3Rfe8-eS-z_Q~aJ$-VN>1m-eWflIl~_EALxzq?9+#Xj0bm zr%sr9c`)-v)cq|HzSDbR;X}dLu76I7CLh=NjlY;bddcGXN`sj@BYWz^`~7yA5qA&0 zQ^(BorY9vB?w#YU=&MtO(?h8~4V2*NpQ26_@~*&lCzgw7Vc%W8jsm6V6oyi1`dQbz zJM8xerYbjsEF2CG4&N98F8gAd66eN}=@(GHLGjKoD@l$nTJ!It7}gu^<#fH2U1g8h zp89>L$~+M#v6S2jCho~dr*rgu`uFp-6rB<1)=KK=U>vJBo_&ew|})m>+d z(F^KEhWuVTZ!alNl=Cu>jF9uu8PlhY&v9RvG4^{yzWNsp1rkKdVoZ~C2m`Ye9tPapl>`=!qe96e~r z{eJg$Rl-JckNhFePbCxi?GdeNx-DsTpV*T8*TI<3w)sP($uU7s4!2=<_$`$;^3YF8 z8{~nLR!!`NJwqtJj;Z@ltVURVHHl6N_PextLsXk~6-24l}0}=#GV(ehZhLpGX%PW@(J$_hKSc22?x=*Ch2FY7D3sHh%>Z( zWl^OdRfW~3$fBt_td`inJ4=yYM=+`92L$5Yh)(>1A92gx%DTv+${%^YRB;-y#~wfc0@nYtCl~*$M^VVZxnVv&_a=<8-Ad93i5ZS z9M-bnEfJEp)U}tH3E2%6XcyCJ(@KauS_kO*C`oM}#SwjmjvPm)?RrEu8Fj8E;&t!t zj^{QWT;d%pMTx`dh^XG^YGU&$ChU)sZUVyl<$lW^nWS$-TQzRZmRt9*H|L?~>p9dV2bh z_y7FPVQHWIUCM7FLt6Uu|2v%{_$Xy)!mgBGY21(*JbqiA75Dl7-h6Sc!fol{Zci6? z)k)#*%yjy<%sZVVE_70f;f5+9Tw0nE#0^zqxRjEinf@zN>EybT$ldlgZQ@W$IANc3 z($6~4m3~2(yb;#PjR&|Y6yhAG#^=)#_I>hU+VDGHem|TxcxYP6Z$9Xs+7j-cD(hLt zzZAXQDL+v(-MsnQz#Y)PXO3*Wr0E&Vr1#c|ur`)IXCiElL?n#QOzEBr&zP35yR!et zz9p$isYxY$NA|D$r&vn3Ps&&I=GBC+ru6AF|Ab&ya%I(^jedxlROH}R32(JI(B>g5ziR-(n>C)JxI z1Y;G!>v+spQvSiu29-YS{x7sL)R^$2#GfY*Ng1E=OvL2qC9-M2xB-_3E*kikQWhy3H63x*~P zjSf9=*Z8}BG%R)4vAc)eT{S#ucznd}k&{QhGAeb{v!niX^fyQU{GNsPeEptd_k56k zU;482ua9|V?5d1G89yI)?%o~ak7X{*jNkXI`&Zn*Z^EVtpGzk8yP3}MW@{|Kg z$am<0We;>_&&jTvHfY+MX%}*m^xy93uRi$VjPWymG4sBeALTwdt7`Vf*(YXSpOf&= z{D<-%YMeV^?wj*A&HMKJt@D5Kr9odhxM0A7?F-I5{F6m97k{+m#FBGM-d%Ea$p=e* zw&bIwv1J>UJ+myj>>JBoURJa0(6Tp|U0S|n`S#_-%U@hxwfx}n)5|+oG^}V`(Z1p* zD}KJ>*MIc<%B3sUuFPLquyXgxvX!r_y1x2f^HTB#=Z(&rkoRETg1nV^8`dPO8L(#f zn(=G0*UVkBY|ZJlHER#8eRJ)lwLemuj8PPoqU*|1T+1e$ey3kd_`2-V8oW z93Ipqy%;>G&(@T2!P4Y!1bLyWL0!VSphBNziRnSUzT2WW-%SY@_;+2xFS>rMYjgBz z*5_G$3iP?J=UaH#fkcfmMSFbWZ$xKPP?vZt zSf+oMCJhUgB^(NdCw`)Y+3SLRQd>#rw_R6sy-ww0DO-bmzOK*Gq*eM?zeyY)>`UAd z%uV=3kfrNi*RI6iJRUVMIKUgfjS^E5=KI_DPN3ZTxep#O!eaiIVp2U9& zqN>{f$+j@zv|>LGa8H$W&$VZi)_HiaSod#9s0;G+S*!aS%{zHkFd<=VP^`bpbbWWi zzp8!*f|}%4f@k>b3l>WES?JxmzwOg!LD$c13+!N9^n4PY>AEVKuj=3brq8cZCIs2N zcCZa@{it5w@ZZ?N_UQRw3)w8`a&XCd|GZC1zOLIAvcs*PgrMtxNdL9^w^N`0D=9Bn zA$hy)U|Zb!kzVxoe0{$DsgG=d&GfHrnfi+A{i9&1X7h!-Sut4@n=MK01AD`mFSY>8HmI*50uH zr}x+f2X$9o&s}$<4@)1ZyK-;b73%tzuK&_?x$C=KfBJFP$G`mezg|0k?d-L;uDyA! z?%H>*-S^Y?J|jPbZ--crmA)mGp8rfnELgSf>GhLhAzet1y}K%wG=4)YY0(qw#$=2c z@$$O#*s4|Q#>D2YACVrL>C(*g>(gU>7j51WyU&02U6dZvM(UW@RNwLLs&(nlq`&;~ z=JZ&2)w+CLQ6}Osv9L?pEgKViFn>h8M#Ljx!Nm3Jdw7d^LRPF##)4RiK7l_E$5I|% zy)M@0;fZG@&%^l(Vnd%EsrwSM^j*4GCM)u@p0i zCEUB9r!H^xRr#&3AQl>$kuGAQuRD_NUGVbD>Eazro-igO7TVlfmbCm{H27}4_$?8a zCHb*$K6z7?w}Rk~jD@k#!?9rQSxwR;_M}*!tROvKwBGKgJ*)*U=f9PbFmX~WHA@%! z<)=R^HuO%X2b?RJ#xgDF{*jrtXS&ASn7mHv2a#;`VtA+tGA5JGc(d( zer(Db_zLeY)sQibZriv0L%7UoR~egQ4f}u!VCoX1>)w zbf-8D$V#6h>b-a6O9z{0PKpi8nta!sNwGnn^Q|O*N_V7Xy_FCQy*GVw`VyQW;oe7H zetAj8l8nty#zGkj&MFPxokPT6u*@=4O4tASHWr%r^vjbo($nX>EGl>0{5E|u->1it z9KrUdj9HlZzrZFrH^PEN zWIKa@tKX@;$ZcHJd(%vh?6l#Qr^ksSZc-seYZG63Y#d) zPKpghdetnUM>oORb(7QQs6}`CO0Pn0Dlg?;Rpt?WyEztG^i;-^-OVebN1v+Bq}W|O z%pUGlXudlT3DB$aVObgJlP&pTHJ&-^C%@G_^0YMJ}Y*|#FynS zc8r(R9zIidnQC&ZuS6J!KJ9D0>X##_xus8*zjsSHChM(K^#C_~vR6s}rq?a`!yL`( zb>p3rF>}P2TZ}$teNRQw)#&Bu_o&)qEqkvS?zOmMY%5o(r`|UtyvGtQk`B@rs|V{9 zDl;oK*&>ja#Ss z4{m*cl5fqXw}bh>x?YH%&gdq?w(6s(qENpmv zqt4hK8?s1^=)QbCq#j#$)7xVS84KU;tMeEW-|jcam^M_n{%q2HDU0$J>RM95#9JSs z4Z)uW4f^lTgKv2hkbFt8TY=t7{6^PD$(NFnyMFaa6}M|F@MW#v4)`R5rR)Ce@i{MMtp$e=9YrtBt4ty1?r*4O+)nV`m zcoaMa9tTf=Z&1UN;3@Dlcm_NRo&(Q=7r={P19%C15AKbWuOM9$cojXjf$d!B06T@s zDfz!q_Do*e>C~b_rvbaA3QHm5I`5yMzPVC9K*1RH5w>*1L5_3vHLMa&W&Z zv|Ym3C9J3=mu;7DV7r6^+a(;>F5$p-2?w@IIIvy9f$b6wY?p9gyMzPVB^=l;;lOqY z2ewN%uwBA|?Gg@bmvCUagag|p9M~@5z;+311npYcF5$p-2?w@IIIvy9f$b6wY?p9g zyMzPVB^=l;;lOqY2ewN%uwBA|?Gg@bmvCUagag|p9M~>loz^tkF5$p-2?w@IIIvy9 zf$b6wY?p9gyMzPVB^=l;{iOL1gyX>pU^bWoF7CRfZi(B6w5;kBZi( zB6w5;kBZZgctnVsTc|+G_ z;YP{@P~HaRLNLmeBFe>-_fmcd`c+^xSOeCAb>ORDJsjVoe1+dOfz42B0b9X1*v_{d zV5e}9WM3)lt2`Kkqyd*B;6T1j0|)c%IM7lLlGLvVXUVGv1+yjNAjzIDd`K-?E8~1y z0G%jU43=m&24J;J~i=x-v*s7_1(~<-y!Ds_TTxqrtJlsNpuGC8o5cnSOgcfJGu75GE&J!;j+Jy(#r32a6WE#Osrpp|kQY~xBhcXoiCLM7Z# z`^}I?{a6^L++WYH47Ds@A1GhVkVhE@bI&+%M%Mvd$yH4<)EitE&gs%bUA@62;XJO- zhfY3N0JSJs43u2Il9NnwnDgH)4o zip24^8KO2$K5v`=PEvf$IQhJ<Vt)apI% zxdP25uo*5bU@I60+xfNw>=ceykFiy_4J-tUz`fuVunBAjJHSq1CZ3at=VanJnSnhg z6VJ)Sb29OqOgtx3ea?^dtvx3b&&kAdGVz>DJSP*+$<*mO)3N7dO2eH(drqc$U86lG zQ==E7JttG67o$BVQ==E7JttHBZA@s-$yD!ZwC7~1k9FCelc^EH6~ALhcE4YBULi~a z2XkdqSEH_s2FGg5e7~gdos+s|2^Y)T@7L(dxD;H)ovXn-uB@TFmhxki*MTp9B~U8` z%fNE50;~jI1mA$dN$?bS8axA@1>c6|Im+k33*bet0lWnMfIHs-{|fve*vPk6(LkGU zk~DKgIIt@&OaljVWgJ)nmV#wqIamQ!f-izs`E8qUvb^rHFhl*uWVJ`*1TY)S0T*}u zMAw&qOTkCvv6D5v_4T#jm(>O*>)HK7;RbP;tXAprHs}|EMc`iWB`8;c)nE-+3)X?J zf^R_oBzOuu4W0qdg6F{V;05p^*Z^Jv--B8svIbFoFYwDsk{L?8z~o1lWo+Y5R7tVN0;lf6D;ET9?HdhyO%33L8l6=25Z1tunv3` ztfz+7`4r6vjMn)S%?OOv`4r6vjMn)S%?OOv`4r6vjMn)S%?OO|LDM>)qEVK$*910G zw-)d!`fQ~f2iv&P&Yc}#r%-8})k`P}Q~gOcy_~Z4s$a^cm&>M?%chshrkB(6ggf2K zWz)-L)5~Sk%VpEcWz)-L)5~Sk%VpEcWz)-L)5~Sk%VpEcWz)-L)5~Sk%VpEcWz)-L z)5~Sk%VpEcWz)-L)5~Sk%VpEcO_LP6^bW9rU8%w}a4=WKfs^DR(=@M)3m408r^!!@ zOTj#FEm*?+rC=FY4pxAb;EUiPs2v86fJeb&;BoK-_y&|uf~UaK;2H2Ncn&-dUH~tG z4d5lP5xk0YZNeNZn1cm#u%Hsr%Yr#rFb50fV8I+Ln1cm#cuwVD!5l1@g9UT2U=9|{ z!GbwhFb50fV8I+Ln1cm#uwV`r%)x>=STF|*=3v1bESQ4@bFg3z7RY z+AiG4m9KQYsPZ<-h2RU^UqpE?=;!YY*~sYU?+n?<=;!YY*~sYU?+oeF5>02XGo?49 zpZhbVH>02XGv&$tt)Kh3%wBUvdAG`*z2<6#%;?!`uDt6Np=YnT;^lihd(CC`nyc6< z-|5+FuIk`#J$ucSj~P9C&1LqQ%j`8*{n)p3#k1F3`IynO*WAFf*IZ_=x$-pA_v|%S z&q06d*=w$zhAw;dnj3ibn#=4pm)UEso|5gl;@NAiJk4d#UUQkf=E~nJg=eq1foHF| zfoHF|%wBT?&t7x2hTv~Kd(90zd(G8Kg0Fb?nk%guJ$ucSR*jy$=1QwZ&t7xojppvz zYpz@`;_az@WybG0I8^z1cPD{@B9UUT*QHG1}% ztLLxLv)A0fv)5cbg6{foHF|@*iLE>@`>GAx6($XW>z^4!9&#QFn9z! z3LXQGgC{_*TF;Wzj9#^#C94^|YCTIS+bYW>(#Sl5n~f* zi_F3zvt$wL&=#46MP|t&zS7Q}9bl($wsd}3=&}85wNRtS_OsPCjUL<2mbQN)^w@s3 zv~Bd*el}y#*^EVJtHr&kD<0d=W^6y3vHfhu_Oqq=%ewBd{cP#h=&}85wFslf_OsO@ zj2_$1R*NutY(HCmZjK&j&SsoBn{noB#+kDjXU=AvIh%3jY{r?h8E4LBoH?6u=4^Sg zsd=0^TY9@J^w@s3bYk?_ezv^yvR3VrHFKOJFWo2%Q;vWG)oaa>#`1+}lm~OqDCt(a zN1#1+j`SH5j^kU8{O3rkMn7BUNVhI~{I6)Xu5St#LvsnZ6kMix!5sB?ro0-=KJ&%|p%Njk8m?O&?J&%|p%Njk8n4`YVvL6PIfJeb&;BoK- z_y%=237!H^gJ;0A;M>&y9Od)i1@I!+0A2!rz@6`ae+B*!^h{)qJjC|B0ycro=%EF? zirrf&$H6wPv~y<%*eQHSesW1@e|Sj#@FU@PZ~~YO=75X4KGe5Mz@=awxE6f8>u36Q zy~e-~$(qJ(P%Z?Ez`fv0P^$u~!5Xj@tOH*K-+=N-@Dz9&JOiEu&w=N`3*bet0lWmh z2en4ZSExf1*ba7pox-`&zz0I_3C>kpFnUjLu3CZ7{rOz_^SSirbLq+F(v#0sU*UVa zCpcFgW%QolTzQnydxCT2QAYQ!bLm~@(!0*3cb!Y`I+xycF1_nqde^!1u5;;K=hC~* zrFWgHzQWYp$IfGwavrOc^H`;vC(B;db+1y+lUzR*dX;jXN;!{J%6YP~xpcJY;5jZzj#x4tru@_fqcyZ%vE zp3sWfB5`*)pX&wuDhd{Z&0q`I3dV&?;kXozOEnw4rYq*S6pl;bxD<{{HOKU~=C~A& zOX0W_j!R`(|H>Sf%4$Y)Tq>;^&2g!;dPML2PL`$~(bLDM-DBavu5Sp_zyhvB!5zxb z_K5m$;~ub>>&;*bc$HtZQjUXdy0RQgEyq&JB~gQ}*iy@})N(AfTy^$!TWYyH&}d67 zm+u*EspXQwXiF`Z6h>QWrP_6)a0$2+%mdegZ-6JkQ{ZXv40ski2c8EnfEU3A@DkW4 zT!k#FkYyFJtU{Jm$g&DqRw2tOWLbqQtB_?CvaCXuRmidmSymy-Dr8v={ngN44gJ;7 zUk!a_BbMG)Lw_~&S3`d_^jAZFHS||Qe>L=1Lw_~&^YF1ed@K(i%frX=@Uc96EDs;c z!^iUQu{?Y%4)5$2D+V1IIOR zTm#27a9jh&HE>)5$2D+V1IIORTm#27a9jh&$K=Ds!DI4a<3c?(9@7}Wco;ka9tDqq z$H5ceResebT(7a&n?h4t54H80FZjwhaIsq7dU>63DVPVY1xvW66f6VF!3wYvd=Y$u z`%i+Wz|-Iv@GN)^JP%#~FM6SS8nRP#n% zaeH|}&q1Tx%M*IK8Qor<(9_N6_VR?DZbrA4C-ihPy1hK1r<>93u{rHM!v^7+^Cta(K_6ynXl10+^Cta(K_6y zIvcISjjFTJI^3u_8?D2QsK~9k*5>Z5ti8 zRv>K~9k*5>Z5ti8Rv>K~9k*5>ZJWE})(SL+v2>1GE0F(K&yHIw(744{9Jf}Wam&hJ zoBBgzUyWh5saJH_kv7|8sog?H+H8}J{H-HxwrO0qLg+}FZS$F z(2+LV)I*w%BW<>+hcr6UW}CEabfnETY1`;Xn{Cpz(UCUWG#)cGN7`&tk7{(J%{KL` zE<4g@nR(9x3#or0^)ICUh19>0`WI6FLh4^g{R^poA@wh${)N=Pkop%= z|3d0tNc{_`e*Gx+f{#G_YU=TJ*|x1q24Z8 zjNYN%E?G>+JJj1Hi_tsO+a-(9JJj1Hi_tsO+a-&CIP~IuaF4YxNb`+G+ly^dTCzN-}3ckmbcghMzQ{E{n z7)^PnbbDV=M7u5${i`awUn-(q7tyYZXxByJ>u=pJ716GXXxBxw>mu595$(E&c3nif zE}~r*(XNYV*F~zEDY#!MqFoo!u8U~bMYQW8+I11_x`=jNM7u7cT^G@=i)hzHwCg=+ zW)GU#gJ$-i8Ly|$(u~EL*@I^GpqV{rW)GU#gJ$-inLTJ`51QG7W{O35nO5ZeBrT?u z71PR!#mm?IBvpJ6Wj{%aX=TN@-t*n?< zR!l1^rj-@b%8F@a#k8_wNn!4Ok`~j-ifLuVw6bDaSuw4wm{wLyD=Vgz71PR!X=TN< zvSM0UF|DkaR#r?aE2fnd)5?lzWyQ3zVp>@-t*n?|Q)}FCM!WkKK#M?!{wERR3kl6X3|S64l)3HJ=jJd`je3KUUdmJ|*%f zqt|>&eRrZ=si6qkKS+e+w*L+GelQKFot%Nn764rc5B%`l* z&8LJlpAy!5N?7wLk?j7~Yd$6NB6IYbPl>$9=rx}bd6Cg;J|*%Zqt|>&So0}i&8LJl zpAu=twep%z32Qzjtof8kSLWh1pAu=w=rx}b)_h7>^C@A?rxcBqqOnpmR*J?-(O4-O zD@9|aXsi^Cm7=jyG**hnO3_#;8Y@L(rD&`ajg_LYQZ!bI#!AsxDH&uG85%1?V`XTp42_kcu`)DPhQ`X!SQ#2CLt|xVtPG8n zp|LVFR))sP&{!E7D??*tXsis4m7%dRG**Vj%FtLD8Y@F%WoWDnjg_IXGBj3(#>&uG z85%1?V`XTp42_kcu`)DPhQ`X!SQ#2CLt|xVtPG8np|LVFR))sP&{!E7D@SAHXsjHK zm7}q8G**tr%F$Rk8Y@R*&xHIT|ZRW94Y99F3Kuv2rw4j>gK- zSUDOiM`Pt^tQ?J%qp@-{R*uHX(O5YeD@SAHXsjHKm7}q8G**tr%F$Rk8Y@R*&xHIT|ZRW94Y99F0|=u?jR+fyOG(SOprZKw}kXtOAWyps@-xruTWM zH>f~k6=(L}Qg`tP+h?qOnReR*A+c(O4xKt3+d!Xsi;ARid#(L}Qg`tP+h? zqOnReR*A+c(O4xKt3+d!Xsi;ARid#)FMkQveY6=Ewa=iOD(e0B1xvvL-TcLz7EaTq4_#AUx()F(0m=5 zuS4?yG!H=Y05lIk^8hptK=S}J4?yz(G!H=Y05lIk^8hptK(n3*oO)5-sClm=aO$-O zYIFony`DJvLPy}#iq#9GIs&I&&uf<*fm2TePQ9MjE;|CJUNik~ z3Kv7u5jgdl=^Gt^Q%?j=JrOwdn)~~@BXH`q0^qVEaOxFl_D!K9aO(AB-!F6oPQ7-@ ziiM8Asn;5_>+cAhdOanLj=-tcI+G&8wbEmB1Wvu4p8nPmIQ3dT@I8*esh1`#iz9IA zrAebBaO$N=qa$$YrAebBaOyQGFggOKUZVn|BXH_9Dlj?%r(Wv`-xMAOkAO!(N8r?J zJ;CS*oO-P%~vQ?K;|qa$$YwVq&f1Wvu84PAdn;M8kX!RQE_daWuL8^BATBXH^! zZD@1^PQ9WHjgG*n*J^|BcLYwoMh-?t;M6O&&FBc6dd0T6>3j>JMr3X!K6~A=S<3o%%!K zW%N${A#rI44nzMi^bbS-F!T>Y|1k6qL;o=J4@3Vj^bbS-F!T>Y|1k6qL;o=JmES^K zltln^{f|KZ2=tFYUwbuNcm0n*{|NMtK>rBzk3jzj^p8OQ2=tFa|0wj2QvajSKMMV$ z&_4?OqtyQ>^p8USDD;m)|0wj2LjNfAk3#<#^p8RR81#=p{}}X-LH`)^k3s(!^p8RR z81#=p{}}X-LH`)^k3s)9^p8XTIP{N0|2XuIL;pDRk3;`B^p8XTIP{N0|2XuIL;pDR zk3;{2=pPAAh`!MgEGNXpWyj1YqLwR;nK>cf_P35;Il*5432}GXF*7Gr2mi_uEGNX# z=m?e*;%IaP%L#Ej5}btNNjRQ_<4HK4gyTs#o>Xi4mhLpilW;r<$CGe83CELgJPF5> za6AdelW;r<$CGe81;?qE@eCZ#!0`+m&%p5v9M8b<3>?qE@eCZ#!0`+m&%p5v9M8b< zZE(LK-GqTdjl zL!xs?bPkEmA<;P`I)_B(kmwu|okOB?NOTT~&LPn`Bszyg=aA?e5}iY$b4YX!iO$3E zJRHx%@jM*Q!|^;E&%^ON9M8k?JRHx%@jM*Q!|^;E&%^ON9M8k?JRHx%@d6w#!0`ec zFTn8v952A}0vs>E@d6w#!0`ecFTn8v952A}0vs>E@d6w#!0`ecFT(L6952H0A{;Nm z@gf{A!to*;FT(L6952H0A{;Nm@gf{A!to*;FT(L6952GL0gerDY=C0}92?-+0LKP6 zHo&m~jty{ZfMWw38{pUg#|Ahyz_9_24RCCL<0Uv=g5xDPUV`H#I9`I|B{*J!<0Uv= zg5xDPUV`H#I9`I|B{*J!<0Uv=g5xDPDp!+wHs#j=-HW~p$9LiQE*#&5fc2Do2Y*i^>3p7P1L`M`ZrPk zChFfr{hO$N6ZLPR{>`fSGL3h=r`fET&Pt)9gPK)mU-zD7vuf_L_cWU|uQ570s97@_ zqoaeG+0$%hPqUdlO~r$1PqUdl&1UvAo7vNBW>2%3Js9CcQqoaeGHBKKbbXKco_B5N> z(`;r>vza~3X7)6j+0$%hPqUdl&1UvAo7vNBW>2%3J z(`?o(!`vMm)T~*CrE_#pvn*mgJ36RYvk6~ubWpQq6Du|Muw7cPOAB^s!7eS>r3JgR zV3!u`(t=%DuuBVeX~8Zn*rf%#v|txS=t=`E*rf%#v|yJO?9zf=TChtCc4@&bE!d?6 zyR=}J7VOf3U0Se93wCM2E-l!l1-rChmlo{Of?Zm$OAB^s!7eS>r3JgRV3!u`(t=%D zuuBVeX~8Zn*rf%#v|yJO?9zf=TChtCc4@&bE!d?6yR=}J7VOf3U0Se93wCM2E-l!l z1-rChmlo`DRqcIba8)hc==?&;lcat?nNBosQqBy}`Gu~^7Dne6x=O3p$u_n9t7`QX zLgyD!3_DkxU+AhvIG2Ua4Ruv*-;|wS=&Gz>bbcX4Nl|`^9x;->_+DoYQ-m8@yS+v zvK60f#V1?w$yR)_6`yRyCtLB!R(!G*pKQe^Tk*+Od{U9(^2t_wvK60f#V1?w$yR)_ z6`yRyCtLB!R(!G*pKQe^Tk*+Oe6kgvY{e&A@yS+vvK60f#V1?w$yR)_6`yRyCtLB! zR(!G*pKQe^Tk*+Oe6kgvY{e&A@yS+vvK60f#V1?w$yR)_6`yRyCtLB!R(!G*pKQe^ zTk*+Oe6kgvY{e&A@yS+vvK60f#V1?w$vAe2W0yE~iDQ>Ic8Oz`IChC+mpFEbW0yE~ z@#)*CTHSD5N*ueyv5R8&WtTX1iDQ>Ic8Oz`IChC+mpFEbW0yE~iDQ>Ic8Oz`IChC+ zmpFEbW0yE~iDQ>Ic8Oz`IChC+mpFEbW0yE~iDQ>Ic8Oz`IChC+mpFEbW0yE~iDQ>I zc8Oz`IChC+mpFEbW0yE~iDQ>Ic8Oz`IChC+mpFEbW0yE~iDQ>Ic8Oz`Hu{P-`ieIC ziZ=R+Hu{P-`ieH$LL&+KiZ=R+Hu{P-`ieICiZ=R+Hu{P-jkpvCLtoKGU(rTi(MDg< zMqklJU(rTi(Wa5ZNZs$gqK&?yjlQCdzM_r3qD^{s9o$#6NzX?26>antZIai&bzjk@ z5rwI_uV|yMXrr%aqpxVAuV|yMXlGp1F3(gy!nmlNaZ$UxbhoZ}T&FBweCu&hJ5skZ zE^237)Xuo5opDh++8GzMGcIbErfb^AJE(sL_3xnm9n`;r z`gcY=SDn;f zF>aKt|4!=PN&P#ie<$_tr2d`MzmxiFG{mnwuI{A%oz%aR`gc-)zfyaHGvz1wwZ^H+ zl-pfS2nOh{?s8(VHW=DdP6~zvTYJjMI-OI}Q%=$K&YtoBW%c+)up-#3Rq(&>r~SUee)+Oe=YdB&M$pEcuse3;oqm!OQzqTl71TDsgUwonnj zPwV>ERNARKp3+~vd?wvimuE#~hwgWdn<@ImQ@Z~-{k=ow$@)AeX(x+LRC<^aJQ^$( zCBLOW|5LV%-QA_z@TYn=f?fbCjV5W=L~qoSHTr7Lq+ifqdnN;v+j5Yy5e?Sch=v4r z$~t#R|99&x3?qV(!6=Qt?~x2+v}2N?{Ac$nw^*j4G4Bs1NX{(9HcVDMth;RGmB~?- zk_VN0Vy2!=v!t0hI*B@0Po??6mx2Ys!?MaE)p&_cussqi(+RK@!5``D*Q3(cYUyE( zeB-g;acOg%PQh%@DU^-DS9Hqat3iISIh3ds=(3%Kx>Bo68t*&jn=TwXzupE2X6*XN~f>LFIr>; z%@)-sY6PX{<^LT#6TGkfq$Bu`((OmVcY_}Xe;fQCvfzIW{vSmnY?bc+L~-;5vgAQo z;7?^0d&ExJW>@fnymYsGtw_5viaJyd>F)>sLGOn6X7FdhFN1#yE(QNNhy`y29|ZrW z-du53D_a+Wi<)_#3(g1sDX0v782okcPAEC}Z<^u%O(-SQCzKlM8w!W|C9QmH#fm;V zpMP%Z)Gtl#`FCN`qMgyg@E=Dv?|ORjQ=7l`bY#nOPe-5r+H+syukhxlcJAo@V&GHH zMW5Qa?U{n7ck@->=yT8iaraF-o-5eWeUshAZ@wEG^wIk&2C5v$JEqE72@4mmSQ`u| z*u3L;`Geng5$Fzof3vJ#{>jtP=Ys*=sPFu}-^FIXbUzT1Eqwphf$t1_r{Cm(?+l8k z?H&|QzB=GgzhCrk7;q?bq5t*NXA^b|IFwj1;80Rl(%1W6Prlk`L+Z1Uk$uPZo80dg z1G5G`Kk)g!9}LV2KdCZ*g-3@^hgXH444*d5wB2dD2OJXp)BR4T?e2HlSNi?p=6~jM z^S}PryZ?)f)Nf3$_djvz`41j9{?b)*umpqR-RQs5c1yagYE^Dc$_m`mlH5|ZG&Yb7GdCr>WoO#Ze=X`n2mgih~&XngodCrpO9C^-==lpoi zj_2HX&dlSyJkHAFoIK9R<9s~M#^YRg&V=VYc+P_79C*%v=lplhe&^hG&V1**cg}j} zoOjN6=X`h0cIRAo&UEJtIL?2wknC&Dz2?ko&b#KUYtFgmjBDQc^^ULid%e%=U0!Ed zbB;Aq?XHRqP zG-popZmaiNz0>M_R`0TUkCh!(@pAqOXRmOMG-pV2el%xCb8a+eMsr>?XGL>PG-pKf z9;mZaI2W2Tp*atlv!FQ#nlqp||CzI&Iro_}pE>WDGa~MiJyT`RRM~TvY`9A{T&DSg zXA9RQ>2*nZU6Njxq}OGyU9#6M*=v{VwM+KeC423Xy>@9d@3Fi`@*c-~6z?&-NAMoM zUzar3CCzn7b6wJ0mo(QU&2>q0UD8~aG}k4~bxCtwl3bVFQf0SPJ%hY@s8Kzo&P3%rRL(->98}Ig<@{65 zKIPm~&OGJ3Q_ec&oKwy?<$P1lHsxGX&NSsbQ_eEw98=CP<@{1V(0A|X!wPpyLm!5*ON0nInNV0ign!?o}8W7*_|?EH)nQo zUMFXDa!#jg{p)PR&gSG?PR``yJWkHyYb0p5%g1C#SFIs1}xFFEs)^Da5-l5;LO<{0^C~&3l5;9KqmuI}Ih&GmDLIpp^C-P19?qfU3`)+QxVRr1@8+@e|VcHECS=2lR11Bxgf% zE+l6{>ek{lY4KW*7N<&!Q>DRc(x6YgScBK3!9&vEA!+cCGAuXMdmb8bfk8>KG*2npboXyC&jGW2Hd5oOJ$T^HI>EqlQ&R*o) zMK`sf=v>vKTN{qfy(VpF=A%z{7EdAv|M^hA)GCTTN&3ZQ{X#3R`uJ45bDB3w zM~%{v#~&VhG)mS+$=WDc8zpO_WNnnJ9#1q%)<((NC|MgNYolcK_@PlV9p??`t&uYZ z_^i86y8E2FGX?mJyHB|Le7jG#`)s>Uw)tk(@Q?PU&-zuc-{Zq=Pzb>~*yxm9y$ zM|V25(~+Hy>vUA7V>%tt>3B{@b2^sOk(`d>bQGs!I5(>ejn=O>irZ+lqtT-BtoY`O zlCt;fy5kldwbDi;|Lu^=omsr5ITO)(Swd1bmXAp1|2o%m_bJjI$qGx zf(`my(#LUvjuLc?pd$pk$Hv+T)_0B!bX=gL0v!|Rh(N~!IvUWifQ|%o9N<{_t=HXt zEZ^bBla9MsugqqH2OwNP4FCQXc#Pp*_UMoJsY)S|rtxlDfe>2bPuB)lKtQ?foI>zxQ^ znsA;8XPL;;#~CKPgY5ld?;d;a*gMDGH}zjuedH|+Nv9nt5g zKF9R&dyf2;Bj<`ZsgLtSI7`GCea`CR{1DC#;oK0;4B@;G&I;i7XW!5`~-Z%8Fq4x~E3*h}i?-qKm z&^v|RC-g3%_Xxe}?=^q#4tj6UJA>XA^h&?i`Mt{THGb~~dVSxk`(E4k%D(piy#wg| zKkxo|?=M|7T`Bu{=X0fMyHa-4dq?!~8opP+yKDIh-rTdsW`C7G9C>UJLqz){+XI`{T`8aRPgO@3kba eA9b%K4d>qktz-7r3SENM5dX9AQC$rMkNkg8Tis3o literal 0 HcmV?d00001 diff --git a/docs/scaladoc/lib/lato-v11-latin-regular.woff b/docs/scaladoc/lib/lato-v11-latin-regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..49e604471f4acaae02c5efc754ba331170fd9bae GIT binary patch literal 35700 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + O + + + + + + + diff --git a/docs/scaladoc/lib/object_comp.svg b/docs/scaladoc/lib/object_comp.svg new file mode 100644 index 00000000..0434243f --- /dev/null +++ b/docs/scaladoc/lib/object_comp.svg @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + O + + + + + + + + diff --git a/docs/scaladoc/lib/object_comp_trait.svg b/docs/scaladoc/lib/object_comp_trait.svg new file mode 100644 index 00000000..56eccd03 --- /dev/null +++ b/docs/scaladoc/lib/object_comp_trait.svg @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + O + + + + + + + + diff --git a/docs/scaladoc/lib/object_diagram.png b/docs/scaladoc/lib/object_diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..6e9f2f743f67c15e04846f14819a913713b216e4 GIT binary patch literal 3903 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 N002ovPDHLkV1kt{Q<4Ax literal 0 HcmV?d00001 diff --git a/docs/scaladoc/lib/open-sans-v13-latin-400i.eot b/docs/scaladoc/lib/open-sans-v13-latin-400i.eot new file mode 100644 index 0000000000000000000000000000000000000000..81e597a21597287f35498aa483a0c5007de1349d GIT binary patch literal 23375 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 QGlbo#QaT3)sDOC%{8kj=wEzGB literal 0 HcmV?d00001 diff --git a/docs/scaladoc/lib/open-sans-v13-latin-400i.ttf b/docs/scaladoc/lib/open-sans-v13-latin-400i.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e6c541417348e930324056bb998a4ec4da37650c GIT binary patch literal 212760 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
  • g+VvToroMQP@$O2YSlnrpL1gp3M9iC|)SLhe+UK$Ne zD%W@^WnQqsy==~}E;?xY*2IKRREr2ofww1;Ge3;fzLolbfHI;k*?4zz7MU~FFkO7O zP!wm&v(7)Wb7$4JJ5OIFn&d?JnM9&0r{!k!YR@?(lG9=a;N zv+HhQ<-;{A7cPCKY>If_2$_sTM2m z><~e#{UfAvlAyIGT_US0d%XB&vq4@9+W#%LR8&1AhVkw%o`snV%FP$7#ySe6> z_#G>b2yQ)sS1g(S;^2O%!xION$lW@0(~8{6;v`GTkm&MEy25nD;}sFG1|z5*r4oEx zLk6P(nc(9C-uVy#fi6ch0ejH^wj6^drL3ab5_03>)mU7dTzsn~aL`kK3ybgw@lE3Q zN1M;A`F_LX^-&6LP3@d#B75&n{rE%c{xzS(23F^fduh@%{#b|D^Vj!I9wq6AM~@5g zCbHk6m-vN>?>u^zL=$e#^7{6TOP;muQdSSEpcT2e$8RCa?OQ|~`^pBVnfst|EP!d< zef)hmSKi0Rudl&R)lK6GCt--EI@(3rw&@oKTR61 ze9zAfX|Wb?O>@VzQy~4w=lc)e%v}U{zQnIuyvr3BneN0X12?z}@2XO;m)Z3NLK|FC zm66(5*CuhsqULW~rdq$B*8DvRC(&y2(Ft;2q>%Yc^0V$9ko<^w;Cs3vw9Za}S~z^q z;zj7gf$vANpF?giT!tB`3W`6pat9!-Uf0?qQ z5T8?pjn)CHW*w_KH<>)Y;>?T{^Mx_q-@kQAeCLoDO8&>|pYOg-q7Ev^=|`{D zA9Uh#6l?E_5%QXU)zvk*(zzbT+|ii;w2!0mMK%{!Htq6YqB$?#zAh$}K3FaH#aT1> z;+S>%dRc&-I{9HQB-nhskk}I8wq{|8I)|nY`_&Jlg$3S?ojJ{OA9 z;6M)<`aY{XeR{YCsXPn{vyT~(VjBMM=AGjIlm7DNuB-EmlB40OjSTe6gP$Km!^hfax189MLN zI`Xq^#TdN_@T}?mOrZ&`-Bre5ts*uw7KmtGp_F1qvSdK~3C%Y89TyMe{~7h^TRW+L zQ4<;BV|K@iruJ2Aze+p&yz+k6Bz7%glNgfUWAHFGiT1XUF=n$X0+ywF?xi?rf-|uQ=X|PeC6dY-)cE-tom2UG|x#TWh;vyv4R*$dmAPcbCW>PtUi>Y zr-oB41{Cp4pom6EsUOT)#X;P2oU=;h3<=|GV@{WzN^DeguIOWQkg=;vn-7;>U3KK7 zv8rWC)eO&R)0eHA2BvJRD?L!Kd)GLLgqeLOjW3%rit2Q*cldPZbiUNy(c$fFeIJDV+&z7XB0h9yD9S`K6p*xcS(v{gaG%D%ljxfFsNfkQv zV|tu}ePfG}GW&+AHVHH*?uqucpVj`b`NR!D6mfGjO=?Re{Gk&!#HCYqk1L-wu`zEx zcld(%mm_!1r+d=dM2!E(uV3YD5dXcWdczjtcAy-tRK&46e&%Tm-49xC&onQsUq}c- zjUgdkz6LL-m|iN@Q_#MNZ6>JAwt>aabwwvarbyXE^j_nsrDL(^xTM@ky;6oxOpo<9 z_{9!P4031 zOHx{PCURJY7@+|biWJ4pC#}i0sUWOuo9fLppvn+8IDtZHG=&FwyKeom=6PdFXd}9- zB_}WI-eTA~=9QHukS}3x$j4S4S&@5t6S}~)-#M@wSc^A!zv9r%rts{vYJH(4)Pe44M!DV#%HG{<>`hr{p+ zS4I1y!3o`pbb_5hZz%|7+lY^gu5h+YT{{!_n8&iPNM*Pp&~G&+C1fiezbxDCP{f zf7iZd$a*s&iu0kg@1S792GHy6*`>BxMQSBLW29CB!aa^w0tY=z&-5_CCgl-i&>8(z zS_AKEgjHw9siM9c3u|m5r)rPRQ6safBJ?)o^brLuqxx+9lNMZ=VgV@^&iuzdT-cYw ze#LF%qSFq|v{^TzX7*;?3~P__6FwRKeCqxp>qp`btt3%?oJ5L!+U~%!!!&q)pM146 zfBk_;hjB_2%zMZAL49tvwzc8X1zv6E&o=0mN1h?oipg03JpK z?b!n|=`+fyfA);hLwW}E*q%WR3B!Bo zh!tbFqa7c?!<63fW5;}~UpnejP$MQ=%AZHa=Hs+o?NJ#I7aa<`bY>*xaLOu0QEO#= zZ~naJ2gFT$xe-rS;AuBJt;ExEx^rm9bzsq>PAZWToVqeP*=qv`B&$o2iW< zK>j3+>hgX%4LYL#^Xo4=JgM#g%6SA1Sf>E@W9VdsKuD@oWF^sWlKvq-JLR0K+!tYe zuX8@Hk?vy668p3;7Usp%x(Z|vqMrf!%h9=6-lDZ?w%M7C$W2Rdm?anGQh2N~X#tvh z*{19HSMi_AN!TbzZOoc$WV3ch{gK?rm3i+BFPGM~S(*IHDt{%A4wePqX1@_5-#*ykFG8Abm^FbV<%RtQ2pvgVF^ zPWABb^U%3b(+q#XVBFTRX+GMdOPjpzY3b8Neh{u?-uzg5|%Lx3bS0W{TFsMO)eD8?9HXew%-AC2@V`@#n$S+k6v&{Ku^b zwM+V*PiNoD!BqnP*jz4(^*hoYN2enm*)j}57MlcXMp%2J&b~%mI$1VSJStYlB71^j zMU|0ztlx(gN0~<(B-$Sb&4%dj+8TV2d*Y(uq+9FU@5lqOdK4K>D&oYUprqrQj<0}% zOA*9`Q*?a+KTjzVy&)iIRR8f_@K`kN!J`Y?g?j-y)1Y4hDD7NU9Ygc@^etDW>#)pgC%f)?IJ~~9%Ls)ioTdK>0 zT8cMArKS~V6qJX+RpcYyN!piq$p6r7?uNm)nXe_R0~ntt#=Tr?dpbS zmW@t}_6!aQ9-glY(L(hfp06^i%z@@q^9Zxx%!imm%zlEux1aa0d_OP2b!a}Ct=ZB- zkVXj=49%_KW=3s4(=eq}Q39I=rxEHiRVmS6Ncta_0luR4j)V-7NTwuo`}pvU z8v9SH_KhZG{^G_k)=1C4V5rnbZ`NXO#aX}erYnJb*)PWqMw@F)J?AdFRkN?AsybrF zdhd<%{qZ%{6P5r&wep5V7A4C}3sb2=!BtniMxTukPpD5=@KDse_=I}-L=DaNQOIS( z^W`|kG(KpL5!!43HW$p!3q7+KqKVBTl_qBX%k5geCMMzYhueitAZwti(gF2vxmNZ zqe`sIiwf@{Pd$D7SMew7dG5XAO_fMwXZ0V#C#-MG(6k79-$I3-zaM(=`K$Z`{W)je z%iqgiYck1(<(rgRY#FV6R&+XlzCu_QtOffEQ6c8<=TMoHh%y@dg|Y;;eEgnuUk@cM zKH^}5E2;1ow~>gYHI>^wyxZct!^v}-@9s%t(2e}(Gjit2W8b<`)4#Y{tWB&>Ca%A@ zRp;c^5Lbk{V%Op_5oFgo+T<PMr_M3t?HW}+x~EI z&BVjyIeB4&GiN@xCT2+BQ0cHgx^?RBtCo~soVC$>@VWiD&kt|;$C}ErH)jMF2OeD2 zuurulXKx1*Jb8+=ihY9ZP9v*t+8|k5ru|`f74ZZRJM~|{ECiGF-5TB5! zv0YA_Qls~@fk|i*61WW`@)dbb&#hWp|MZMu3s*0lzVOu-a#mY<_wF@!O6lAw`;VPy z`gfquY`vMZt=+zV^{e97qr~ge7Yk9v6LM#Xg##~wuP{55H0q8z2YAyWs1@(bDU^Ol z8uIgVSB4?(9v0^As^p16>yB8fyDcJ4J@~e0YZq*mDTFXP9r;X96`)>%_tNFX4m4xF zC)?}%!!u%oe{5?bNw`3YlP>Hi3LqZ^93Q)F^5W{eos$==7Tcblla@Mmw(!Y?@7h0* zAAgiaBKU1>S?kwx$L7CNvSG#i3$wNczO*7cuc>Mu_`8_9Bj1X7C=r`QX0)@nhDXCm zgA>j2LGA^w5~$uqZ(Q{yW1LO5K+7yNMWdNNo(9@b4pieG8nzd*+-s0HihIxc0T*SBCWnT^SZ~rh!&ZNZtd@niE6}U0Huf4kttw*YGOm^w;?oz1 zcjynB$AexOL-Aeuo*1w z%G_hrGXaq+WHgKSj~sk`{oRK11)O+0X-(gxZK?17-MV+ufkmF)&yJY>VsQ}^+@Hn7 zZ{L2il_b2dzegz99v)Kf7cTzm(d7-+ZTSn9Jgi+%1x?&mO%K!+booPPHZ+yt1(Zs& z93{zN2hxB*iP~;NxlDXGcc^u%;n96PFASa_mU4~R1{9eeoibI}bnG>&lKbUd$m@rq z8c4mis%{xTHjuXobW3)_P`yQC!VWcQg#GR9Ey5TP&eY%jt!(;@8j!M!_+5IIU1<(J zt>Jd4-?rBUFp&=3DW1@NfV6hoaFJVR-68aAe~s&JZRVRq^$fm|x6It$-rl}}-uALe zu9o$JbhI7u%RuU<$o%w)B19P56b%%2=5+jfu*UCyxnX%I*b*Im2`MF?DLrTG18 zBRTkXMnthN@&U!xxM22wB20b~jF-t?3qb6?{VE*G3UA^>~h6yoo%N4GnAc-ddJ z!%JI}Av2#{typR#qtU+!jt^5C=nac)zz!5VPx73Xm%X{H@BZ9X`}VJVdUr~{m-4Ik zv@cGdonV=jnO#)GHKor^ik~w$yQqY_Uj6z%o|)gezUJ7Rxzpwx5KoOOnKXW8?o(4q z`Ph<4g>y#c%*3359LH;!je`!4uFzMb;}}*-oY8=jYtS(I;^}#gN8(PysBY1zM_cx1 zB=)rwPE_dCYdrti_QM zp`pGWXNdz&T3j663T%_piAzGmKv{t@IsQLjf ztc*iMp2f zCw*NjK0pJAcqUV!3>by?V0XDd2T&7EF6R|82zQwi?*!Xg>VOGT5~i!9>W86j$>0pQ zSA$?|pNj4hdhQSK_h18pULCqobPP z(l`r}rQZ1~je%qQ_IN&*R3PTXyqc{~zL1C+{{|!*U>Z681_-mEDDjb@1-d=zwfzbd zii9_N8+u;tOZQYg7tggL7Y=e9T`S#P0};|-sw7s&9uJ~PJxb{o!L@>}lkG(Hal)8^%nf^4<`8?^wH3FPXW zsHZD|OWFv0ct2D{yk}iF0!{PAIEf z`O)S9DSpWrbM}N3jhs{-J;stQ_(w%ApE_yp*p1aKr1ut0nQqq>v9@YrRqTj?L!QF? z4{=$16y}dU#K$3$f;b+nM=hz;siI?LMdT1b)E0YjzFIK~E7CTvu>B|8J=NeF2RohK zJ<-SjbysMN#)t^F5LuwV8=DBsb*i3Io1Jlwffz`0kwR}erd=?_HXO-uxO$8%6NB@e zUQt>&r0>CX3uVw2lfq3mtUEaKXP$U^pv#un-)$!_EgWO zQl~E$y}}FnCZ~-Y7@JSF3`yvo9_H1fUqnm-IKH0i$F+f08^^s}c<7WqE`gq!Cpd1u z7wMHKg;i})Roo7C11Ox!3!IV&j@K2IRj&GA%Yc-AqZhvvQZ%BNF`U006}@cQqD86b)3FMA#OovH|dejYi(c z4B33yGT9p0`n2rs=@I=iQpliw;c;QHDua98(BcIPX3j4dJ91@(i)`Tx_n{RtX4VuS z&t_yn&CD4UL*1Q;w||sQ0M3w?Uk|}8s8?@=0OiIMpCrH^WQ1m5wAlWE(~#owvH$3K zvj0yn1JoQcjJr7XTXFP%Yzz(5e?wS2l&W~5u^4bA#arSnXmX8<34f@Lgx0#$DzMnU zrvF-OpU2bB@kdTCdumRC-Ew&D=%x;1thd)zguuyTGx7}v_EiX>)fRXb!|N5fB>J5E zuOz1QciHT7a*vCps7KN~x=lR9pNNO>dMW;Ubb+YbV`k4r{;Im1Xxf@*<3ELnAM9RT zS-E<3;n?DOYm zi+?-+J4d1~l$Kr)-=l9(h_h$6HRBfNh^j5Qw3IaA-C6WC$gEc{CMxSxq(|2^Hr8$0 zxugE_DiszLrko-I> z%Mz5(dm4!tQ_S~Gf5oq0L92p@f;xH%Mi` zX^e)Iau&D^vDoRbn`L3~VJPd5j~BX27zRT3?r1yMoe03%__LhRPV6EeqNDbP?w_ui zCpyfWCQxY;Lzy1{_&n$=gM=>&U>+bkg}|`0;%|GmzSP}EHO&hcRz5l~=ExF^NLu&K-U$k4_%D zDj-iEWAsovxp;dA$ECnBq?)ZV3Yu*{S$||ZWTk~?4N6PvmTIts(q^7f03LMl>DI@k zo6F$*#BM6N&I8$hG7qSy%%hAl8_BUuEB0-luv-8dRg%65$O7xiHo7x;Po)93!Tk$d?O&3Bs@r&-1f=n>?SO7TV~H>!Qt;F-JXLvNYmCnx?v*#~w0QLRKQ5gmBmN@JE!(hJ{C#irhE2qsN_=2~ zEAD`ce$;2}Lepv=gO7V4t!JFm~)FlhS=@#Ymz~UK#mHw-Zjmw+^gH z6uK>N z=jES(LqVv<*67^aJbgS|f>Z{B5A0Ao(iS4>(9hW_I%KzW($tmZlHizb>~nxp^^fLb zwVrN8M<=Y@sNIU3TBM_HS@h*D@>yjtksEhjHMO^1t0-Du(_=b!46@eRQ@ANEgoUY; z4QNApJwEwHxY>bj1^8s)qxb12?XTgJ%|L)fNA5?HA&H6gtZ=-;s8|nAiOW$p;HEKT zSstagF!pTPj#N@{cUH0QbbVoAS}$|&xc;-t<@ZJv8fU+uitpLo$En0ES4P@f#XZ*Y zjtWTi&iFM$&b7s_+gsBtJ-ahmBK8{ED?D*nENG&+W597hZ85-fKPo*Vn<8bKsMVeK7tM$3>P1V(d5Ya%4xJKhc=I&VW(>wbrVYG=c#}gu3eKl; zB7Dug={>LM(L?VmGx?f;VCgHwb<=knlJB9%7JE!I(RdowFd&A_R3u~bOZlR9yHZNI zb2tXL@HxrcVMq6igu-5#tM|K2jFR<&ffyOGqSrU72gvm593X&x&6^m$9XApR5Ea^c38$^F>i-bxW2 zSTZz{v=9phZ@VIrOM#^Jj(GdNcrBRp>et$j%rlA4r)>QAb8F;+4?ll?Lp{0u{jb8r zM&c!Y*C>8-Oe8Ih^NK+e5Oevvax)}bh^%*-ALlISGz^qTaMlpDh8A~eR4hl-CgT`2 zOq)YERs9ye!eZ0>XcS#a<`r&dsr4K0n6=F-#M?tw&Lw01b+z@ZXVLAz+tJNYB=AJV zY~!@)OP??0kBdjW#V=mD*0}enX~^FG;tOQvmBkm2n?L#Kq1c|R7BU^NxiIj~M`83c z0t3X)&)bLh)|yb8X?h$7#Fi{<=iQ%yfpk_!CQwLCs1EY4u8JR~bF%}13UdC?+Sl_M zXFU{uauQG5>Lb(RKP5emUu?`=Ew_m6-!`N?_2y>`AtaPIkL@QFM_wf6?K$fQf!<_D z#Pz6lV)XhbTmesKbai!dRyi3|NIO@lWdI?hYO*~v%~DLHwPso}E#8Cz!;+hAiVcnC z8l=kuK~VnI#rGAq{ARe|{4T7niC$E^{LMJ>sY#4dJi9P^N#EuAk1q9!w`Dk6k+gbr z-=+kkaoMJBz8g}Zi6G5cm;O71cX-Fn#;M5_-%?F?Ka|De zICrkh$EFsX)Tjbdt6deGi@^hRM>H}lMJyQ<79f9V0S$ej4zE&jZKs=a3a0FuT_AqZ z%2n0)8M4ZROyooVBzn+4NaK!u;V-q9v9BRV6=UVJ{@;hz?HE0DywVLd*gmwCp$k$} zG&}_=K_5{1KDJF9=Lgo)y4lC(DI~wJr9vz_Mz)BnH?*QkyM`PlrFCsBv&svMo^x$b zIU%|fxD^pQCIOt0A~S~rWdEgLNXE~3X*Y_9~K@vqLGJX0peO*Z5v}xi#x3t-F#1@h}GuL{L(+;02 zwsO@ZmaZ{&os#kuJ(y+v(o8BhbC`=?P#_QJBGiz(xG3G7cr-rek-%XFV2v$e=&;^K z<_e?d3^la&>g~t)9LYJ5P7Zw(JTOwMu%YIx|J{M%Ek;Gb6eZ($X~hsb!!KtpinNt+ zf91&aHFGJ~r!=7T0cEtTVAG*eK|&z zKXGnjsY}7kl-IBty|EglPj|N^a2L@P(XQBz1<9L}%@(9gJj51+bes^!3TDN1S(dCM zt#@kDko?rt{xLCwhvY{f`pIYI#|SY(e|7)(A^H7-eS@;{eO3BEeYBo;=Jo0jRQ{v+ zshavtFd2)N`a|SEU1HMOo^r$T(%D~9wpOpl0a+5!$syiC-ORXOXuOd|I$?}TNG^h$ zn%yY1W0os^tW-+gr4)__f>sx7%c1k;tk6Zd={fx~%;DX`d;|NAn6r|?yok5N8@uOM z!v~m^KDOJmS+W52E6znNmX%+n2>+RJxbL2*)`YK~Lv49~sGZ16AF zzxMI4^vP8!^sY@|g0OJX%343oF!XQi*e6!-)$$y0EkDf?*BhPLqNDp{yW2h~`}qbU1@L_cUj>Om`PwY;Y8_A8^alY_doIo;)MAoVAoOezLQCiKGb(ltA6W9$f1ENauQaT$4pqj0rtLB3#_OH<$%sMt*i-qQA;7VRZVAI;yQ- z!7T$^apaO9OB~*T;?9pNW?>{v=Vww>K&-k+E-x_u~0U!XJ!V@!dz?lfd?nQCGeY zj*9p0_lSXE3koSdoi8e|D1{95!Uwf85{1a*Pzxx{c+x2f3LWEZESS$Iq=*9)3PbSS z`1AG)uw}QsdDD7#(TPy&X+>pQ`Rm=e6m9``{=9hL)YliNC3~}7eEXGv{?!}!>?1p~ zmac}@bQ(8P3A~p^*s?f(ZamPibU9q5P_gp00sKSwb!{#Nyx;OGz~8(GV*ry8$Kx`BFyaDy`KJ3#9d zle<3ZmJ{0}hU^9&PfFn^I;*0NI#iib+`JgnNBM;5jXwU-m{zwCBQ7Nkpdnmbq9K&9 zm~>7y|011`h9+sy41a89`;4e>ntJ!CtntLg#$2dPYNm#bnPFKN6NKdHZ>`d1Krr%k zjdQNA(hf?n^yb!WvfdAlb6fa)#^7!vLlT^`R}2|ByeD_KMf~h?P;yLiocHZRjilRK z0m)Ixmf#Pp%fh^)i23Hk8e{)pf1mAlo}IN(mmx_Ez>e*{Zes)ixf3i7wNPe*S3Huw;73+k*K8%B}FzSVJG_M0(%R)6vK zZ<=`qmC3&#DZOq_UG}bt=dM3ywXaw`+-Ns*h;lA?x;?VA)^M1fz zA2kfj>d{k!zA=H`g9rR}b&NTd$bNJ*<_{muNa{P_U*yd7?G2LIe@dJn{_R;N$?nMy zBjnQ)KGjk1s+u^+*@V6sgZk!>r07^#u!gou>*lIPiZiX>r(%t%D4jlMSUQ&|_n>^U zNCjJVx+CazPH{@D>JAo0OwuoRyG>fFX?1>^MpW9>}aB#wjd%XAcBC13W!KLNgELmOah7vqlm~b3@RdSD1suQ z<1h?5jKjFk>Nq~fH{(-s`F-cR-AO>1_ul{g-@N&zxVc@+SEtTBb*kzViIzN!hXb>& zYx>!NJ3m-Ia(Y2k?T9IN`)`k@L)USMa_ww@hUO%QL@5xEMXW-q|Ums~)HFj)^%6;y{ zfaa9k{ZD^kZQkR0?6$IA={GG~gxiVUuU?#8Q&`v|E~ZyfPW~uc8^E*UIs?6bi8iV# zJF_6di1PWe3!L4$MODQV#1<74T{fkAfum|j_K?e_^vwQ&nEkrPJ7TM1@&pTy`v>48 z^I%s5|Lgt#?Ei7qI&RJE@k({C^aC{+2)lATEGqv)caZB$;;uRPzg>w|$^X(Zq-*pG zIkzD)VZMf2Aac9+Fyi7dQ*)VSY_H__xSXW8kc;R&$jLjntHM71l5|enjSIMr93Sep zqFL3MJq}j)>gU*dVNa5Cn;B)dBI&zn|K6>H?-#xVjE&0J&RTk83~u;w$X&k*y(S+p z`y+-qw2ol(;Ulk(P!t$LkDc?;*>LRBwY#mq{p85wmyfsy+lhV~t@`{c9Q*V&tNHYS z-)6Mmgc9+MVNC6g5^-cRUcsxOy7)7odJ?(X7cMd6_x2iU!*#Fzx=m@@dA@e>{_6v` z&Y8Rp1^(v5OUKmJ&%sTx#ro@`civvqel1E{diFaqw0%-?n0#n!0V}HdS_+br}D^-lQuX8yvE?Gah@uaD>>z3Nr3Cl%)sx3P5FM$ygRE zUQcjO>C?Yi?Qu`-+kXVs2d*BJdFymf_RvZ!=-?#g=Z?9~LAx(INc{(_^DE zldDHy4`~7R3mkNAzC(ibV>e&9d&uZ}1yXwEbmc*3n zXHQef1NwOeO}&2hRpI|NJ_x76|7)f7@84(OYjdaa!Q9!?*jK9}Ryt3>8jOQH_J((& z5Ir_jE2&E9UsT*Dsi!A5)!D5gDdr+)M0`Yik~1m1D->k&|KB)#IR5bAHx6S3Ulx#Z zU~GFai%-h;D0~BP5+VY$d%UokQt~1=tux>q^x|JQ?dgF@r6Tb6!O1BOFFwP$*9>;+ zOJXm5^WxL1+s8*GUY2=HX@Z`WS)V`C?U|Z*pRnYQ%~$jy$Ai>LU(( zKPh(jD_5Leon!xxzMH>9R!b$T-_?J&zxYt;OnuaA6)(h388-69$@=g0d!D=Gjaes< zo*D0%++GnXTzoZ%zKe*Y@Ox&%AD0|&Akm{LGYRod6B5j9aTa#OG8|U&UNLS?v<(9| z1{nZVj%kO3pq{r?vok2_Uw3`?=HIu30;4*Pmswl3Y&AEyb}zmOhgm~mQa?io%$1=~ zsSz`+qbqLZw$8e%QA>&9vk-ejd*ZYr)(jGQCil;+D#$c@#>Hie|InS3j1{)7H*s{< z6{DofI-9}zBASk^#t_oy{7N6{I8^@TW1sFg(wrQ9)ibl|?@iulOzc{3S$&&2Xgyco z&Ro|1jaqSR`E_enOQaw5=DD@U%)|H^y3`FFQBu{zfx{m7Dj~#&+lfoV5H`|{P==i` zBRkKk&@e;&<@}Nn4jnDa3UUvZD9s#wutyd3wvJb@e5 z6@}Bbh(G{!&Clj}Re}VdR#K_Zf=6$oG_>AvZY-8BRAh$r-Li&7YVtqcv>tGz+}D=T zGI)n;<-+8-H{5>D0%vBR{cWsw?0idAA}-6bf&cveBLs(;Rk!q7EO*e8C{bZyiKNSH zEi%EGBzubRpP1MwVKuAmj;6?5REggamMhGt7;I*?J?)RmtV4uuG~_!Gp+p~;&GksgcCKCwSs-;m*h5W-#Rhjk7K zuO!a)a8waJLaGZ_LdZOk`eF{IXU%N!nBBT9*sjK|=@I$N!RCh_TvM}pOl9+oBTH|Z z+cTqPRrRDf-DgjpSl0euuF~V59@_JJ>+Tu%S8a_oK0RQ4v}wUDu5IO;CaC^9K9$v^ zTFm)pg5MYok#}5X6e4RHQBg6G2{Aaz5q8Xi(@sI;q8mm$j$%4y_HIA9KwXk$y%5~h zydiVLTIaqkmZPoxR=v4R-z52C>#ZTtx0rvlZs?aHCb{9%lAKuaaE5%Po%!Q-!_Fg~ zM)~!d(>Kl0%QCHnH7YLM`sRA|=auS{d#&9o5l9cYPqgf~-Wd{=rW@Qzh_o3M<#Z%C z5&PU}B*43r(6iI_3(E#XH#-7k+wxnC>zQO9fW7Bb=DE5#EiZ_b4gJGj?Z*}mtNB93 zK5m^nxOwr)TQ_`s=K+0vWIG}k-{1bP80%B(57xs6iXI%iS>^A0Ue3gnTc$A=EzXoW zB_lXL0tlt1Cb%KDa_x+U-C>aB4tum~o#exi%njT4j-!G+>ndMwnQgjM?a1l<3hIV! ze|yzUqf2M)_=`TGmv!wW6H4a)^r}@~TV{Id!)dvy|5xj`CRhcI>U*uH6K_1$bj*5v zH{%Zk7~eYy5uZ{tBheM#&6Onay%UlWVzL=fRooroRpQzc?MbYnV3h?3RWHj=fFFkY z&fCA_Cs)k4K*;ac+yAImc7**#Jx*J}P_)OYs_am-#~wW@dd5{Gm1O@90zGzF9Q@yg zc|`4Hs{g+X^H@84;kKGb9{8Wec}&Iu)552zGv~)v9)#x$A$O~es0ZZ|5mLCg>n3sv;+Rj0cb~ptU5-= z;l@{|BgPfg%@N~>iHz@NDBephi;i;S2KtZn#ZnO z$uO821tySyWrwe~LcHgK2=GP&L|Y^a=G!J zMBEXo$04937gtd%6)<-=$Wo$|mWO=`iZ$?ju>B7^7OogopQp^j?O!FUX|KFgu)1c9 zuNGWfx11ZcYe{5bzi|w&nsC6#_BJ<+aA!5uWsMtn7w)b{>|3i z`Wx+yC=(|V8OthJX6QKh9gQeu$%sM&52=p+jK?+(4CRjTVi%f-OVDXcAbOSbELsb) zbB?qY>?lxrhGkWj4s__TN3DL!^WtAOkKc*lRL*Jp_Xn&~pZr8mvj()U(W6&bxPcip zcmb_Gf>uXsSyk?CdbHt)Kw}*VvYn%2$rMYtLNZz_3Ky$i(#!*gt&&YURd?%!EcMl9 z{oo0l8j`s62(oPlu1D_jWwOulAopmeZbX=xL=`o=!HpSS;tb`^rigly0&w=V{ghgD z(0X9W_9NCd1jeI?;`}S3j2inkwu^j<)r;u#m(5VgZHW3uFS&WQV+H?4e#vFs{*R$Ad7?tZCfQ&Y z6BiksWME4NCg4;Xon@dY@_l7Vp@!&=Ue>mw=R`5xc&4Va6_yqu9*0bAU{zYAGR+Ju z!<(*-+k)MQ_3iHRIk$I6Fd`PjD+{|LvS5z>@N52*_REsPmi%aY5#-u$SWP+bOcc0SDg{NoJu|5{tmNKt zCUyv!T|Vnw>c(h={DRZQzz06Og)T%+mT_i+Z^5o>?w^ z$SZX8i|TR#-KnrfSl-HHBqUOTV}N_==kN>t!o_S6%anb!Odx9esOF zTzd4*HS4Ub=B;HF!)_jB6n$>pIXAh-Bk9F`-BE}QoeZV>X{Gf)YMINN;Jq0;hQM4nrpa8?DpddEM90dMj zldu&vDLxikQDZwDaA;|0O)=D7TshB0*QD-=@cGl3)#Vrfw-tHOS}uRU@CtFGe=+^$ ziI>m%X!WdVGY`)+J zy*#S-KTf==E`Bm~U0T38v%UFI*TOBq-`&1$`2*J9$HgbCN#OcbwRkPD`w;hBh=m|$ zI=FsS%^1D;@J!p5!>zOsUa$gk4+i!Q;oP)=t0v@26A6>L(>}0Qco3Vxwhy2bBeL|! z2k_0_j>`?^Wf`Y>S#znai~%J# z?z*BeZd$_HaSz{`dBcvDgrTD)n(TEu{?ZvucH(QZR;`JRoE-H+Z%_AjOWlxr_rMCZ z^QyvoZ$7!viq`i|FStY^%UXGk>SKs3d-KX=Yt|Hu9bnDx4<;c#azhg0_EeBTiDoQ; zlVfo9E+)e078ikmE1zeyg?EIY?%eOFmXF$3Q?qGZ`C;;eo?+KGeVjX=Rf4ciTd-w z_O+(U?rnWsvulj?Wp9-fDW^{Kzn+@UMi+t};d_jz8!?8SZMtk@B`(S# zohJ4*S4TrcLLfv(^FSt!f1^<6JBxX9ONuow)A+Erb?rC$Qr_RPx&3drza``T`@dg_ z3s63h(x#$S-=b9>>>5t(k&$P{C1q>5yo@@|?aUB=RoBb3S+I;LG_tF|O3tK&23UT_ zb=nLE9HE!rlGrlkr>hZrc~4Z1jHTVCAnUdF!m5BvjLmw&uP zeQ@TD{`tKNID!zC`nK!VH4MB(PuRFoYWpo_9v*PhLt+9uT+xZJ;t+l@CE8HgMjG4# z;mJqWPa8Vm$FH9$ag_h$ipN%+`q>j(q}_Mn3Yxz@D3?;<9-0lSORv;> zwtqId&!yFw191<{A5aJUkmB7$DTB%}E{+xU8C|WW zT2IFg<|RGC4m8am$Ww+^T9pQiKP3`7r!tb0V>6tvMx4&rs0^5vA%zqA=5?tRg(^iV zlGqVZ9M$x4vlW>N4qH|E%LxoCo-rVDLBP9e@SPjuE(TSnr}o?EP&w8YHR`4%*i$)p zZNs_&*0*Qwy1U;rH4t^fe9sYp^dxDBYpx~gIvkw3p4i=pOax7#t+V0arPw0f<@9#&Q#tpqpArz7~WBRWIF#WVdi z4S`+?pgtU_Zd}9|wy|uZgE|?5TB2*gbix{-eEb|)Irgv~0;`J#SE=0(SV6#EIE8)M zCB1Xy1F8apey0j|9{unQ>qhJ7+=y47n)b8%SG=|SAJ*T@h09Y@HW!RGwAZcU7yFc< zsvllu3_7BUAA5T1&R+nD^s@9THpWNFCB|-?wPpRoqBnqPj!EK)5C4nr*G#t?!0~U`pb95&)HuT z`=`JAyZ`oJS*AW~x@Tf?+9ka&JFOB{uUNW!`q;bH4a(Vgh4Jyr+m|gYuM*pEHT1gl zO+T#WR94|&e{M`tK{s?s5kfl04UoV6||%DRRJUrt&EQDlibTC*S!x&OzeYz0LgvvMTu8^ z`XKla{{3%Si6wCHg#EXD7GZSWo}>PGSzyh->9%#vmu?Gn98~<$>~|l$aOaKeW^Hm- zhx!lRuu~Y%hz0=*4TA~)hNg3U#ar^QO&c+thN#fVo-Q{_^4=J^mqh(C^v)PqcR06$ zeQ^v(3q1kwY?3A#H6}e3^rj_ao#9-!Fy@g; z>$que%%8t~)H-o^)4~&CkDOw#qFOQ9jtv>tJ3N!@T0K)2BBv1?tR7j55fc;;wNy+j7-inEfp@454R8BSnhY>K2Re&1M2`8_GRoz@$itxhs+Eq+b%!kdVxzE3$9%Qb|=VGBE=Z~ z*yr1i?6}~KFB@cK?nkeEvE@U&K)k^%bgP(Kt`*ZTamHGs?Fpr^0qvb_uMi}5_)ba` zHaHw>xp`&q*B@TAq^m2)`gElAhNTVKHuxjB9X(-}(09*SFI(@0r9nJHELmZ%sZ!ky z9EeGZ#BxF8IieuuU>5pYj*rl^z{R1$dz zs|GHKSC@)8Xrien8;Q}8Mue8=&Q63KCKi|sCF~>t8T7^)SZ$=;g{EU#16pztDabU zb{^UA5|V3Mo4Eq+Prqzt!(I}r5zE{&o<-BcA8(h zyKFBHtjfu}d1(j#jgtyxD@pON#dN35N9I0w(zTAXkF+WNlT zshdXuRdwx5wVSwlIG~VfLBKS01}{(cnwO+eXHuhxLzzcl7XT@GiaQ^>+3! zYc4&k%LL!0&AZ3$;czev>_-pTF33sIc0n}#GUlWs0C`7F_N{l4lWo1=tsGb{vIBnX z*iLETEy+?VSv_Q}9HG3*%RBSJO}NG^=7qIHdF$-*P+mS?C@+l8cu1$51neQ+h$Kzx zj*|phL~4(eRIHMx8WAxyQzAN~g5i!OR4UIO^01Dal(#=W;{L@(J#j1QIR}4zkM+&I z=`UXV%)b36Hm-f7hpxB3*xSg+FiIQ;wy*!~Edz45&Hed9H!o>cf7r4H-~Xl9Gb!JP zG^q!!TT9k(&Hyz@Nx{C86#FKbup>R}x3$k)(iU=ctkid@hFZPtXtQPg^z}RLd;XbU z?b=bDrvBLed8U54hk8BcH%~qCpTSEWoP1*c`i(cKGxx5P{+1QHhh6)@EYFUs%eAlU zafTD0;c>>B@SL-u7kDmQU5*geurGV|4C@6u7xs^R0)3wLZm55{>IFL=^mXWb`Mgl? z^zYx%)4XFiAUPpgu-(&kPKI7o)X~#CrIJAnGv1cJKiTq!CDe{P7;skI8F0RXxIcG< zGz?F+;NLhsftK^{Qj+|gGG&+KFiJ|!Eh(Lnj$etSvm}Rst-c*4;npO_Lbe_!E+}{Z z8ESoTac54vTZz*7$Ix5;Q2V>o+P=-1{eg=^up)4|HqGvjw6t)4*f&S8Kc-2Y)aCb| z*B_zV=4HGv7mVVOp&DVKAYAWIKGGk|N1Jz-J@UHrM<}Ny;hfY2EqH;P`Y<|FE)+M*{zi=PUuJt$W9*fN-XHLojWN0M0u4MaOx7!C7mS|3g(S>vS z)-ks4^AHP-lmds*@pVM4(yV3Njg+o=t1?`vX^7onq@^XNr=zLqMsh^Wl;nhH+;kkB z-C4Ci8G8RRUQ6{=Own)5vS)2-7hZnkShJ}`=8 zy}}K9ygQb}xHc9SZDJn=mM(N2`z0 zEBBwccwwch=qyB{9;u`G`b!V!Gq`@S^#Sw)oRVxm%Z5f;0iXGM&tTCLBwG3;(N^Cp9;)ePb zcGL`%x&f^X-39JIk0Z_?u3yCni3r*J;t54rVl;`V-&@gG$|{+mE>g))2XSq?by|_)ryn<)ED7a>AjC^{3>K=9^ySvmtwT)+H6>>IOho)LZUgOy5f5Dh>VxG z9dU7y@kUB^WH!8@k+32{D^X!TY$~?+$TXH6jd2O*lO`3iedEOlx?|gL@DF-jBj@xv zy6xAO)_=6~MdeqyYnpcbCDMPzo}%m9_bvV4<9TxyZt9MxaLKQ}uye=rkN-`@=!?GJ z+uKt+{*?OW(Pw{NH-E)!)D*V3s~S68bG1QOu}_Wb1?Nv0Gg)W*1e6?q#9weDcIQI4ad5)KYnNsY-!{D8;b)p2 zPKmtc=%Tx~-1E)-*W6cN#%GS%{!Of$d{>0H(C%9+dWRh8DklP}%5;Esi_ z?Rj6#c>UU`ci*FCe!s5z(`QxggEuaH%=*pFPoWdPMN7sb-p2sVSCtW+lpYc3@$^rM zgf5JX?4OhrS2HEa(I0F3{X2{|xYJauzvZFprY*Wh9k-H?%H>U)VUH|;wcl6bs^BWR)GSY8_wJYw zcJCgYl?BzA6(5a#XC1fuhHXBy0wJVqzj=hj6eR01cNgowvn8_0KD45YE5P+X>)WLx zwh!<3`abIw$HY00X5Mi3y^|+a*H;hT^OJ|3S{;}=O3%~sHuM(;i9*gYdB&c0JLJ~G3Voq;u>3@qGt zZs`llct;%(S5GRDh?9Drf5+*U&R!dC+^x)o)j#C(8Z|e$|NYqbxa^@PdyK6* zpUnB9nGc-(v+E^j4n%~&4yA5Aa&wa|o04ldGkYMuS!|C^l@a=!Q(H(>fN-~q&Vb+R zJRhWfGHvH|i+j)5F}L3vKfnK}^gY&|^Ief=GHxx~x^OMzvB$Az9$tHK&=~q-UP(yl zSMW*}%9kS|BBO6#_#*qp>De(E8E~h|I<0&#?6bfeV4@~aJ=RaWlB{3;g`AWwW8Th@ zb-uLWJE}A1Y+wGsAt+>`-M2OQe7 z<(b66T^yUcK8#a2TW`Kg*nIoxhu2n4R*tZ9^ZQSRi%epU>{&A0iNOLujKc+Qi0eGnDYc1kiSxg6BNTczv=eFwzTAWK zjFf&`t@fACSbzA1y6*H}UmiaHasLkMuMfTW%z^g?S@-E*F8k8@Y7K1R1k6-+e|_cV zqP#b)EvMf(bwWvv#8)IEmp9I8(1MtcMn}T~5*_cvsa(0@UWRLEG>Cr&c8N^E<*Yf> z9k*s-<9c#Q@5C&9q550*a_h`zzyAAH)%WnC9W_;VZ~o9~Z@oulS6K)3VbiSt`s&N~ z4k_Qy^ZPc|S|_agwy9yL#S5s#Nl1@)>=I&P5|jfEq1227Tn&-X!Ai&*06Ri<63IvV z{BijL_7r7V*B^}CC8Kfs>;Z>=zU7&u7i4?UnPt@jLgP;)rt}(P2@08rlCdBmmPA!T zL_|zdYWF0Zn@oy}(L1jn=7ubUJc*Yw1Ob^Cig``h2$fA@|1CcN_g zFaPrK>o=@$40!R=>Pv1JQL_1to0qTMy5*MoA^Drfy|(A6-@0Ad55oQ$2G7oea&Nn; zhy5ihH_Nzk(;K_0Q+s2vxwjFg#M)1W4VIkf!hsl97h9VWgc@UDcbM3?j!K=cMF&}b zT3^+3;fzai`g<==Puq#;Xsgawqu-sjPOiQYruO2XGvfye6m@$Pa{yV_DUiB(AjuwF zJuCZndLSlIk7Ori16}7Mp}L(vA4$BR1|7C;X!@d=7xx)hB2%^tulHcK6rQO3*s2da zbZe}w=fta>ul?9C19Hk8!KxOU{%Hy+@BuPXIK7vzKdCI48Wd7deS1vcne; zs#9KhDK|{$-j}FZf7Yo73n*AV!%J&Mc+a5 zj;3$i7%-q~FF3|WCU(?tg+n}l!f#yMxiy^OI@rXs|#bhf(c@ z%rC;&*@(DzUtTP|<{FRg?m6X&eOZYN$bBd%(J}x!>x2%15_(9rG8|Orh zKIVck`UPc3SLgTpe{l4%K6opL`iP{3FYHFYOI~Q1Xazg3+b)!saiB|Hw_PYNXE%;y zJFjII$_w`&huarnEW1!%j$@P|JFn#(c?}qFt~}1B4B2g5-jUbHksUH*_jWj%t0p5E zz0Hw)3E9_EQ#;wWwi<76BqK+@3ki^sjBOs~UL))@#^^hRT_XjQiT_rJ5Y^5*hE9d5*hQ<+(_IhGQb~fp?xVja318Up(@xCw=?)e(bbcot4$uYQ&$)U_HgNFY>(| zd0@9P9k+4PiK$VbrPww^SaHs z^a6Qhbjj;(@VakDU0|u`tV^e)g_jySa)Fj)UAjnG-@f4y5vmQeq@53H^7)UqNwlQh zCN))|KbH|&rCpmYw<(;TODNKGmoaYVB0b2upiQCm|1P@1&P94q z>LP6dA5xnxl3?c}J;;1elhbx>&TkWYkZn@q2mPQ;=s`qOw{tnSM7=0nG_bU2dOSz;mpVF`s4Z!I$vuJH#HW2(`r4j9qp+gzk%%uez+UNo$LK z(1Uh9@>OR(XsJC0Ri|wdTJ@8!p5%kC`X;tE97+y77-7BSERxo0C#06za7|=IKjT0Q z_1%b=9*K2@=x1VGrV8IomLst|5ZKZgPPC6*P~On{g+BAt^o2;g*nf`WRQdD6lA4}O zlmFR(Wj_7PA8~qeo@*7(-==D~X)_Z4ld2^~x#YGB9*31cHYJE45`in<5n}{VL!5}} zXJ0+m{>|?AiAAomYo_0OTTQpoo76>x)B8Qy@7_@}oc|o$T9Hz=V7@QCsx7%_`p~p~ zOZ!TB6A|Ct%kq-#^5Sp+;@_7Sfry=GSJL^Vy*=Uvz4@Yx&nc>~a(&98tCGVl%W$2R zlf_zEl^Kb0;Eh|_{7OqR>z)Gf!@=j z`s8GGkF0f7lwCZ^?U9=N8EyVB0ugbs1IAO8&`s-=tV!^p_^7D(WTSglPa&H(`N*by zi4+IU86Qr9x-f1Trt>8(=Q;ggee0Si_uY9gL@4epiKt8nlKy>feb%0H+q+2Tv_F1~(P`Xid&ZlYc@T?cVyHc9#d7rG}U zA=HfA$M`n(>f4d{u;hSZapnWtsc~$;?szNhw)-46#7?@rW$>cx9UHH|Y*+uEj2h!O zb@we754m+^K&4-OV@m(!o=_PxP)3A?8zri`xuYVn4&{iGn_N4~Ku{WVaD>sdEX#9K zwQJ3w>d1**i*lY`Fe7E=oOJ6FJD=?wXb!5uGl#10z68xFrx> z*`^_Ti)aoIvZ{imY1#EFF7BV4Ywf>m)a)w@7L_hu9(zMKcu_vJmZ@dh8k|itpT-@6 zxI_>^p3Yf3PE^Z=r!Iyg#G5yuG`4(=b#&o;xMfO)VkzSP_5!)AsMyg{qVgR{mrrrv2HdcR>6}2QxH;JlTEYb~hq?BvM_zt+&6$Uv z{e`t;?vAUM-!y0I)r<8*$E?Sn`t#9u)#&FxpVVf3{n*;g>s8v0=KJ6s#Gx>K1-zq( zkG{`|lfdx`w`JofJJ#m1u&#ndLae4>bM*ShZjY`=>^W(Ft=hguALjeEEaTEu^Hl*9 z{MnP39bmsYYMovc>o!MEap&WtU5_zSBrowS!n=y>aCaeZzk?62b4|>JbLLq_-kCia zYIp0h!IS(oo92yQ{^pHawhzaZu*dal8dcf+o99&4Od2+R;k9EnH(t56{?+x7DD^h$ zK6o>3vb~B%YFb+A=qYJwQTh43M^DMmk8*>&ymMW<;sA$iLhE7q3PK`M!Z0A`t=NUu zkBsGSJ#+iI+rQlQtDjH*mH*Mb53dbmu6g{oH_saTz|66SK7Z!0QTX7g-rZ83SlM{& zrYp7$8vMxJf#CYx_e`5VWcV%j?gp`Ek61g555cZPlEXPd4yzWTU`cq2D_ zVllL%B2PA{+BZBh7&pF1$~bhq_R%rz%TkS^W5aIKP zi%BihcinGYmLjvUg_zxsgx}YtrTs^B1`j{z(1aIb+SzH>* zoo;fwYWtu}V?}zq!+OG*)w<@plgOiaHQxzAbpCi-aY0CUZ(BlQc*%K)=*{p|0!88Ct2!p7ahUGuCeYM>kXH|F^5C z{+G8;N&k%3Pdg{#7SMR?3&39K{^=?**4aH*i*}}U@8&WJauF*5TQv?BBdFz|ffBny z896DP*R3OZOdb{aV0@n;j~h8* zQNKPV*#oCQ)>>gjmN8r;`t=|xps=0dobRgiE$o{b5V#z z6qD{w?HQMf_(Q4jZg}S1$yqqwl@;D=DXUE)@%A>MuA3Y3!otW?@`xZ3UQGZ6L%c)O z!K)4}yMFd{d*-U|BCp;%ulB7Qx_9h7k7VZF`l8C&wD9I9 zt@j`Mbn3GChkpKRHTShwcYS~JZ+>~ngSo|b-MwAf!aB=53+J6V|4tJtT@PERYbRQ(9M^(f<_>FPfR0%m_?&^?{>>Gwc~I(pk!E#e`+uC>6k=M+a!Gyce;b+S zurUOs{0JMY;s5zpKgcCY=B+k2`fTGHyM^7lb+j-6-os9AFc&svqdoF}O4IfgYw9xB zothRqBo{Z*=AK;)^kVJIi5LumK4Jwdc&9cJ_mnubOU^a|FC|tJYtG6Y-D8R4h~xQu z0@GJA?Pq!-aWb)0#71HhF-UxbsJu6Q3aNAU?@AcM^X}+(rBu zaWC;%;y&VY#Qnq!Neha^CIa5kM~y) z@8FZwETx`L0>lPlkl0MThi|Uqo9mgrmv|rXe&RN^dMC@;%`|&iy~P}U!RPD?b&~1d z@EtO*e$Vt@h<_t~$+EuYo8OUvGek>J$B6~tBzZ@lEbr)3qz?KF`K>;a&*w3H6aTt| zxbo~5`0FY@ZzKkZ&BV3Dr-_tO{TEEX%io?N{#M$ef57zbm_E()@0tFH?|;JdXT-1g z%8!x2C&_%$gP2b2$>$lwUeZz{lj+_}XEB}4bPm&b#C$&S zFx`jg0;c;i-H+-1Ob=kXkm(|(2Qoc~>0+i!m@Z{{2y1l_(MPNxRuP92M-pp@V~Djx z>Lr63$(YC|lZjJ_(}>fF>`jBcX#Mm06jsHP?w)x@qILD8tDCK}b$M5CITXjD@Z zjcRJ5QB6%Ws;P-aH8s(wrY0KI)I_72nrKv06OC$WGKx)2G^(kIMm06jsHP?w)zn0z znwpGjQxlD9YNAn1O*E>hiAFUw(Ws^-8r7smHI-;oQ;9}3m1tCx8r4*yQB5Tp)l{NU zO(h!DRH9K$B^uRKqESt1R8xsYHI-;oQ;9}3m1tB`iAFV*XjD^)Mm3daRFfLjRH9K$ zYE+XN)ucu>sZmX8R8xsYHI-;oQ;9}3m1tB`iAFW4QB5Tp)l{NUO(h!DRH9K$B^uRK zqESsH8r4*yQB5Tp)l{NUO(h!DRH9K$B^uRKqESsH8r4*yQBB2OrbacDXjD_NFQ`#X zB^uRKWS$z;RDacfbPNuHL6LCYEq+`)Tkyks;SSD ze00&MrY;)Q)J3D3)TpK|8r9TAqnf&CR8tp?YU-jjcOXAQB6ZMs%eNuH4V|ICN-*Qh(*M5CI9XjIb>jcOXAQB6ZMs%eNuH4V|IrXd>DG(@AChG*M5CI9 zXjGFL)ucu>sZkN5R%F8vjcOXAQB6ZMs%eNuHK|ceLo}+174rgk;s(GTkJIwcJ^<`X zEGCu`y=YgQb`kn3PAfx+ahkL!4*n6rX1>!xY$di4HxV}zA0TdF4i6F^B0fxfg!#P5 zcitktP5cG%_r#BgpAbJ2RI$W(Vgj){F;{A<@`-&Vf7PE@NE}EkCYBPVr{a|KRGebF z)TPX4Hu^D6Eg&vtZa49rCH(7Brf(xQGM|U|&LjNmcBc0;{UY%tJ~_bL4xXKcoJBv! zso(LhA2T1jUEeW%hG+@u8d1Jbar)KrzJ86AsLyBmcF9e@gXuf@PCc=KPnw8#5$`76 zLwr(7*LO1g6!972vwXgfY5DHN>CY2i=JNx5{t8QcmCxB0{WYdvCmtdGn(xSWBu@W3 zfAt^4e-PXGSGLZGk#`LCrXgR7ID>s^B*~jbij-@lGJP3wH1Trc6~uAG2}D0}5^)N# zj(8Q3>=|Uwm?az<*AeFsuP5F>TtHmN`Ya|cA+AS#;x#Y&F<#{oMTf+z#l(k*^2Lu= zFA)zDMH9v=(RlItlkx=2OZr)+_c8r4(+4DtR^uJCTGH}0adT|CIX2yzj7_&DW7CbA zEC$NhbaQOFIX2xKn{JLxw}7vFX-iY`Qg(VK>JnuGVE*#->}z*mQ$2)Rtq@ ztz>MvIX2x&#->}z*mNryn{Fjz)2(D|x;Zx89Gh;AO}CP<>E_sUgL%nQ#->}z*mNry zn{Fjz)2(D|x|NJgx012xRx&o-O2(#J$=GzGr{sx@O}7$xc5`gHIX2x&#-@ft-MWlTH^-)1m$B*AWo){28Jlih#->|mTR1k| zx{OV?E@RWJ%h+`5GB({Dn{HjkrdyY>>DFazx^=dWW7EyC>E_sUb8NafHr*VXZjMd2 zA!E~R$k=onGB(|Yj7_&8W7BQO*mN5*Hr}@-G+=!H^-)%W7EyC z={96+x(ykdZbQbV+mNy8He_tN4H=tmL&l~XBV{pm@j8hnF&}T{V$=u@P?$Mj>_}Rq zE0<#@7o%o3(mtYm(Q+|rn3 zWFGhwEa!8qqaa;L6e~Ip^C`gwqKwcy%%=p!qRxZPk@sI?`Y`bgL1+);4}JuP$UERi zkYy>HO+lKaDD16AdIW#9m1#sK*`IN?dN?kssE+4vDo{QAwLstum z)a6503yQquQ{M8SjU_GemJe+#DDsw1dCRA~8s{S+=|>QsJRgcreSBv`B@AQsJRgcqkPf%x&elNQH+|;h|J`C>0(`g@;n% zp;UM%6&^~3hf?8DA{8EtCP9%352eCGsqj!LJd_HLE>hv4RCp*A9?T}>iAaS9^9Vta z3J>NEf+7_j%ohYjDm<7Y2#QpAptVpIrNTq0@L)6@lJ!Jw1uSu~e+s~!U^f0+Kn@GY zPXYNUAU_4oFQ$S`4$V>rST7b47H?&1i+ET!_6tFD?Y)b*#Qoyzpuq_2_ zO99(bz_t{yEd^{#0ozhYNiL)$7gDblQj!ZP$%T~ULP~NWCApB2Tu4bSq$C$ok_#!x zg_Pt%N^&73xsZ}vNJ%cFBo|VW3n|Hkl;lE6av>$Tkdj$SV$a5EGCu`hw#mdqz)KOf}$~sFlq$P5G_HB z8vGUCATWk+kf3OTBG^L6pFL8<9w}mv6tPE&*ds;kks|g;5qqSFJyOITDPoTl**yZ= zKysT!ypA}Bcs=n3;sWAAsSie(;1c3`)Tfx*shHZSm?I0(kMP%GYNujqr($ZSVrr*i zYNuk3zG9BPVvfFIj=o}!zG9BPVrr*ij=^G%!D5cVVrr*iYNujqr($ZSVrr*iYNujq zr($ZSVvgBjYNujqr($ZSVrr*iYNujqr($ZSVvguyj_6{J=wgoOVvguyj_6{J=wgoO zVvguyj_6{J=wgoOVvguyYNujqr($ZSVrr)nEzbHU;!?Vaxv9{ZjURDSN+^ydgrUd6hJuilHE5^Nxf zuilHE5)@y(mpa)?o$RGf_EIN%sgu3b$zJMYFZ}uP{$s5FHsa&N?ZhXDJBTu0^TMAm z_*3F8;?IbCi86Qd!k;hr9C1JK1)|JDz3}G?zD$(aoL75=trM@l7hZi~@-Wk{GyMkB zN0^pxgcrVjc~fR0UU>K=E%u=oett=dmFR`HU(&~kCy26s=Y_XlP`tQac>4uU6UD0Z z!sjnf#J2Rp^Dk+c(Rktim-J^$f6nxGQgh`ZMiOI)GVAfGIC+QPCa-ccEf%R)B{D5` zsaGX2ox)$G5i>*vusR?ps{>xH4tTLTAZ5vT_bM6hUM1t*t7N=;u{t0q-)OI@5D8I3 ziB&{dBk*F40IXt-Kv2GJUaS{sl(>udGvZ$2vqbTcmO*n0?kB!Le32!-M0}ZefcP5ge2DLe54H>|q4L`|m_EYv zn|$*q({C|-jOn+TeuwE_F#Rsm$B8G1CyDP9PZ2*Lo+kdDzxt5)5%FWJ&L*@x)@ro~%Q2J1zh_h)(l(}heIF)iNX zGT1Znj`&r|VAV*vlxdmElwmziQ08c5SdSB|A`U0A?U=1d&1?8%G}B|4zMSb=rmtX{ z;|m&3^5OV`#*;M17c`!v$r3c4q^Iy#V!f1Mb|a;T^-_j8j-;nEO%9>)@Gpk9zN`&5ESj< z!#)Z@(H=h7U4o)LeAFI3?4yvhXb&IkEAKJ23q6z$=I#U<~E_V7`A_^3U6*heAH zMSJ*QaY_0urbT=BU~$QF(H=fnT#^>;;e*8`DB8n^{S|_uJ$$gZ1VwxJU~vhG_VB^t z5)|#>gT*B%+QSEnOHj0j5Bn|zMSJ+DJ$%$2J|)`22S0$IXb&H?hmYFBNA2OG_Q3rN zd`Gm0Pl@*MDbXH2CECMB?ct;L@KJmCs6Bkt9zJRhAGL>%+QUcf;iLBOQG58PJ$%$2 zK57piwTF+|!-sDuxTW^+QG58PJ$$g2P&&1TkJ`gW?ct;L@L`UFU%_5NonbFYTC|4` z_L4ji?ct;L@L|>?Y0(}&Y7ZZ^hYvF#c`n++2YX4%+QSEXN&YI@ z!$Lr=3|2 z#_%R>%W_(k<+LZu!Hhf?8?v0%V+C|$BX)+#ytRV5u>!hL($eY*wz`6?u3)Pxpc@~+ z^Gk@b6QBaRQBb}J72H2o0o`~A>G6Cn`^PGv8|59@KUM+VxEm<@$0{_bNd+{dlo%j3 z5M_5w1vI3f?6IjJ+ZANHf^1ii?FzD8LAEQ%b_Fz~l=T>K8}V`CcH$Gn9mFSzvdUip z4Jo*b_%q^O;LPMgZl*S5ZNJ)!KRzO2aS|qbVB{3~K)+(SO1;w_h zfQA&5U1}B3kb<&HtpXZSPPnUWUGPywAO zX^u+hOi9ZevjRF((l&>(H?;yfQ&4tNRX}G7%1){Z=*&Y}CA7yEK(VYUp*;k}vZ|z= zQ%O6gl6Fod?VL*5IhC|?Drx6b(tfC<u|r}N`66x zazEHetblxhh*zed9zl!(j^guCd_IaExl#1UjnahSQS``-g5Hxi#eX$Qd5IPB1oAIf zMf{%6+Xb2bD4qFp{(cEgKNR40OjA&gAVvYJS$Z`~uV(4hEWMhgSF`kLmR`-$t66$A zM&B1&HA}B%>DBb@R4XaHnx$8>^lFxV8A@NFU53(uC|xiLIGUx8X6d8(tI_;bEp6#q zO}<~X_+AK#+N-s+S8Hjn*3w?BrM+59d$pGKYAx;6TH33%v{!3s zZPvoGCpn9SSxeipmbPUrZOdBPmbJ7kYiV27(zdLnZCMLlhhIU<3CjGj7Me|vb*A-I zOKYc=)=n+0omyHuwX}9>Y3VLS?o=fO|8^>e1+=N!S$*@2%k0>9Bm-r+33Py63b z%im9%-%o4bk8hT|BX+)@lJBSF`ziT;O1__x@2BMZDfxa%zMqosr{w!7`F={ipOWvV zux-eJvLKlyG~)-r@$(}6EZLb zw!v;~Dt|SVznaQlP35nq@>f&&tEv3eRQ_rze^p0$tE0TtQQqn(X?2veI!am{rKpZl zR7WYQqZHLqis~pub(EqyN>Lr9sE$%pM=7eK%+yh4>L@dHl$kopOdVyWjxtk6nW>}9 z)KO;YC^L1GjXKIk9c81AvQbBQsAKQfvG3~GcXjN$I`&;1`>u|CSI54qW8c-W@9Nlh zb?m!3_FWzOu8w_I$G)p$-_^12>ezSF$hMrZhsGh>*fED*m`1jzk?m<@dm7oEMz*K( zt6C4;vRJE!ZV{9@NIk3wLD`>HuN5;b(pay_-p+bW_NUcrvOld}ll^J+oGH|ErclqB zLOo{+^_(fxbEZ(wnL<6*CFOmw!|ORatLN;jp0l%h&d%y-Ki6}1R?pd4JuD5pPkXpt zi6vYQOG8lB`|7cpDJc8X>Xq!8uE%PoplGdntXj%**`HRgWPe({uE}4a{qQSjKS8m$ z>S^`W)84D6rB@GIMV^a|R}Wi7&`%VLuAa7BJ*~KU+Hdu=-0F>mlE1N-DEk2Gxj!vH zo&)4LK%N8SIY6ER19@&B&kf|cfjl>m=LYiJK%N`Oa|3y9AkPit zxq&=4kmm;S+(4ci$a4dEZXnMM19@&B&kf|cfjl>m=LYiJK%N`Oa|3y9AkPitxq&=4kmm;S+(4ci$a4dE##uv* z9h~+cir#1>&yD1{kvun&XRJx`9nl+&@7z+(e$6$a52UZX(Z3@7z+(e$6 z$a52U4wB~}c@C22AbAdw=OB3wlII|K4wB~}c@C22AbAdw=OB3wlII|K4wB~}c@C22 zAbAdw=OB3wlII|K4wB~}c@C22AbAdw=OB3wlII|K4wB~}c@C22AbAdw=OB3wlII|K z4wB~}c@C22AbAdw=OB3wlII|K4wB~}c@C22AbAdw=OB3wlII|K4wB~}c@C22AbGxv zJ4>6%a5EWhCb!MxwwW9@lf!0m*h~(a$zd}&Y$k`zWUra*HIuz&ve!)Zn#o=>*=r_y z&1A2c>@}0UX0q2zewx|#X12YVZEt4Vo7whew!N8cZ)V$@+4g3(y_s!qX4{+D_Pg1} zHN<;}Yl#~*v7a|;Vw-J**Y|y(?DyLUS^5I#BbM{I_y;y>mBe~J2@o5Ijl?EmkoXAS ze2wYD#5V*X8^|BBAvi?dfouq}EbjQ)$Q@rB)i6FE!C%R4Gwf|2+IP8uBM^E#$3*ytR{95mAti*w^s7jO5R$@TPt~MC2y_dt(CmBlDAg!)=J)5$y+OVYb9^3 zmqhytR_IR`S+L-df39D|u@rZ>{95mAti*w^s7j zO5R$@TPt~MC2y_dt(CmBlDAg!)=J)5$y+OVYa?%MI+DM&8=UTN`<6BX4cwt&P03k+(MT z)<)ji$XgqEYa?%MxH*ocxH*ocxH*o zcw~vGcw~vGcw~vGcw~vGcw~vGcw~vGcw~vGc+>ymY9!Ks>46?kwcAd* zr`xZ{~cxZ{~ zcxZ{~cxZ{~cxZ{~c7q>@Ii1d_z?IoI1QG;icz%_ zs{DG7%5U@zoF`O%<8Oi9@%4ntZ+ty?E9hN_PpJGx?*w~7q@4RG=RV50k8bIrmY{eUx(_<=jU(2Po$N6fKsg5}=K$p#pqvAgbAWOVP|g9$IY2oFDCYp>9H5*7lyi`B4pPoR$~j0m z2Px+u0?LCQHuIR`1{AmtpSoP(5eka7-E&OypKNI3^7=OE=Aq@074 zbC7ZlQqDojIY>DRDyQcBDyPxAPYWuoZLc#Fm^BobH58aN6xbtC(CV@JZN_^f3K@U1 zF0e-$wr%f`C}@4#=sgkz_DB@iBT-O!beX+Jq9AYD_8y6X zd}`Z!Bnr%`3R)qz?L86&t&`jK9*Kfh%WZp)L_urjw!KH9pfz)&_ed19W^VKziGtS5 zjou?s$as%LfjtrhW@iO`b8*T~!56`+p!Y}=IK8J3c#lMZJrae$dn5|X;|hWINEDdO z6$0;(C@`lh1l}W2U}jecyhoxCc#lLO@E(am;5`xr_DB@iBT-0`bJ>e-}ejZHTo-iBns*~w!KH9pdMt~dn5|#N4C93qM)xxPVpXzLg+mb1@$T0 z-Xl>^&$8`35(V`y+ukElP%pFXJrV`=HQU}JQBaSw?L86&eX}rnk3>P=ER5bGQP4LF zqxVP@Lhq3%FjFps-Xl?9zFc6BM1fgzA@m-J0(0jAbLT=xzheen23ZcK?7eeomD1`J%_DB?%Wf#~ZQDBcmA@m-JLg+mb1@=f3Lhq3% zut%c69*HOUudyfjudyekC;gcxi4C44ntD?G-6>xM9|ZS;4}lMZ(_k5_7#Z=OWW;}x z5&y|xo74HPu_yVju_xtyrO3-h|JT@)@~rW9z}JJff^Pud2>vd3JNPE>EyC|`8GYux9L&7O^@>a z(Okuq93+>6@TA#yoHE{DkF5V;&8mqX-oh+Gbl%OP?(L@tNOk`yjFHP2xr~v^7`cp*%NV(gk;@pljFHP2xr~v^ z7`cp*%NV(gk;@pljFHPRaydpW$H?Uvxf~;xW8`v-T#k{;F>*OZF2~5_7`YrHmt*8| zj9iY9%Q12}PAoa-3X_lgn{(IZiIe$>lh?94D9Ke zCzQ*QPPh6MqyB3ARpB_fkCXd2xsQ|kIJu9L`#8CellwTikCXd2xsQ|kIJu9L`#8Ce zllwTiPw}OAiZ8`ein0!8rW9ov9c4}NrFcr?ms0prJf%_WaOM1sw^mnLfqPS_+oTpiH zo@UK?nlwJEYrj)(?luL z#3$35OR7AYOB((CdOGm;>uJp;joY1z=8R7F_v>lR8HJiN>aSu?zY=>!M-Q(~PatjH=V2zh6&>{(e2JIiu0%*ywajjV3y? z&4}+#$)RhW|4Bm*Kw*|7G|u!+#n6%kW=@|1$iS z;lB+3W%w_{e;NME@Lz`iGW?g}zYPCn_%FkM8UD-gUxxoO{FmXs4F6^L{}KHE2>yQr z|38BN3j9~#zXJai_^-f!1^z4WUxEJ${8!+=0{<2GufTr={wwfbf&U8pSKz+_{}uSJ zz<&k)EAU@|{|fw9;J*U@75J~fe+B+4@Lz%d3j9~#zXJai_^-f!1^z4WUxEJ${8!+= z0{<2GufTr={wwfbf&U8pSKz+_{}uSJz<&k)EAU@|{|fw9;J*U@75JZl{~7q7f&Ur! zuflm1&a1Fph3zV=R$;XYt5sO7!fF*(tFT&y&nkRY;j;>#RrsvJXB9rH@L7e=DtuPq zvkIS87^}iY6*j7{QH6~vY*b;R3L90}sKQ1SHma~ug^em~%u>5qYBx*mW~tpQwVS1O zv(#>u+RakCS!y>+?PjUnEVY}ZcC*xOmfFoyyIE>COYLT<-7K}6rFOH_ZkF23QoC7d zH%skisogBKo27QM)NYpA%~HErYBx*mW~tpQwVR`MbJT8*+RahBIchgY?dGW69JQOH zc5~Ejj@r#pyE$q%NA2dQ-5j->qjq!DZjRc`QM);6H%IN}sNEd3o1=Df)NYR2%~88K zYBxvi=BV8qwVR`MbJT8*+RahBIchgg?dGZ7JhhvrcJtJ3p4!b*yLoCiPwnQZ-8{9M zr*`wyZl2oBQ@eR;H&5;6sogxao2Pd3)NY>I%~QL1YBx{q=BeF0wVS7Q^VDvh+RanD zd1^OL?dGZ7JhhvrcJtJ3fe2xN2w_39xuwiP#%sR|8L#~=NZ*Y9Cb%G#v+cFt1ujxm%)lrdZqVEuZ;edx*)wWk{2_<1!jT^fxo3L zXeQ`i`CIA&YrhMu{VoLlCb%FSGdk8P1^B>V&H zf2aQ$crNo^@crNizy(Si~2L_+k-XEaHnre6ffx7V*U*zF5Q;i&}?K8Sup-zF5Q;i}+#@Uo7H_ zMSQV{FBb8|BEDF}7iZWNaF&tfEF;TVqU*Cn*Jp{Y&k|jqCAvOKbbXfS`Yh4)S)%K+ zMAv7DuFn!(pJjwP%LsLr==y(gOVByTpjTR!$ZLtbmdI;~yq3soiM*D`Yl*y; z$ZLtbmdI;~yq3soiM*aCuXE&ej=auMuXE&ej=av1*E#Y!M_%X1>l}HVBd>Ghb&kBw zk=Hr$I!9jT$m=|LT_CRucyye^Q}1@gK;UKhyg z0(o5^uZ!e$iM%e6*Cq10L|&K3>k@fgBCkv2b&0$#k=G^ix zu93?%a=FG|ukqI!s$N6YYp8k+Rj;AyHB`NZs@G8U8meAH)oZAF4OOq9>NQlohN{<4 z^%|;PL)B}jdJR>tq3ShMy@smSQ1u$BUPIMusCo@muc7KSRK13(*HHBus$N6YYp8k+ zRj;Ayb*YWIy=DY>;SK`1H8@-@H#ud>+Arpvje=&4)8iV!0YS) zud@TZ&JOT8JHYGg0I#zHyv`2rIy=DY>;SK`1H8@-@H#ud>+ArpXD(2ZOUA%o(CUG| zpw)v{f&RahIy=DY>;SK`1H8@-@OpTM{~G##?&|CSud@TZuGLhh`2SYw>;SKa@5iRr z;fJyPe=Bu%fY(F+zimDA|LND+0bXYZcmv)V@YaC020P~)@YaC02D~-ktpRThcx%90 z1Kt|&)_}JLyfxsh0dEa>YrtCr-Wu@MfVT#`HQ=oQZw+{Bz*{3@-Wu@MfVT#`H3IY2 zfVT#`HQ=oQZw+{Bz*_^}8t~SDw+6g5;H?2~jnKR`;H|;V`3Af-;H?2~4R~w7+q!z$ z-I;auGGku9U8iTQ)3es;S?e0hobIuHT_c)pdvjf5*=eD_0j<;T*6DZa^t*NX-8%hl zoqo5@se0?2s<*B)js3Pk(5LFH(<|5MmFx7%b$aDGy>gvixlXTKr&q4iE7$3j>-5TX zdgZ!CMwLe+qwzMspHubLgH6~zRc~Eq8XNr|g6kSR{iILTTi57mbnjc&C}~W<)TmKX zf0Y)AD`}C@D-Y|Os<(~;tfK(yD8M=ju#N((qX6qDz&Z-BjsmQs0P85gIts8J?r^C% zRc}4~f3g2R@ILV0gS)}cx;z?HjrW7!QhA#Aw24of__T>noA|VePn-C(iBFsOw24of z__T>noA|VePn-C(iBFsOw24of__T>noA|VePn(KcPOBtdDQe==CO&QA(noA|VePn-C(iBFsOw24of__T>noA|VePn-C(iBFsOw24of__T>noA|V; zQ|X$zmW@M#O5w(w~SpSJL63!k>| zX$zmW@M#O5w(w~SpSJL63!k>|X$zmW@M#O5w(w~SpSJL63!k>|X$zmW@M#O5w(w~S zpSJL63!k>|X$zmW@M#O5w(w~SpSJL63!k>|X$zmW@M#O5w(w~SpSJL63!k>|X$zmW z@M#O5w(w~SpSJL63!k>^Q(a7^|2Guszm|lWi3nc@Y9=CEGZCR?B0|kXgqn#6H4_nP zCL;U?+n$LC_5XK4;C3REo(rXcLj5ia?9 zb|RFX3#I2m>A6q}tQ$!G$hO;wQ2+TZ`~dht@I&B7Kz+T{Up1Q$>Wi&V-)e=t&Fw_? z{{u?TWvlNC)%S(!`$F}7q58g1dM=cn3*Amad>Z1@5TAzlG{mQ&`@WvBPeXhf;?oeH zhWIqZry)KK@o9)pLwp+I(-5DA?)!R=eHyy&3+>YopN9A}#HS%X4e@D+PeXhf;?oeH zhWIqZry)KK-S>mgeP3vwhWIqZr=k14QtZ6s_tA%V5PQU+Devg;A?ILMy{7#k2AE zKynGRs-qOG>Ik)}BW!>Ps8yZdmEzy1RUM(eoe8z76TH$Z2|}&v2(_vs)T)k9D+$6| z!8d?f)lrI8b%eKrTGf%QRUM&Lb%a{g5o%RO_$`&Z9p2jEtsUNcCy3L{TRXh9!&^JN zwZmIGytTtyJG`}f1xC-Cw|1|<2+dnNytTtyyH{WW-!`K6!&^JNwZmIGytTtyyH{ZJ zjCpH^w|01IhqrdMTc?}1c6e)tw|01IhqrckYlpXXcx#8Zc6e)tw|1|<1nr@DYlpXX zcx(3xj8e>7JG`~STRXh@9+T6$#oXo1kQjz2LBFx27DHL4*YxYEVu-o12y+o`89_XUZF-m0bc}v zW(@u}|26n^@KxYzK$!7~0s1SP5V71$#B#Gw3BY%+29O za1*Fg!j$6J=4S2SGJ5pC*>h*1qnevNcNS{*n(&<<QLVLdx?|0(;PQ2fV_dD@^C*JSG`<*^7BIpe5{m#(d@6_%-qrKnh^CE=y zekb1V#QU9izZ36w;{8s%---7-@qVXQPV_5#ztbxxLVLdx?|0(;PQ2fV_dD@^XK3$t z;{8sqoCG<%pTqk(yr0ASIlQ04`#HRy!}~eBpTqk(yr0ASIlQ04`#HRy!}~eBpTqk( zyr0ASIlQ04`#HRy!}~eBpTqk(yr0ASIlQ04`#HRy!}~eBpTqk(yr0ASIlQ04`#HRy z!}~eBpTqk(yr0ASIlQ04`#HRy!}~eBpTqk(yr0ASIlQ04`#HRy!}~eBpTqk(yr0AS zIlQ04`#HRy!}~eBpTqk(yr0ASIlQ04`#HRy!}~eBpTqk(yr0ASIlQ04`#HRy!}~eB zpTqk(yr0ASIlO<1#!dYnbw+2f3$;&Ms2xN??P(FZ-Ez;7(CTzc#_DuSMrW`Kb;h;u z4|#Gss57pWqEnrPI)h#KK~SeR%l;6yPH&d|5p12oE?fI5h1SnoGS;YDyaF$DTfIdq z@GhIqU>E8PcHx8IUhpCCVesob{}}ik@Vj6y*a!B5I)h#B(HZPQoxv{D8SFxx!7kJp z>_VNvF4P(9!cp)bs597=qBGcqI)h!PGuVYXgI)MTP-n2q)*0+Voxv_FfjWa-w$5M| zPEit_!7f{8unWuBI)hzy1zTsZ%dYaI&R~~4i~V=lbJ#kAUFq}KI)h!d&R`en40fT; zU>7cdI)h!d&R`en40fUCu(zl$*nR<9XRyouDYnjFmwgrcXV?vwJZJ-N0)GvBrJqsX z(euobZcz`i-9fs}V3+-BY@NX_`(}RC32N80QnW`}s597wy7OA7-LpdNo)v2MtWdjW zh1xwUd>i<7-l;R#m7+7)g*t;>s597wv`_U}amYOD7WG`G>kM|`I=^iivpR!a7=jx> z?fq7Y_I?XL>bw+>>9^|XdK+`GTh!m3veSQ6oF-d+Uw>7!W?N^l3v~v&P-n0Ubq2fe z^`OpRmwhX?&S00VGuVYXgI)MWY@NX_TW7Efbq2doXRr%(2D?yaunTntyHIDa3v~v& zP-n0Ubq2doXRr%(2D?yaunTntyYOA$AGz+*5U0EsTW7G#{$p&N!7lp)*dGMx#mp{m zk;3?|A0b_5u*?1^HY_pUyhWPhbo#QC$M(m0MrW|g_Nu}yQX$*FXBfrua?7{0bav61!Tkv|Ru~8=-sr6XX@@QHfP0OQcc{GiCvh-Jv!g(|;kEZ3( zv^<)YN7M2e0lW2#+e{u!%cE&|G%c^u(COB+yv9V^*0g-anwCe?@@QHfP0OQcc{DAL zrsdJJJernA)AE{q_&wINyk;LpYZ|wA39V_|-X*lAaeJ50nwHmy?B}g%c{DALrsdJJ zJernA)ADFq9!<+@ME0+&X?Zj)kEZ3(v^<)YN7M2ek^PJ{Esv(<(X_npl~9T`Esv(< zHCOU8*0emDme<&A+nScw2yWY&me)A$6l+>uqq%KsT3%ziZEIRyBfD*DS{_ZyqiK0G zEw7Q?>DIJ7nwCe?@@N`&mMPtu#?56yYZ~{L39V^){eOx|j;7`H|0%YuY20omw5D;# znb4Y+N7M3(4QyM}@`?~_ThsD^H7y@l)ADFq9!<+DAGJ(0Esv(<(X>38mPga_Xj38mPga_Xd3sd=^5H5nwCe?@_{uikEZ3(w0zc@md{$#@@QHfP0OQc zc{DALrsdJJJernA)ADFq9!<-mX?Zj)kEZ3(v^<)YSDYiyqG@?WJGQN9c{DALrsWm+ zINh3-N7M3XS{_ZyqiK0GEsv(<(X>38mPga_Xj&dk%cE&|G%b&&B&B(_%C&M$=+6 zEk@H~G%ZHcVl*vA(_%C&M$=+6Ek@H~G%ZHcVl*vA(_%C&M$=+6Ek@H~G%ZHcVl*vA z(_%C&M$=+6Ek@H~G%ZHcVl*vA(_%C&M$=+6Ek@H~G%ZHcVl*vA(_%C&M$=+6Ek@H~ zG%Y4hi_x^0I4wrgV&b$IO^eaA7)^`Ov=~i`S;vmiw3s+8M$=+6Ek@H~G%ZHcVl*vA z(_%C&M$=+6Ek@H~G%ZHcVl*vA(_%C&M$=+6Ek@H~G%ZHcVl*vA(_%C&CQggdv=~i` z(X<#%i_x?gO^eaA7)^`Ov=~i`(X<#%i_x?gO^eaA7)^`Ov=~i`(X<#%i_x?gO^eaA z7)^`Ov=~i`(X<#%i_x?gO^eaA7)^`Ov=~i`(X<#%i_x?gO^eaA7)^`Ov=~i`(X<#% zi_x?gO^eaAm^dv)(_%C&M$=+6Ee;*0#b{cLrp0JlOq>>@X)&4>qiHdk7Ncn~aaxR~ z#l&ebniivJF`5>mX)&4>qiHdk7Ncn~niivJF`5>mX}3wcmV(=)TE<(n#&Vlf!uVBC z|NSj{FR1_imi;iO|NfS(|Na*0zrTaq)LMk{xZWd=8$ae0`PBGZ;J*cb2YfwvE2#he z)-!Je^|D_&mq?{Wm=SIr8k#cUNoExQPe#Yh8C^a*>oExPKMwfFV z<=jX)H&V`xlyf8H+(qa&DrWn<(cd%DIVhZlauqa&DrWn<(cd%DIVhZl;`@Dd%R&xtVfqrktB8=Vr>enR0HXoSP}enR0HXoSP}rf|-=b)A`}8e}M*H2jC>q^9eb3;M(EZ5w3_8W-^c{jmm(zC$8eLA`A!u|teS4tM z<@9ZULdxm;{`5A=>HGeaPC0$wpKX`Z_x%}NPT%)ubUA(BpV8&?eSb!mvrFaFnHnmm z(W^;aD(zump1=CrcbB3RqrY@_DLz>edS$gM<2C25%)3Evg zvx{}kF4j4_Sm*3wowJK|&MwwDyIAM!Vx6;#b|&j>i*?Q});YUa=j>7h z;*ylW32+kBtuadX8hDrdXxl5{UGk=FuZMRj_V91LD&D2o!?xGPyA*ra_6m8IVh`KT zVm}9ZoxF>c(k@m?yI3jhQtaV$uakEv_VBO#t)xq_hw&%iPr(<#tKiQ-e@pFB>|wkK z{59~EpxbblVh{h-ExAjvhi$L4cPaL;?e+F9#U8dhLAT5<#U4hty)MNYMz_7Lz-_Nf z@rLnj;5IYEnr#NU1wY~30o+ba)U>Or85J#3CyfYo(uhzejRZB3b zKLk&JKCI%z~WgI%RYI%z~HUdh=a<*_}7 z{S3BOa<)i$ochu=P zdW^b_CDI%!1qZP+?#MD|8(oirj_CyfYi$JR+BvUSpkP$!KDb<&7XCyfYo(ui;icn7GH zMwFtHMuhJKsXMcnEz%;Vd$oCsW-+$C+Pp=x7~3Df{vb%dV-~YTTI9cawRwxQ$hKFT zw@8a@Td}uDi)?$fd5g5jHoa0>WE&2pMYey*p-vi+y$jTBEV6adh)}n&2z47v@D8-- z9cYnn(mbpbYtcJUn0KH>??8**ffo4&!^6QHXwe;L(H%VLTk~`(Fxtwp{y&uC73Yo2X$;#>1ao^99Kcjq}rYmx8HGg^y$ zcb?H&^4)nxYmx8HGg^y$cb?H& zDjgx`8GY<)*|1gXWLrj+w^Q(i+r1&ZEKNl(=%F&e4C!pTIAdGjMgIG zrf2*k*BUMIZF;t?MZQhXwzbH&>Djgx`8GYLd_I9HK>cC@wOS)*|1gXS5diHa(-Y$hYaO2yX*Dd-^@8htYEx-==5u zT*kNQ89kTrZF)w}Wqg~S(X#{Jrf2kwz_;lc9ozdhJ)`4!-==4Dtp0mypGL>$zD-X^ zgzVe&WQ#+iqe|bVXLLO2+w_c%A$^;k(Q%`1(=$3&^lf@80ry@BT|4f*61sNWdnI)3 zxc5rv+Hvod(6!^8c3bh?R%*8u-)*IK+q4I`JJ^=d$t^<1+uKxAqi!A%dZgQ? z`Wkg|i%=)G2z7FcP$#ztJrZqWB-%z)yp54)8za#+Mxt$uMBB6*)6ZMyx1sRc(DrSp z`ZiR08~VHrW!{D+Z$ovrp|{(_hJGtHjNaw4Ey#m9xka{4ZV~F_7NNCqoAzotT_?8) zb#hCvEvu7Tgpq%h{Z-ICdK;>;4L#Y0l59gmwxJ>0P>*fs#y0Wk=dBgnP>F5m!#0#* zTliVOKkNo|a*OP5DHrZd6aI=?&bySm@mGcajy;^)iBGl@pKMpWu@r0<+oy%z0lQsn z8-I^<@3`Kc`9HzGCgrQ(gWz89A@E_az?0M1Ww2rtdwRdvGj{nIv1cSNcEE0D2kiD> zE9u+#m3LfkX9w(dcED~It4a~8M$hcF6Gv^=xT9P&z8HTC^p5N88cmF^2X6)60KO6Y zUGR4BP2gL=&-(ph)p$SXox^w1dhew5-WlxDlXnKY!ESMWXRt^7-x=Ib$^$Cfok5RN z@cx~6|IX}(m2wyS-v$471$XNCy8^e0yMmpdXTEm@_hJ7>>~7_Lm)`I6&yoHBb`SV9 zBW&CS8+R#}mB6j?{7djl{PnM}y@qyo@F4a>;KSh8!AE%Vo8Y&=Z-f7pzdnln9qjLdece?n!^y|Rvr?$_C*-50;1lwZP|O>DRd^4+y9eLhgYWL4*7xW= z-N8Nh?jC%1Phj8OgYWLaclY4Cd+^=8`0ieOcQ3xX7vJ5B@9xEG_u`{_@yNY+WCy<3 z!8h3*cw~oudv~xyzcuazJ*Mx_8=SHm`+o7TLmqMZ7gWw2@`zLZ0{o)Nxg+>X>@V@x zuc)Rw0{dl0@Yke22zotpNANKA*THY_#q zIDhTOe!`gb&Zr$(?~K~P7q=aFZ3kZ4A+M=aS;s{?@x@Mju@hhH#1}j9#ZG*&6JPAa z7d!FAPJFQwU+lyepVV(xf=}wVMz`KwcxM;h*@bs@;hkN0XIJ2!wF@8Z3f!}HDM$T^ zR2qjvXEyZfl!ZtAj|y6mPdyQ#}=>av@ zrY^gw%Wmqjo4V|#F1xAAZtC(`pO6`R)+b~JpH(jX!h67-pc(tDa&fwq=d*f`&}Ur= zUm@(KZFkeQyJ_3fLbYM_D$s4aTRfZ=x@~uh4cl(p-L&m)+IBZ>yPLM%9k^|G)3&<< zx9#r0ZM&Pc-A&u>mge{kZrk0o?e4&ByE|~(?hf3xy92lFZrXM?ZM!>g+wKnBwz~tj z?e4&ByE|~(?hf3xy92lF?!axkJ8;|XrfqlAw!3ND-L&m)+IBZ>yPLMX2R8P=!yfUl zH`pT{j8@$}w1++7!M0U*5AA0Us=Ei(-Gl1xL3Q_thtqn-s=G%#^b6g)_lSYRLaXi` zF<`Xn?hyk! z)viCdU$qm`ChwY5zUEvxj%~;IAJ1)q}r!C{GXm>Y-FUl&S}R_291_{MCcMdhk~d{_4SB zJ@~5!fA!$69{kmVzk2Xj5B}=GUp@G%2Y>b8uO9r>gTH$4R}cQ`!CyW2s|SDeP~RTv z+k?Np5PVJR+kYWNS`j)L{0r%f(b3=+m3~R-kULf`4O zB6OJ_q|6Ue=DjM(Qm|Jg5vmNvR|tJ))?uOR@(^`-h`KyPU3{z5;oxCP_%J1WSe!2@ z#ie>!Y#UvkhsElW>ioZ`hki|O6Y5th!Y_eVp|7DZU(*|$?%I7#@3H-D(6#%T-sY6Y zjVgoQqcZFbz5$cpfXQ#btLSB!+z#}m5O`iEC&wP_-zR5G+ zF79;a-N zQ?|z`+vAk&amqHJXATDgdPW!wh|hsw1U#TO3 zB=!{Pr?4q!)-$Go>>1L}V*e{x1M6S|Tn7`d$@8i0&~ev5_-jrHUn!mkLTmLv*p7X( za}R$*Px?lHy+Z#VhwlZD9Tc1%4C(p7!2iE67#zlSy#@oY>N0dx#Mn6+{a zX1~mn?q!2n&$S1$o@)$&z|*89B&vyQ|DvtP${%rlt%&!ClUF#9*8JE|GX zI+7X84uVhe*YAONJnNPDLA7Mp?hrQK&mO^kiYJfqw*QXp|701=9&<~`9_Lplz;Up| zGqjNGDc&#*mO-z>4`#i)dob&D_`z%y`|tP_Z7DlX`m=E5RrkRx?I(K{n>Lg6Uhcsx z?Ii2}PZ`X<050>M>)_Ar@hra1{u96bpQQgYPyP$`D)t)oOW4+g!EBAXcs*w@>-C($ zZ0a|J8PKEEVA$p-Lytj&;s5I2hF;ei486`X7`_60B~N;M91I;b4Tc@ASNLjd?_L-T z{|!(6hI0vj6FbLWU#lkz^vwc&us|OysP`=?-8xptx}_CpIR)BDffiDrZ4|O@6@{$Z zLm_KF7P9tWL4Gk>a|+oXfis|$r;s&Eg{=80WX()Lbr-6RMr(CJ3S;ybQ3zd&CrNpd z6rVqTIPm%NLR5MPl^zPL(nF~95Gp+sSp9|qtMm{mJ*58bXI#4>RC*||M}|=8Ayj$@ zl^)7krH4@Ip{!MU2$denTBV1wR_URvReA`O9?DwHhSXyHwjW|!*@m)K>7lGudMIm^ z9?F{Gp{!MU2(E^*loQ5=Q0XDHMn7Yf9#U&DTBV1wR_URvReDG*$7q!vg2N$HdI*&s zLZydL=^<2lD6~osq0&C9|8U^5`h{>f42Q#TI1Gowa5xNy!*DnZhr@6<42Q#TI1GnA z^Iva+!(liahQnbv9EQVTI2?wPgu@Xy9D&0TI2?h)5jY%y!x1U;Rqa#z~KlSj=U;Rqa#z~KlSj=U;Rqa#z~KlS zj=U;Rqa#z~KlSj=z?nj~4Ami}s^M`_ZEPXwiPv&cCuE?N{xL)}{T@rGBBui2bUmQ{3bB zqfYx#r~RnYe$~tA)~Nkx)P6K-KZ>*;McR)>?GHN@10Nv%IY8udK($i}k=OPX_CN84 zRetr7(}^Mu5JenN6rtzEr*h0XW;l?&-%pBFr+k^eK8U>+`yuRyu|20gpm@M<_y)FT zCtPum_b4`{>`1M;BiqOsEH zzX^JjJP^KCfAx(d-9nGQqw4AXLPs^D>f=tao{!SUN7cujevuUWXq4XV`$zPo`nB;h zPN!dw(yvG9*Q4s!PJaU25B|V!qhF7zU;DQnUq;oh_X__OoZuPCKwloEwU5%5M`3%E z);>yWAEjT9(%MI}lrZ}u@ANn_N;@A_|5YyPzsiwzKC1p}+avO*`mdg(|N0h{rNFnS z2-U(@gzja&3B~Bq{GeKz(&@hk>5m8Li3e!|2l4(v`rtwN+D~2pFM;lTht#JI3%x#Y zi23XxwP)L3(KCm{p7Dp^-x^hN{YqtC3X1f{BJ+_Vy|Rer6zP>kdS#JbS)^AM(V`++ zR17>HDayZxg`STT1ILg><|9S*&~DkDj}(LFK+i{tf#b^O0iU*s{oc zq!@TUQVcvFDF%)+i)u5@#q*J3;Q2@~@O-2gcs^2;5*j@pDF&X86xFW$q~{~W!1Iw} zaE<3ZA1MZ&j})a3evf0+qV&PG=Oe|y^O0iU`A9Li0eU`C4E`0{^N}L+ks|YvBJ+_V zN>W5gip)of%twmobCLN-k@-jwZ7E7ylne8bV)j4rPR~b**}nw8p+oySCq>64IXQXQaRh6j})`CCFUbVDW19Ve5A;Hq^KThn>K?67SX^W8dzjLQp|cj zQp|cjQp|cjQe-|-WIj@4EGuR`A1N}T6|8^$6BSq=F9r5&Gs4RQCvKbA&kI2<`9)I&*|L z;RtQ%2(9P{?dJ$B=Ll`)2);gomye)JM^MfqsM8UY^9UY1g71!?QAbeDBXD~JR*%5v z5#od+=;smQgd@ZWN2tY-U)BN!ju0n2g{D1)ragtGJ%y${g{D1)ragtGJtduA37$gJ zov82|RKFkDSOBNcnI4^#|ZF=ZmLK;HeW?uVtN3jP3VO5;#1Ooh5x9 ze3rjD@;ss5ZFF>ZLcQDgGw>SE+yFfjJVESzf~flh44()+{+E|t^Uq;h`JW8b*yYrF)yzT?zooVtvw%^X&W=RxDDi+-!R z=y}z`_G@LIq!*l|7o4OQoTL|=r2U_y{hy@epQPoVq~)Ka<)5VGpQPoVq~)Ka<)5U@ zpQN>)BtAJwd~%X@ev)>6l6HQQc7Bo;ev%e`k`{iF7JiZzev%emA_6H9fs}|qN|d}r z1X2?7-9bsr_X|BQC{d#lH7XH-l!!n|L?9(1kP;C{i3p@b1X2ndfs_JAAf><&NQnrf zLj^Q1q(lT#A_6I?%{$!@NQnrfq&_Qe5`mP6KuSa)B_fa#5lD#$ zq(lT#qQ8`gKuYwQ5)nv=zEdIsDG`B`h(Jn2ASEJ@5)nv=2&6;=QX&E=5rLG{<5UtN zkdpeHZLf%y)caIg^**ELcO@c_5)nx0m;I3lq(lT#A_6H9fs}|qCg`mb^wSCT)0JR? zemX%vouHpi&`&4SPyJWV-zU^VPYXSNpHSaCEcE<+LcPzn=kF8hWyZ^(XI>NP9Y)XJ zC)7J^d;UJ5-r-+){yssQpP~M@P}^`Wp1)71ZP-qY_cp(+TG9lSCJjL>H5aE|!8x`P4W99#AbNdKD<+96CW$L1i7O_FD<+96CKXrcS40$( zL==;Zm6O^3M*0sxM--EaD2#s#I-;0VL}7FkF)5ynjv^+BA11}HQyf1`5vXi=-{{g5ZhlL%4$DO z_t%HA+K)=2k;1mWK9u3PES_z9U9>E2ZF}Xd%&KphRo^m^XPH&sGVy1bRo}AM_Vezi zWmbL5YD-EHW2c4wMqCzew*B>?%&L)Z7(5*KhCv}5R^YG#hZQ)iz+nXrD{xqW!wMW$ z;IIOR6*#QGq3`e0JK?YbhZQ)iz+nXrD{xqW!wMW$;IIOR6*#QGVMXKYlHO(xD{xqW z!wMW$;IIOR6*#QGVFeB=a9DxE3LIA8umXn_IIO^71r954Sb@U|99H140*4hitiWLf z4rkD`88mH19Iga2XxfaJwC&b7gQm@(X)|crj5N)EwWiIWX*2LVgQm^Ui)X~PpYe=o zMq`=LGo~4oZ3bnVLD^#?J8_nVY>?3RoJe=b``d( zuw8}iDr{F_y9(P?*sj8M6}GFeU4`u`Y*%5s3fooKuEKT|wyUsRh3zVAS7Eyf+f~@E z!gdw5tFT>#?J8`~N*`8&S?PmN{o3dqWplwlXkF+T`J!LgE^j^~kH{8pr-dF3pAmbu zpU3t}@-vFKj6Vne5nS~%>?3-HeMHZ&kLVe(t+$D7815o>4p_R19N$1=!&y6|p$wH^J8`WuCgvQ}=o5K2P1BCH+~_ zpC$cS(iey`7l<$yh%gt3Fc(nB1tQD^V#@`h#|5Iq1>(a6BEtn@!Uf{M1){zM;=Kiw zZ2?VN$X3MmLbeKebXXvYTOfX0AaYwEW?MkV7Kqjsh|?B`$`**qp2LG@DDxT0e1GnDxZWj;fh&rs&)Vg7lTf1bJa^BRd(g6B078LxFzrIMnzDU2mNWZ>FzrIMnzDU2msCK2_ zs$Ch~uP>@y8Qrfh(yuQ{5B+BM>x=a3i}dS@^y`cC>x=a3i_$bbNx!~GzrH9X%eubWXg`R$eo_>X% zeubWXg`R$eo_>X%eubWXg`R$eo_>X%eubWXg`R$eo_>X%eubWXg`R$eo_>X%{sIiY z0K+f9+Y9jaBIz%Z{vzowl73a`dxNV=7vhnt@<_kzOY-?%6Nj`j)U%rSLHRQpYr>~gV8E|6&|kQ!K-4! z=~j}fTAwl2c!U2d{HpwDO#KXgyow*M%8z=p{Am0Q;W9N{rl!l(beWniQ`2Q?x=c-% zsp+!X-sxbOnl4k*Woo)iO_!tl#6BE>qKGYPw8Km#OJ8HC?8r+>#k^OJ;D5nqE^)S7cl5 zuTj%$s;O>9o78fCslnXl2yuF=b`(aWyWKCjb0uT$phl=(VkzD}91Q|9ZG`8s93PD{Q{ zOTJE-uT$phl=(VkzD}91Q|9ZG`8s93PMNP$=IfOCI%U32nXgmk>y-IAWxh_CuT$ph zl=ikp7Ebrt1w$!7ucNrC^1TVug`ng^^-~kz$3BVug`H z1(TabCtffN?%*0udUM8R_SZ2^tDy`+A4i*mAQPVYQx<*acsOcItU8AOJ z)O3xSu2Iu9YPv>E*Qn_lHC>~oYt(d&nyyjPHEOy>P1mUD8Z}*`rfbx6jhe1e)0b$~ zFVU)BqE){{tA2@A{SvME24m$7wcDlO24m$7wOiX>FS@~4d4sX?24m$7#>yLvl{XkG zZ!lKgV642sSb2l7@`mcDH>i$Aj}bSh;|SB%c_L^qX-AeIyv0C8Ots1M2HC7#Kd>5TuclQ;bye;2FCr?$N_rzZA{-kDS5yI4(a z-f#1Fu^QjSYJ3-~@m;LOcd?q-*0032@zZ`A-^FUI#MbB|HNK10_-as-NBraiekb3> zYJ3-~@m;LOnr%(3%kObyQln?pvJYbWKLu*6<<`{dY=4b(|EEAL`wi^>40>mHO|8-C z-kDS5yI76yVl{ebjqhT$tas+r_%2pcpH+SNE>_Fp{j7K9)L131sa5-J-e+D@+qUih z6sW0>`&ZtXQ&S%|I&!F~kK6XnoSNFd(K~Z$tS8sh7yJhA%&DnI*!Ene#&@xrRzjTa z?_xE+i`DopR#UHWI&Frp8#S$s__zK~ftq@g(GgdT?_xFShCI%9u^QjSYOGq<)Z_f* zzwo4Y=G0ihuBrFg_R4TgYUA>IXHHFOWAx6P8sEigd>5;sJT;W3#76+>^>N$YnNw45-5b;ybL)(`b;jH}V{V-> zx6YVbR}WeV>WsN{^%UEloz>OCjh>y=8FTB5xpl_eI%95~F}Kc`TW8FzGv?MAbL)(` zb;jJfT9n?#m|JJetuyA<8FTB5xpl_eI%95~F}Kc`TW8FzGv?MAbL)(`4Qkh*UJXvl zYUt#O!$E`dQW}}tlw%|FX7H`xyW}12$QEwLemD3Y{`!A|9|Zq|^bcWw82cmGcY+@S zy~5w%q|ip@LF~Pt|NFR+c^LG}w2^rX{0{hCuovtD`$2zeZg5g)BQu0O432>NL9Y*U zf49(IzPP_zcnG@)`l}!JcMJVxf&06KUKQv5ZlS+^HZmp9>$i=}BJZ#)V#8;hu3}2llI+ z7pK{9=eTU|v}pvL;QtQ(TkwtG?}E33Zvx)}z76zAp$$$7Z3KVFo41ory9#Jm^pplY zrNK#|4V_G)UvW}sgR^wF@mwi8{aa27ZE#X(BlJn34V{RkGILUBBYYjUPYP{tQfMR0 zlX5F5F}6<%ZE#X(BYY$FM$&y!XoHhN8#)oo_GZ%Gg#Bi0pA^~%--_J@ZUOHAe;@n< z@SPxiinD;Yhh4vYFSU3dfBj?Z_hWwmoBkEjze4&~NdF4yUz`-$2tUe`ALCbliv4HU zcVXX+{c-G1VBdp%FZM4v{3I#6z)yjn2K^Pj!AYUI^F8w?f$n?PJ-qnXilOti&pf!`AITv8wr||WZX6qozCaKT62<& zIY~0+B*~bQBx6pJj5$d%)|@0`%}FxWoCM8D(3~V=%}FxWoCM8DI29^EbCQfTC*f46 zM5iIyw&o<93YBE6ISHDRpgBp#nv-O#IZ4KvlVq$piO%IST5}RkCr;3uBxB7nvPLi?aBxp{8 z<|JrNg61S>PJ-qnXimcE#0i>{1lF7+@ZR+V%}Ih^$F}Aqfi)*VbCTdS*w&l`%}D}l zPQvNL38xb$oKBns)|@1;<|I0o&uGm_0&7l!<|JrN5?FJRfOduEBxp{8<|JrNg61S> zPJ-qnI)zWALUR%{CqZ)(G$%oG5;P}4bCS@Slb|^Xnv;aqoFug7B%w7YL30u`Ckd@N zNodVU(3}L#Nzj}mwB{tCH75zJISHDRgw~uSwB{tCH7C(2d`4?dqEq;c^eHqa3ExAC zH75zJIZ0^ENkVH*!ii)_NdH1}5;P}4a}qQsL30u`C*gGBB(&xvp*1Jrys{*;<|Lst zCkd@NNodVUIGs4*bmBy(@HxerljsyaqctbdDSXDy2%Bh56U}K#Ne(N;{~ysrNt$R* z6U}L&IZb)+aFC)oDVme=WQyjbXikdeq-aix=A>v&isqzfPKxHFXikdeq-aix=A>v& zisqzfPKxHFXikdeq-aix=A>v&isqzfPKxHFXikdeq-aix=A>v&isqzfPKxHFXikde zq-aix=A>v&isqzfPKxHFXikdeq-aix=A^_qDVmcK=cH&(isqzfPKxHFXikdeq-aix z=A>v&isqzfPKxHFXikdeq-aix=A>v&isqzfPKxHFXikdeq-ah`oRgwCDVmd_IVqZx zqB$v=lcG5(nvO^$mE!c`SW#0x$y=5y_6uzs~FZ@Gr zJNRx;`mA)FLM;3s_$Q=)2>Zj>AHlwpd_RW$aek#!i1jO-LM(g`)G5TWbqcXirw|Lj z&XbRU-vPf1_JVz2KlnZJ`aY<&3;lK&)PDua-VYuC^&fmn(RUo7P9YW^0*l}nsMRf{ z>no2?d$)uqz;W;-wJ3qwf2hA|uc=U{5DQQ9jP{tx*8j8$bqcXiYZ}5TrTsDXEVfP| zR{9*a{{Kj}zC{YPGhe9xKN4#9xKOJcLalNLwI(Lij(wqa>ZaZ=c~EAkoG1m(wo(u z^^97w@uPl^w8-|K`gv)Qo|hKc)+xlC9^(n+cokA@9ZET%FEcnAE6Z{uoek*ij+`u zE}^w3n|Zr2(AthL4|anC;0Ra(HG|MI7ggr0R&<5hPo)&CPuf0)tr?2!3G7MR+RLP8 zw1#H;Te3rP49PJh$1re?p>~lOonxrIVMgZ|l4D4YAvuQR7?NYCb*oAi9Ia69;J@ICTl8+zV`p0_E6^fT7;HpP&( zt>#N{{pjM=n@(`#MY1swx{T^@lKDiHp!=O2DlS&&8fI7!R_9%D| zJOmcOF;M>xrDu+V`u}U$C%|#gD&3~|&}fxzL#5lK(k{m-g z@EK5R&idNf-ue>b6O5^)@N3@m1h! zK&xvT>e?oCwXJhCg}Mz{sGCEDR@yd{whg6iQ;g>nD{Y(4dlz=`XiA1s?~8D1*K<>96|VHz8gQJXW@8ecS2yLhIYMpXV8v*ZQ`f|2g=N z;6IU*r3HBx+Q+lm^YsFC7Z+wRwq;#;E? zHPUR_Xhn@QgEm@GBNR14Q6m&JLQx|WH9}D%&6M??z=|57s1b@9p{Nmx8lk8WiW;G) z5sDh2s1b@9p{Nmx8tG;sc>zU@P}B%TjZoAGMU7C@2t|!h)F`l`MmlBGXhn^5rs$H; ziW;G)kdG+I$36gATP zLbX6qBNR14Q6sH&INgdGX|2Py6*bcQ!YNkNNb?KZR@6vq9k#8gk>(e+t*DXa7q+da zk=8nFTTvseb=bC|Mq2BzZAFc=)?u`wMks28qDETlaEcW*(#*nWMUAwwVMLcu)Cfh5 zP}B%TjZoA`vjabAMU7C@2t|!h)Cfh5P}B%TjZoAGMU7C@D72zRzWX(MQ^xbGn=+nN z-IVcM=_ai<7z5xCdylT|E*r*+t!Vd7&pvQ%q6xADV^ZNs>jSDw{`UWT4 zYbiGcUQ4-2w;`w&fqit7?~)LDMdhYomppir&Kx%CjC$c7{(3)ueE_=$+{=3gc&5N# zN3gv{ag%oA7IAvuPb4-0m8+cg692K3mXDyqRM%;6s%3fW2TJxE3T*_-)F$m*Bg^FN3duKjj#YAak{s z!)KcWr@-IwDR-x5UUZCiUkIIb&-ES*p;t5JY9^)Y(M-zmEnoxK2sVMuU<=p^ej4=p z!(6TJ89xicUJCY7pEHN4JHao2cY}Weei3ZvdLl3e`*l4bxkpIu5t4g^Y9wE6$NbV7mdxYd3nwjgIA+x!V+#@9S2+2J{a*vSQBP90-$vr}HkC5CWB=-o( zJwkGiklZ6A_Xx>7LUNCg+#@9S2+2J{a*t4JZoUTR9wE6$NbV7mdxYd3A-P9L?h%rE zgybF}xkpIu5t4g^Y9wE6$NbV7mdxYd3A-P9L?h%rEgybF}xkpIu z5t4g^Y9wE6$NbV7mdxYd3A-P9L?h%rEgybF}xkpIu5t4g^Y9wE6$NbV7mdxYd3A-P9L?h%rE=v_M23Asl|?h%rEgybF}xkpIu5t4g^ zY9wE6$NbV7mdxYd3A-P9L?h%rEgybF}xkpIu5t4g^Y9wE6$NbV7mdxYd3A-P9L?h%rEgybF}xkpIu5t4g^Y9wE6$ zNbV7mdxYd3A-P9L?h%rEgybF}xkpIu5t4g^Y9wE6$NbV7mdxYd3 zA-P9L?h%rEgybF}xkpIu5t4g^Y9wE6$NbV7mdxYd3A-P9L?h%rE zgybF}xkpIu5t4g^Y9wE6$NbV7mdxYd3A-P9L?h%rEgybF}xkpIu z5t4g^Y9wE6$NbV7mdxYd3A-P9L?h%rEgybF}xkpIu5t4g^Y9wE6$NbV7mdxYd3A-P9L?h%rEgybF}xkpIu5t4hP$vx8K9%*uqG`UBb z+#^lyktX*@lY6AeJ<{YJX>yOWz6l)&()uRU=-eZ%Z$gdEJ<^r$ zBb{*Wk=C~WKE}C6S}XrX=N@TtkF-|r9Xt0(Cp<={$vx8K9%*uqbkey;S}TfrBL%rf zn%pBz?vW<^@; zBb{{ak=DAU>vist*6O8W=N@Ttk2JYQn%pBz?vW<A<;1I&kih4xD?W1Lq#;z_~|SE2z3c za*s5*M_Rj8UGCf?P41B<_ehg_q{%(fT3Pim&OOrFt?F8wd!)%d(t&f2bl}`09XR($ z2hKgxrE%p!-%j$bF?yPK!7inr(icozUNDw#h?`{!X(EuV~{N!!~(^OZ+Wi8{ZGM@qJ$#-}JTd9bcQgLZ8Yj zjQ-}XOlJMH^nxCLhpM;R9{>KpWq(wI#KyS>@W*Ed0HZ{@51G@x26IX>8;B zwKl$=YLh;7X6e)DZ=>3zPouwwYU3NIHtEx`zjbPpK8^mSsZIJcT6Jxxt_{_-p}Nob z>5Skr;#sKLje6cZSS5803H`m&DyeHk=<}>nR%6sI9ig?oDtQlaq;_0|dRHYoDet1( zN?w)hHL8_$HnpsOyVxZtH8ekSA#DalNCNDSqXlel05i3WAIUz z2Ok4J3$8Jy?(wIoe<1#f@D9~@m+;e|YrKOR??|}DI})z(j)ZHxLp2&JLDzVP_BI+_ z;~lEe_%ZOa;2I+}-k};De?_<+hS$UJdKg|0!y90D0}OAF&z}o6D2p2r>Q^j;+A%0R z01kl%!Dsn&nAqRBY)C#&{37@r@Fk9U1=Nl{9rH8rf{|9(Kr3trI()n`G?(8C-bcx1 z;tcpWB~KFTS1feouzZ}EuG#3ZqutNK z2)#Pm9y|;_0eYRGosqpg_!fWr9C(aRJ+im^DKnvVs0zPFx%XzY`*{b!I!~TKr81SWgx~$a0>jrQL_x=JkVprJ-SZg)xr+7NF?;Q)*%%Q z2={_sN9y33JESF-zXV!K9o$8S+DNflM@Oo4j2kJr&qpdx8xnfF?g%`_bp(UpKG3^y zI+UBa-1%4sO6wpW>mVQNkkWjNdFznU9Gig-^<~HAp+otYWACx)kOGZnqr<iC~P zucXD&yi1+~t@c=qx%TgZR(tH{4TV3WZnW@p5j{|EyM)R@qSjC#F>Ql{9 zjq}wXV`<6wE=s(57Hh6L5_G~|C+u~it4?&)$sC~*U3H?XPIT4D&WBEP)rqb;VXPCz zI?+|9{AwWRL|2{YsuNvxqN`5*ij?Y=gZUWisuNvxqN`4H)rqb;(N!n9>O@za=&BQ4 zb)u_Ibk&KjI?+`py6Qw%o#?7lUgx^3t4?&)Dc_3}TUVXvs*}FfiLN@)RTs>3!Auvr z>Oxmt=&B1p>_S&v=&B1{b)l;+bk&8fy70y>Sn7hME_Bs}uDZ}w7rN>~S6%3;3te@g zt1hi|j09cyXBWEaLRVersta9p;iX;Zsta9piMIj$m37sHuDWp1E_Bs}uDZ1P;WJxT zU0U%lT321@sta9pp{p)*)rGFQ&{Y?@>Oxmt=&B1x?Lt>y62s?$FNxc8!QT@9E%Ci% zFZVK@-plBDFB!$XQp>sEUa7_C4B=ifgnRY3Bf-7;+mYZt{cR*HHY(>iE<7ODx=$-t zj-6fH#~6JdWAuGmiPB%G79Fozj2%9nk@`Mm7dl?qg^xK!`6&1+quki&@%KJu2s)B6 z{XXRejyh+GF(wV!-9=pY=P4?I=$IyAuKsOrb4m>V*2hJY5=eNK-H-C6@QI(zIUd+ZLJJ$47q9=rXkT*5r)?6I5dv779% z8%=hj$!@a8ZnDR2vd3<+$8IS^zkq;3HldJBC}a}~*@Qwikwg=`9}kWDCL6AIa+-tE7#LN=k0O(cu(|g=|70n^4Fm z6tW40_|1}A0>4>OsO;#RaJQUfvs4iYhlq#4Z}F*~XH>a&*lte#GqHZnRk3^4W@*5& zN94^o=Vsh;v+mj@9)CCc*Ib1jg*R&r*=M`JU+LFe1Hac&S0d#YJtA*bR;FX5B3+ME zr1L97bIB$?eTdlO@@B0#x!j}kX01CpwwG=W`iQrK9;r9`*Ib4AHCLh4z8QDjtd%Io z9=kU)`fO(0*{pHLCHgg2;VZ=7C-yqwW~t6sq;<464Y;9|nSq za_MtIt0IFcGN>Y>dWTeERb)^_232HGMFv%5P(=n+WKcy0Rb)^_232JI8^1vYRb)^_ z232HGMFv%5P(=n+WKcyWuqrZ)su@&~K@}NPkwFz1RFTn|q>r>JGN>YhDl(`dgDNtp zB7-V2s3LYhDl(`dqtW)b&SO<%P(=n+WKcy0Rb)^_hOszYhDl(`dgDNtpB7-V2s3LYhDl(|zK~(V|s(27pJcueDL=_LBiU(1} zgQ(&`RPi9Hco0=Q#2Fsq3=eUJhd9GSoZ%tP@DOKsh%-FI86M&c4{-*+J$5MY+hc{C zVGC#2!Ws14ugf`uvRAdp7S6DRGi>1uJ)EJ3GxRW`^)RCKFrxJ^qV+JM^+=^7K@THZ zkAG)Uu}8EXMzkJAv>ryZ9!9htWxPJdBU+EH&FB%WN7p9g+IqOQ9!9htU7^dp9@4{z z*29R_!-&?yh}Of1*29R_6L>`HVMOa;MC)Nh>tRIeVMOa;MC)Nh>ye6dwPL{M|0%IY zv>ryZ9!9htMzkJAv>ryZ9!9htMzkJAv>xTd`YT4X9!9htMzkJAv>ryZ9x<$17}0td z(R#$Te#eIqZ7U<%Rz|d~jA&aK(Y7+8ZDmB;%80g=5p63Y+Ezxit&C_}8PT>fqHSeF z+scTxl@V<#BidF*w5{qds+SRMDW4wlbn^WklP`h_;mxZ7U;MFAC{J zA-yQ17lrhqkX{thi$Z!)NG}TMMIpT?q!)$sqL5w`(u+cRQAjTe=|v&ED5MvK^rDbn z6w-@AdQnI(3h6~5y(pv?h4iA3UKG-cLV8h1FAC{JA-yQ17lrhqkX{thi$Z!)NG}TM zMIpW9JiRES7lrhqkX{thi$Z!)NG}TMMIpT?q!)$sqL5w`(u+cRQAjTe=|v&ED5MvK zY(pX2P{=kEvJHi7Lm}Hx$Tk$R4TWq&A=^;MHWacAg=|A1+fc|h6tWG4Y(pX2P{=kE zvJHi7Lm}Hx$Tk$R4TWq&A=^;MHWacAg=|A1+fWGafDU*EbkK)F`cOz83h6^3eJG?4 zh4i72J`~c2Li$ih9}4M1A$=&M4~6uhkUkXBheG;L2ydDWc+<47L%p&Oh4i72J`~c2 zLi$ih9}4M1A$=&M4~6uhkUkXBheG;LNFNI6Lm_=Aqz{Gkp^!cl(uYF&P)HvN=|drX zD5MXC^r4VG6w-%6`cOz83h6^3eJG?4h4i72J`~c2Li$ih9}0Px{`fHc@nJmwVR14N zJdEc*Os{#EUh^=X|1h5aFrNP~p1++{yX~ynZBHK6-)?86VmtZ6c2@1Svud|pks^x&)hMfBjSeEL;B{ThAbYxI$?q5Q9*e7}i%DDa!Oh0@`Oa4+b! z;zy(?<4ctM67q4f=;=RrGk z%`W#^@eZ|}(W_@Wly@0DC)%MFbh&5EI|9!*cE}}s2Ctj#kV_c7R=fk3*nvyzPT#%pUbSfP}?H`NI~WukBHJf@9B=AC((8_H6V~Y1^Ov47_0UJAi~~u!E8q^tY>z z(z_p}|2|4@eN??wXOsT@x2HfqQTV9(snN67N9lu)(gz=9)#6cBEgn@L)ZePt=t%WG z$JZzxKzjpdZ-Dk1z@G>3=KsSNpe+XQ=K=hA z0Dm5U{{iu@^T7WA{ycy`58%%O`11hF55W8Y{ycy`58%&(a*Tms(7&W4^sHx4@0_m^ zdX->MZ80R=ONsZ-52{66Vzm$A5`(zJpnn5RC7!De>Wu`BPZIwCbbAeIhT^~a7tZ{z z;E(zAC*V&(x9MQ==for6zwuY6h<^ckHEA&U8u-6B&#x)hub-*>bz<+6A540m{9y7d z_y$M*JMnM%+y9H}JV(iYP~tt_gK|rsXNveD$4nDn24{>x;Ijo@OCJob0_Xa#J@5`d&OYzJn^@=ukV5{@wcAK56U-uHqYe;0`^~+{1K@ZZlSwaKqq2|py^9R*Kjlbrv>^y_Pzk{@+e$&in@R%~Fxt`DL zk!4VGJ;xqj1~u1ne2Mt?u0_9KroYlJm>Flgoc=PXUhhvmY7DCHJN9?wgN!(Xj5vdG z1DDth2K5VOK7&W7LCprUqEJEcz@qtV=$2G{#j>B=QutJ%qXd?z#Uoy@^^GVk8WEPE&O>z(4<$9v6W zC-dT+%!qd~7v9PIcPBI7ow_?6$!vEgv)!F?yyL-Ray(;b)TnCQr8R`dG`2eSdgfz{ zt&eGJb?mYAF>;B=U*~GSjt0Jt26%IQ@HjaM@2^+v+{y2+KQ8oL`z`iELf4&^guP@W9*c6}u-s4jYeaba3pE+HblyzU+D#uOC;xbL>(3aWUXe z-8*>ez0f_vZ@pJJcf_0S6~E8Kl+UT!7j$WU9{#d#<*Ry<}O-u z7p=LA*4#yF?jkGRMQiS&HFx3RyJ*c_`1USZa~EE{i`LvlYwjXX-bHKfqBVEXn!9Mt zU9{#dT5}hzxr^4^MQiS&HFwdPyKuQ(wB{~aa~G|-3x0Odn!9Mt-L&RzT5~t8xmyl% zF4#?GvYXc2O>6F^HFwjRyX7Z3hSuCIKXL5V+$}#bx;1x`pX{bJchj1?Y0cg87Jus2 z+)ZolrZsodn!9Pu-CXT%u68%AxtrG9LtE^j752~ydzg>xVGg(lC)or4dzjPhf%!c! zzX#^`!2BMV-vje|;Cv69?_nOd2glgMY;KRPe@{9dknFK)jV zx8IA;@5Sf$!T&z^-v|Hu;C~H!T&z^-v|Hu;C~Tr z`?&Ib@V}4i-v|Hu;C~vkbyyEke`1^>b;QuMEoHxP;ybE6Fy#&1ZJ=hQb`{92-{O^bV{qVn^Yu*q4`{92- z{O^bV{qVmZ{`bTGe)!)H|NG&8Km70K%J;+ne)!)H|NG&8Km70KF80I!e)!)H|NG&8 zKX4DOrE;QWU7fxvHg9}#*!^)&M--t(^5^QotqPx)={TNHaf z<+r^XzvaK8m3iB{V&@M}GoSK1-yJ(=_B-EwX3wX1=eyAJsi%{kPx+niM$f1G&UYW_ z`IO)JZuET0?|gUc`IO)J?h?UccJG~yw6?e`4sPS z7dqqeo7`RE`P9?Qr~E#5$DU8|K6jz#Q+}VjOPu#U&3x+V!1F1;)!ijSpyyM()m`ZM z6mNAGdOpQl-G!b{J#DpW^N9LeHmo zd%Mu{DZi^-H8P*#UG0kJ`pnFy{H}H#&wR@7YIp2h&hKhBdOqcMwfj7tPw}pHq32Ui zGoSLi+8uj7<#)9Y1Vi+@A^P1A{cea^)ezav5VNWwa-Jcn{ai34wHuwg4oRy<&#Lr$ zIl2b@@(pMm>M2s69~};n5e+fV8X_;!cWC}wsmSQOXh@ndIxiYh%Njk;8WO{foeK?- z3k``k#biN4WI;pBvxao1E_XIN#60U6xy|a}8M%!x`IxTf8Rl8fB)wDd8O^i)T=*Te z<1?CPx#X8(<{2FIndE85@+keSJj!^Vk5oP!3H=K;&uE^dzfwl(BZqx9<)V(Wl;^C>@Cz-Kgq_!wtU&uF}G?0o4N<=(1Gt*^S2 zfjfRDv3DUpqkMHJIH-G%gx;TdQ1>+;^bUuEx-Z4LFO}=Qj9+wl;MLB9tact`wez6v z%SU>h^I%|)J;*+;gMn8#4>I;0=RR(%gKrW|5SIm9a2A>FUu z=fV2np`=&34(Z-q;`PHrtREg?^f|=nbBOiBL%Lsms{1wCPY&r$9ecKQNOx+qV;s^w zI(Dx=#QNbO)(;P{et1atu1{GHIYj?GBpzJiT~CL^!@1xv`N?5MuEUI6hsjS4(?*B! z>ccqjVRDkg` z`_kWP6!tMc0KJAhEQj&mdR23nQFvIRu#fo(=pDJk@*f}hbK((D?{`p%SDuG83LCwT zWtg5jtQL1&dcT9v?LMp#*~fT=b66v?QSWyUx_1w2Ty}gG^te2%aoHt$zk~3%oaY=R z|3UnpT+an?it=gj5@)+iJY$p}>iqIU<5i${4Gqf=jq80jjmtjLvDZ9@@y1~} zi8*-=bT1oLFLQ}kL5HPYquqFzTzXjE;xl+gIV^{9>^?Z`_d5uk(G6>)FjxOdjDDnf zm!lbt+WsqaqEXwi-tQoE{~cx(bXecQsKqsQ`>*~J^o(^_G(W;HI${u3YZ?KTH0f z6>lza{+}iP&x%8ryaqb+&&p?9yEFeRnSWLeEu!Pe^RxI#mOMX8o}VSp&ywe7$@8=1 z`B~-px)Mg2tlH6M@H%Q%t?AhAkyV>IwtHmNvX1Q@Sw^3%TG=Je^RwjnS@QfWd487M zK1*(&CAZI#)o0}xKHgb<7RSg+Cq9oIBP+Ey_Nr`FZeVl{pOp_d{yyl8Jxj)(C1cN$ zv1iHHv+Dak(zCWK8GBYw+`Ghidp2;6mnD182A;cRrAgQ53?ZxM?p>m{O9(wiWXb2V z8{pH+W%N$5}2-yNrkoxNunZL?(WS+e&m z*?X4$o>edKUwH*AtG?ja*?X4k{afl0L&3MyBZSiPIiWL?Z>bjxr4W@%Ax7^6`zNK9!?S<>*s6`c#fSm7`DP=uheJV$v%F(BC%%*ensT_SON1w{kr*ibE9DOQBpUTmva`dSjeJV$v%F(BC^r;+u zDo3Bn(Wi3ssT_SON1w{kr*ibE9DOQBpUTmva`dSjeJV$v%F(BC^r;+uDo3Bn(Wi3s zsT_SON1w{kr*ibE9DOQBpUTmva`dSjeJV$v%F(BC^r;+uDo3BnF$>Por*ibE9DOQB zpUTmva`dSjeJV$v%F(BC^r;+uDo3Bn(Wi3ssT_SON1w{kr*ibE9DOQBpUTmva`dSj zeJV$v%F(BC^r;+uDo3Bn(Wi3ssT_SON1w`(!RF{wIr>zNK9!?S<>*s6`c#fSm7`DP z=uI6n&8M`7|POdf@|qslr)f@9Dr8*`yV4)I7YT`jBMeUu2ALV49CbBj&ZfexY}c64#&tGo~IR_XC3l+j(MJAUSQ7n z0&~U}m3>b~@;?#pP!zQmQk6nLKal4b!$ zEA}N_kMS+=ZKG-*5_<0W5;eXoR!4%DSu1#%wSt$$hD-c>*305Ss4F+VL-;*f?R&J^ z_h_~6(Q2=7o>w@}E1c&Q&hrZAd4==5!g*fdJm2R$-{(Bv=RDu%JSXVsC+OoR=;J5U z$47z_e9Le`t*n^deS&WpPSCGU(63L>uTRjgPtdPV(63L>qfgMIPw*|n3ALlo^BvIZ zMJJdUonTIMf^Qj4s7+n&Im-$9@(KF#3AL$9es5%^e}b9*30n39ZF+*$e=jlS|%)zgh>(BJaBs@^>koTT@ir1zav&%G-+Nz0z3 z6;9IoPD+`_RqpFQDP=0Aubrf?oz%ShoJ!o|PD&3tCU}674Do}+4}%BzTkGwlH0<+u zH^oUQ*=O*cij&f_V}JW_l0JBnyFN)DJjuPE#EnnFz)9TrBs`p?Z=QsWlk~)s-1|w^ zyH2XTbWT>iPO8-$FBblQ`}zU3{DAZSfHVAnzx^R@_Cwt4hqU+)Y4IPS=O3ZxAEDQ#~lA-j{gbA|Agaz!tp=h_@8t9&pH0*9RG8UAK~~Bj@NIFijxtJKc(_0 zIHhu-+;TwZ^@LMuHJ7;WoKmZ~#47-&aFtWs<0)L_l+LCjbvENhAFsC4k!rgkVFrAJ z@uVQdt}Mqz9e#ztXm6vjqjY!t>uVQdt}MtK@~l&7Ib12ZKFM)_-$^IrIX_reFf7hdQmUdPDy z#>n@^#IQ;<0~!(f`O~rFQ^X#*#xxr;9t8cg&REiJFs8ORF7)_2#y;CI{C`X>;$vO` zJv$pqdgL7=lN=+H93zt))0{$oOFlWqPWv&&i!ny1F-E8{_Tr8OPx=gM9ivys#~8E5 z7_-I#@17b{yZF-=i9KqJ1t-8Cf}R78F=~t{llQ0g`7vehM(^MqW2gNXJMG8VX+OqJ z`!ROfkEy+M47+^C*yTHhM~&f5W6HYyspptuYA@q^DDiyrbz0|jTIY4veqWbjRj$mz z=r!BdrC!HgtAAZtgphW8o%VX2HObedOqYAD{`J6F!RykYW9K}tOM6DI6TU9JIX+AL zCh=R~+n}?Z*IBE7oz=P5r8<{*t^Rc>?OZU9LdH?ZI0_j@A>$}y9EFT)zC03)qmXeF zGM=Ts<0xbtg^Z(+aTGGnTw@%CjH8fo6f%xN#!<*P3K>Ts<0xbtg^Z(+ zaTGF+LdH?ZI0_j@A>$}y9EFUdkZ}|;PF^vNLdG@w(_Jv58Al=GC}bRkjH8fo6f%xN z#!<*P3K>Ts<0xbtg^Z(+aTGF+LdH?ZI0_j@A>$}y9EFTCdpeCmPNR_1DC9H>IgLV2 zqma`mIgLV2lNFyPD?UwD zd|JMAE;x-sPNR_1DC9H>IgLWjkO!V24?II2cm`)aLo1)bjn9w=o}tywkO!U#9unJU z$OF%i2c97hJVPFMhCJ{LdEgmZ>J09BhW0vxyPm;a&)}|SXs>2XFGvtA1@YplB>lyOEGvtA1$pg=l2c9JlJezz?=RC{3oFxxDOCETZJn$@e z;92s(v*dwiHOtfS8s9*T|IXgU-=MnR zpt|3nrQe{X-@wmr;AetbCa7fsADF-gCh&m?d|(0}n7{`n@PP?@U;-bQzy~JqfeCzI z0)0Kp_`U$ORN~0fk&ZAs0}{1r%}tg0Kp_`U$ORN~0fk&ZAs0}{1r%}tg0g+iuK$P@~hLLpNqWD12$p^zyQGKE5>P{0 zg+iuK$P@~hLLpNqWD12$p^zyQGKE5>P{PLN20^izwtG3b}|vE~1c&DC8mvxrjn8qL7Oy zPLN20^izs9og-oN6X%sSzLZ(s3GzytUA=4;i8ih=wkZBY$ zjY6hT$TSL>Mj_KEWEzD`qmXG7GL1r}QOGn3nMNVgC}bLiOrwx#6f%uMrcuZ=3YkVB z(Mj_KEWEzD`qmXG7 zGL1r}QOGn3nMNVgC}bLiOrwx#6f%uMrcuZx6mkiLTtXq2P{<_|atVc8LLrw>$R!kV z358rjA(v3dB@}WAg$R!kV358rjA(v3d zB@}WAg9b3*UUxGYsf!Xe^e&}&ndlm6wC%gRWP3;&tedmS&6<6V{p z9DBv@a?&%w%SmT?mvz_1--7-d2@^Hn)pzAV-GI=w&SvQ%gE zYUE{Q(LS@+BrhwMcI=GwvNCGN&Py+=y@blB^;cx4mz7sL_FCm-X-{=Yd#X#>wf>5% z^)gxOW$DnLUZYRnq}RVmuYXg0b0m0E?P7F|Z_+p4q;I|{K3(E<+BbD(<2Aw=R561p zW>Ccps+d6)GpJ%l{xA^CXr6LTXjROhiWyWfqk4x_;xo^niWyWfgDPfF#SE&LK@~In z9?lG^m_ZdYsA2|H%%F-HR561pW>Ccps+d6)GpJ$)Rm`A@8DCcps+d6)GpJ$)Rm`A@8B{TYDrQi{462wx6*H(}235?UiWyWfgDPfF#SE&LK@~Ho zVg^;rpo$q(F@q{*P{jCcps+d6)GpJ$)Rm`A@8C3BW zs(1@kyoD;>LKSbJinmb3Td3kKRPh$7cnej$g(~u>B9AKas3MOl@~9$@D)Oizk1F!0 zB9AKas3MOl@~9$@D)Oizk1F!0B9AKas3MOl@~9$@D)Oizk1F!0B9AKas3MOl@~9$@ zD)Oizk1F!0B9AKas3MOl@~9$@D)Oizk1F!0B9AKas3MOl@~9$@D)Oizk1F!0B9AKa zs3MOl@~9$@D)Oizk1F!0B9AKas3MOl@~9$@D)Oizk1F!0B9AKas3MOl@~9$@D)Oiz zk1F!0B9AKas3MOl@~9$@D&9sFZ=;I0QN`P+;%!v%HmZ0VRlJQV-bNK~ql&jth2Q(U zB`C0~({F!P%nC*UZ4}T(0c{k}MuC-$g0wNBBmKmBK?)fXo|K;y*wtCkmH0f~)mdO9 zEhPVy^T7VqjTNNFzd z3SlAX9Xkc7&gfm81$K27G)DVK@9Hchy{og3e1qe?tFw^wuFir~>hpM~UqLE$>|LD& zv1jzI&VqJ^7`>~rp#33^y{ogpuFe9xIt%RT^qaEvSLnGQJ?m`j>MXF@Q(#wTfnA*i z6kbq^`1mf)_GQq!It%*V-`MS|mGXU_2Z$d8y;4+AFK~Gev3GSAST!oB7dY;t+`Bpp z>I+8i>MR7_)mhLU5~Fu@7RXo%JbzILoH-QO)mcyuqx;o<5|=oOC zpdRGdyE+T(>MSVd@n3mYXF=b88ND7`2vCT6na|)|orS>P=@eMADyXmd4BpjQP+xQG z)!G8PIt%o>f^=)HysNXIT`0z%foO)FSfD2s=!pgOM4!hiy#;o47TDEUU{_~>U7ZD1 z#tQ1EK5~*Hy{ogpDp^7O)Um(0E+{wiy?9q=LAjaHyE+Tng<|xs&H{N_fjq51zb>d> z>kRbkg8H@N`5ft8odx=MK|N9T#jef*YiaAN+e)sx-P~RB| zl~JS;>TAb^TFDpwjQHP(^^Ar}UIVogL$P*Z2=$CcD&bw7LOr7)yb9Da8j7_WO}O4i zN}oPbPa+GoXG5qx8$#{b5NgkcP5eVf=Liv(V zS*}pOq#@MKG@KB@M-T@=N$lO0-8*vG#}x7avPz3Nkb^N5z1|Z+BGWFEI_DPfKamlp=JR>xs4EQ$ZdQ!?F1I;$uA*#u-hm` z19BVlrX8e0J^3ZnlV3u)jqu+=+R?k(RH7Alp`QE_%4dX{F$uL(RH!Gvgz_1oTqUJ$ z;J@D5kI-gIi6zs$yLtrgqjZuH6IjeCMeY2525|!D(TIb1~ur(C%@SGbo|vSwhWsgqmBWu5ykf)J#ff_qfU#kx+X- zgm#ZvxWp{)Lr`otn1vh6!Utw4e{hL*WeZO`rZ3F$UOUD2%Y|m4_F3qB77Cw*wr8R0 zS*UuJMn?awbvO$J&eEvo_ytgV?G$UTvQSTQ3BO0V_Sz}_KCx!mimi%S=wTL0n5EWN zIjuQMb9{YD+s)EgFp~0ntIrAT?X%SuMtl2g-I37_KU*y##Jy+Z+q3a)zhm0v_U+kX z-e}*Rjc?CZPjRg8Nrn1`RA>+Po1=~PaKAa)sPDg0esi?ZPClEfoz2zG#?NQt=W}R_ zIkdtYT49b_VI(!jt4~6$C#2@U{~WI-DYnndf%!QwKL_UL!2BGTp9AM};Czl(kaWD} z_(IO9>v#OJ^gPG8gz%@7Xzr}oY|nx1Ij}v)D@7{#y-_{OI1hAhn!_Exqo>i1 zI!`Nvkx;(?BYYA34)_ws|BKE%PkqOqdUTsd+s#uCQi;~SbbhUU89ONXl8;fF`cv&% z6l&L^@Nv+dKTj)!x)Svxmum-(PpC_+&JPQ5_^e8+Jub!v%L&qLN=V|@W_&d<5n5R`lmEgehw3g`D zK0MDWib69#&+Cdp^FL23in>nq*5j!({HNhRO^%UMxX%Tl? z#61>qk40#vD6nRV&`c4UDMB+vXr>4riqK3EY!soHA~-2RGeufqR_%c`Qv^#zXr>6R ziqK3Ej1{4oB6ur8Gexjhgl3B1un5f*p_w9$?>?tBQv|m~Xr>6w6rq_SG*g6=6rq_S zcrHRSMX+6jW{S{E5t=DNGeu~o2>$28|9tqL4~O&Na6X!u50mp@az0GXM>F%`b3S~| zhpYLpG#`HE!^V7gm=6QyO9 zv0^kxaJZxQ-Wqn&`b%MDM2$OXr=_sl%SasG*g0R zO1R$=?zeZs6jsH@fDI!3K*%z%$` z%rK~D3RJFV3WQ!^xLR#wJVlAK@vGG$#xpJ#+r~M6+8>R32MKhj?sR_)VsuhaW3d=~4odC=H-j0_EG<$m(BGXjT_V&qBCe1h=& zNQ%{&)%qi;#VB?$id~Fi7o*t4D0VT5U5sKEqu9kLb}@=wjA9p~*u^MzF^XM`Vi%*> z#VB?$id~Fi7o*t4D0VT5U5sKEqu9kLb}@=wjA9p~*u^MzF^YXR*Yj@9{BF+tZqE5` z{`NhLv+rS?eGk3$J+$>Ty3=#1YjmeVUBA)e?6oS7gj#_VUMEhjO?(j4n?@CXg!rSN z-ZZKby=hdq6kMh?jcfg;QQ`jtzY2a0)Q)98EgSt!B2yq0sjj8Ecl1>wEO(22-Ld0;(pcgUig16{J$6e z-wXex@Lvl5rSM-0|D}G@YpN9fOZ}!-#pb^h{!8J%G-3Wr;lC9AOB3e5)Ngtfn*UPx zFZG*V6`TK3_%DV3Qur@TnE%p*`7ceF|I&o{FHM;LQur^0|5Erb^_yN*ZvIQ*ztnGf zRc!uC;lDI#{!5eQzZCvU;lC9AOX0s1{!8J%6#h%$zcgk3OZ}!-q4_UOng7z1`7ceG z|I(ECFZG*Vh33CBW&TT3=D!sFOZ}!-#pZtr{4at3CGful{>$LM4F1dDzYPA%;J*z1 z%izBZ{>$LM4F1dDzYPA%;J*z1%izBZ{>$LM4F1dDzYPA%;J*z1%izBZ{>$LM4F1dD zzYPA%;J*z1%izBZ{>$LM4F1dDzYPA%;J*z1%izBZ{>$LM4F1dDzYPA%;J*z1%izBZ z{>$LM4F1dDzYPA%;J*z1%izBZ{>$LM4F1dDzYPB02mkMb|M$WF`{2JE{>$ON9RADU zza0L{;lCXI%i+Hq{>$ON9RADUza0L{;lCXI%i+Hq{>$ON9RADUza0L{;lCXI%i+Hq z{>$ON9RADUza0L{;lCXI%i+Hq{>$ON9RADUza0L{;lCXI%i+Hq{>$ON9RADUza0L{ z;lCXI%i+Hq{>$ON9RADUza0L{;lCXI%i+Hq{>$ON9RADU|NZd)e)xYs{J$UmE8xEZ z{wv_W0{$!DzXJX%;J*U?E8xEZ{wv_W0{$!DzXJX%;J*U?E8xEZ{wv_W0{$!DzXJX% z;J*U?E8xEZ{wv_W0{$!DzXJX%;J*U?E8xEZ{wv_W0{$!DzXJX%;J*U?E8xEZ{wv_W z0{$!DzXJX%;J*U?E8xEZ{wv_W0{$!DzXJX%;J*U?E8xEZ{wv_W0{*Xq|LfrYI{3d1 z{wv|X683jV9$zY6}V;J*s~tKh#1{;S}>3jV9$zY6}V;J*s~tKh#1{;S}> z3jV9$zY6}V;J*s~tKh#1{;S}>3jV9$zY6}V;J*s~tKh#1{;S}>3jV9$zY6}V;J*s~ ztKh#1{;S}>3jV9$zY6}V;J*s~tKh#1{;S}>3jV9$zY6}V;J*s~tKh#1{;S}>3jV9$ z|AX-VLHPe5{C^PstKq*I{;T1?8vd){zZ(9l;lCRGtKq*I{;T1?8vd){zZ(9l;lCRG ztKq*I{;T1?8vd){zZ(9l;lCRGtKq*I{;T1?8vd){zZ(9l;lCRGtKq*I{;T1?8vd){ zzZ(9l;lCRGtKq*I{;T1?8vd){zZ(9l;lCRGtKq*I{;T1?8vd){zZ(9l;lCRGtKq*I z{;T1?8vZ{7{~vdicK{{;!As>*2o^{%hgC7XEADzZU*$;lCFCYvI2Z{%hgC7XEAD zzZU*$;lCFCYvI2Z{%hgC7XEADzZU*$;lCFCYvI2Z{%hgC7XEADzZU*$;lCFCYvI2Z z{%hgC7XEADzZU*$;lCFCYvI2Z{%hgC7XEADzZU*$;lCFCYvI2Z{%hgC7XEADzZU*$ z;lCFCYvI2Z{%hgC7XEAD|HJVAVfg)^i*{_Ehs4*u)lzYhNE;J*(3>)^i* z{_Ehs4*u)lzYhNE;J*(3>)^i*{_Ehs4*u)lzYhNE;J*(3>)^i*{_Ehs4*u)lzYhNE z;J*(3>)^i*{_Ehs4*u)lzYhNE;J*(3>)^i*{_Ehs4*u)lzYhNE;J*(3>)^i*{_Ehs z4*u)lzYhNE;J*(3>)^i*{_Ehs4*ov^{~v+>kHG&&;J+UJ>*2p1{_Ekt9{%g$zaIYU z;lCdK>*2p1{_Ekt9{%g$zaIYU;lCdK>*2p1{_Ekt9{%g$zaIYU;lCdK>*2p1{_Ekt z9{%g$zaIYU;lCdK>*2p1{_Ekt9{%g$zaIYU;lCdK>*2p1{_Ekt9{%g$zaIYU;lCdK z>*2p1{_Ekt9{%g$zaIYU;lCdK>*2p1{_ElYqwxPx`2Q&Ue-!>dmZ(Ymed-22y@5|} zNO)#_Lt+)^`SlHn)!=8fUUWmkYjHOuKMpQ)N%AIeIhd#1>u)zu%MH|WL+T!te4M&& zq^=vO>qhFjk-Bb7xUL(i>&ArZx{RL)&OQ~xqbuFc?rPQ^Qx|UMcQtDbtT}!EJDRnKSuBFuV3F=x# zUCXFz8FekAu4UAbrW^nL|r#g*MFt1<5XYdLi-r>^DH^{3Reg1S~v*9z)dL0v1T zYXxb=^!|H&fTm)O9m;-Ar9KQ`apCf4^``!rw34l6b$gdW(GQxbTmq z;alWm#!pagh2N6+6VPksw#U@8R?<2vX`Pj{&PrNmC9SiP)>%pG ztfX~T(mE??ot3oCN?KDFnW zbsCaxora`ar-9aKpmiE(od#N`f!1lDbsA`$23n^f<<@CPxpf*+Zk>jdTc;uA)@ew& zbsAD`oraWKry=FmX-K(s8d7eZ28|}Fm)2>ZbsA`$TWOtJX`NeXom*+0TWOtJX`NeX zom*+0TWOtJX`NeXom*+0TWOtJX`NeXom*+0TWOs}TBniLX{2=;X`Mz|r;*laq;(o; zokm)xk=ALXbsA}%Mp~zl)@h`58fl$ITBniLX{2=;X`Mz|r;*laq;(o;okm)xk=ALX zbsA}%Mp~zl)@h`58fl$ITBniLX{2=;X`Mz|r;*laq;(o;okm)xk=ALXbsA}%Mp~zl z)@h`58fl$ITBniLX{2=;X`Lo`Yl62Xcx!^UCU|Rtw2 zhPP&TYlgRGcx#5YW_W9cw`O>2hPP&TYlgRGcx#5YW_W9cw`O>2hPP&TYlgRGcx#5Y zW_W9cw`O>2hPP&TYlgRGcx#5YW_W9cw`O>2hPP&TYlgRGcx#5YW_W9cw`O>2hPP&T zYlgRGcx#5YW_W9cw`O>2hPM`YYk{{Gcx!>T7IT7IT7IT7IT7IT7ITR(NZLw^n#- zg|}9CYlXK~cx#2XR(NZLw^n#-g|}9CYlXK~cx#2XR(NZLw^n#-g|}9CYlXK~cx#2X zR(NZLw^n#-g|}9CYlXK~cx#2XR(NZLw^n#-g|}9CYlXK~cx#2XR(NZLw^n#-g|}9C zYlXK~cx#2XR(NZLw^n#-g}1iEEs4KOwIx0cekO63;#J^Zfvdq6jmZihldJ?kPDvj8 zoiX^R%Y%=Bp9R+#Q}_7O)ISh^MYxI@S5f1tglk+yjjIx_aaF=Ku1dJZRn)kO8doJ< zsc|heuBFDc)VP)!*HYu{>Tx5f+tuTY?^kYfyLyvRzu73%Gv-1+!F0QN zlhOO(Z&yDuz65^HsD2@o@^v05-`M67Dc@KMmVxD91y~7Ifz@CQSPRyH^}@Tv%w57y zgVx(!Fmo5o+yygt!OUG^MxTlqqxE(d%-jVtcZnI5h#BK&!8Jyhxl7DA{)%uNHLjz^ zb+pAgYFtN+>!@)ZHLjz^b=0_y8rM1MxQ-gvQR8}QTu+Vb zsc}6uuBXQJ)VQ7+*HhzqYFtl^>#1=)HLj<|_0+hY8rM_fdTLxxjq9m#12t}-#tqcC zff_eZ;|6NnK#d!yaRW7OpvDcw+4HEyKFjnuf28aGnoMrzzhjT@Z4+;(g##pnkDaB?rK7fO;-fB~OF@1P+5oz%2MJ@Hx;s!`liM>;wkk)s+v?eoZ29e>8x6a2N$ z6Rah^!=K7;^=az8E|KdxUP4?({66Ax;tKFON-BvzKwL%qLE>uS4-wZ8Ur$_1{9)oc z;*Sv56MvNW2Jl93DYy(=4z2*XcUF4aQ!6R)ezW$}t;F8-)Smi3h`slzoweWg6#b4B z;Pw>#j&Mn% z1GrImPhysGl6w*%=oPJd$Xf5gVeSd$xSTxjo?sra_sT|iQG^#o92wz75ndGGMG;;U z;YAT%6yZft!d?_5tc@sPFNzZOq6jaF66PdI*o&fsIf)YXq9|c6itwUH>ks}bdr^cJ zMH=57+lwNN??!u3#5V{LUKHU)5ndGGMG;;U;YAT%6ea9MQNmsn;YCrxUKHU)QNmsn zCG15JUKAzlMNz_D6yZft!d?_5>_t(+UKAzlMNz_D6ea9MQNmsn;YAT%6yZe?UKHU) zk#Z7Wzr85Jiz2)z;yaEAFN*l4Bf^U!zVC?eq6jaF@S+GWitwTcFN*M@2rr88q6jaF z68549FN*lCB*Kd#yePtpBEC0?6854fVK0jCq9|!EitwU{Z&f0^D8h>(yePtpBD^T# zdzJ_lJ=q~X)lVB_M#|hFN(D8q$|<7lhIxjDSs1h zcu|BGMR-w!7e#ncgcn74QG^#ocu|BGMR-w!7e#^lk#>^$oOqG;MH1VKBF%tYZZC>7 z4{~fTic(itwU{@1Y{RD8h>(yePtp zBD^TVi=vdhD8h@Pl)Wgzi=vdhD8h@P6ulBJiulGV!iyrjC`#FjqLjTTO4*B|l)WfQ z*^8o-y{H2(>cERSKxEcu|L1a3~eyMKN9!b7YJc#duMS7sYr{ zj2FdtQH&SGcu|ZO#duMS7sYr{j2FdtQH&SGcu|ZO#duMS7sYr{j2FdtQH&SGcu|ZO z#duMS7sYr{j2FdtQH&SGcu|ZO#duMS7sYr{j2FdtQH&SGcu|ZO#duMS7sYr{j2Fdt zQH&SGcu|ZO#duMS7sYr{j2FdtQH&SGcu|ZO#duMS7sYr{j2FdtQH&SGcu|ZO#duMS z7sYr{j2FdtQH&SGcu|ZO#duMS7sYr{j2FdtQH&SGcu|ZO#duMS7sYr{j2FdtQH&SG zcu|ZO#duMS7sYr{j2FdtQH&SGcu|ZO#duMS7sYr{j2FdtQH&SGcu|ZO#duMS7sYr{ zj2FdtQH&SGcu|ZO#duMS7sYr{j2FdtQH&SGcu|ZO#duMS7sYr{j2Fe^MKN9!<3%xE z6yrrPUKHa+Fc;x zc+o%Tul`6cSQiamqt$Eo^ps(zfRKk;$R^7`dh ztA+oKBmWHib8sd27jpZ4`IYf6DQO|TjkuNgQ`G28vY+pC`uR?$pYL?~`A(-_KIUuF zdu)Xdf)9cEl_8b%fcljo#h%~w<755!SU*12kB{}^WBvG8zkJNc@8bG*gL}Ze;6Csv za6d;L0KWl#6MP!f?+fWXeonk!K4#2<-vXZlk8*d%K)t&`$GiZ($kl$AV~$hTOT;e| z>vxBAs*zj`<59Hw7xW_-VOmAnqD=F=Lm7OVs7!HzDhv zzDgE_N=g9?&tUq9DW`q?*i9>>%k4+ zM$o%@`lZAwtv$^GL!&&+I4@C^@PB`lyeW|+N+kYR|NldrO#B!9>kn~|n4MU0B~B&Y zo%r)B@l}a;CT_nH&q|~d(Uo|1;vI?muf&>rCbnOR=Oz{=Ub_;{OI(wg1Qea`Lp)+ zFKoDT$tT-8?rHD1z4Pw&jn_BbbLYk-Ew^usZ|S^!!`+{&yT0zjpQ!uOmQQ}dAGo~c z4_>`w2DZjzrY9F z!+;;<7?BE($zJ7h0}&}bO|jahr^yX@^IU1ckhd48j`0ZhD#&*@hZH+gA*Ylp`6MrV zBJi0ed89JQ1RocKUEp&|L8(frmO?yN1;m=94e&{qWXTL4xKqu2W~nE{4uIT2;N}ND zCdmQ*5R_&vALh0fEEH21>dA1#LE5WTz$aB#Pt&4bt(hSl@Ja|lOR4Qm4kb|4p{w|Mp>?E zpru?hA#j<_!%%M~o1%3e*NL0QFnuWDiBc4Du)Jm9x>Y@fK~HvwW%(HfZm4U;|0 zbDE%@_4SBAKGuiqz{dshD52}iupW0~+opr`@;{Zko>v;Ls~761^tzZFVTdV!-s6y* z(h%rAPf5a(^yg*xltVlJ%^%r_Fd~Q|4bmbVibHx7j||9&5>O&)gpyEW)C47? zrYHq9L(NeO)DpEqtx+4)7PUj|kqLD`9TB{Thu|$R)CF}#-B5Sb1NB6yC=K;OGBTrd zlz}YBir~g7vY~9$8}&hbQ9pDG>W^+kc9er0C>J?V9vXlKqI@(64Mqj15Dh^^Xehc3 z4MW9fI4VIS&`2~2jYeb8?dT3P7L7yW(FEi|rO1uSkO!3`FRDO3G!acgepHD9D2S@i zohXFDD1xGBGMa*>qG~h^-G!#3yU`4E51NT;P%WB;?nU>Z*=P=$i{_#EXaQP?7NPsm z186Z?f*wQ+Jp9@SJ10yAA(<+L~o!s(SCFQ z9YlxFTj*_c7#%@J(L3lEdKbNi-bWvx579^HIQkfUg5cM}&}Zl*I)y$*r_mSaOLPW( zg}z4LAox`j^c^~jzDGZxbLdBO9>Fh7piAg7`U(AvuAr;v7xXLo4P8UOqd(A}Si%Tn z4BtbDHCT&vI1cM^JT_n>PQZz{5l+I5aTA=3o8lDQ3^&Iua7)|@x5jO7Tigz}$0pnX zcf>d0PWWcr8F#^5aW~u@_rN`IDo(?_u#C+(9cN$*w&F~jg>5(+_r`s2U)&Ghg8SoJ zu^s1N2hPP#oQDVCfjA!z!h>-EF2qA{5gv+f!^3bf9*#@!2s{#x!lUsRd^?8c=y)6+ zk0)RkF2!zKhCR3(dvOK!;fZ(>_Tx$%z(HJv@5CV-#t|IFlkpTh6<6bF_%1vh-;HPB zd+32rtFU@Wc2K{3w15FUKqJ zVb@H?)%@NT>Z@5Qg+SMfgh?atTXS1{ki`|$yM5PtRXE%+6}!}th3ir>M<@Vodu z{678we+a+EcN~79?i2Wxw@>kB_#{3BzlC-hek1EkdO=eBYF}K z--~4=@cl>dEkQ}7F=;}QNmKZSjArZ`8%RsiinJze;GOz*@LsoxbRZqcO{5dKnRF&y zNLSL0bSFJXPm)T~NG~E2Gf5{I#6qkjlVlMa$tJx?AJUifBe#(L=NHG~sO2`N@5^jWyhMO9x8`D6iENEVU%VO_nLEFlk)hsaX0j66&pA&-*B$a1oRJWieD5iu`s-aq{qj6ME2O*?N6?XU6dg^+(A()9bSxc5$I}VaMN6rhmQfEar(Rk?eRLw7ME$gq25690(K~5~ zhG~RG>0~;EPNmg!8oi57r+3pC^d35s*3eoyi{4A`qqFH8I+xC)^XUS*kS?P4(+B8c zx`aMRAEHa?GWsxmgg#0iqs!?E`Z#@puB1=WI=YIkrfcY0`V?J9pQh{S2D*`M(xnB0 zkupy?4MhF^q(Csh7U{l#H{^*#Ljg?~R<|ClXR6!ps*Jlc8jN_#O8xPHXk{r|`g;S~ zvY_AZ3hAmmAz1rH^sY+qg<)lH;F-g~$?wruxk8?R-%}om=RUqEiF2_9zb`zAR{5i0 z4XoHJUD}H3stQj)3p{+mGELa;3Rlo+o=}hk10E8Y64XR0LLSgxFdCxezR4aE_D$7< zJ(E2Fjfd@YXuucn055+qpbvX0ecVU=o^V*>xijkW>!4mPfQ71f!facCU6C8-bxnSn z%OCmobGxB5%|Sh@{jNisvDY6wi?&K7W~qHDW1LleHpmzIdhi%7Rk@lr>TuQ@kHip5N zRC@xzIylJ_0JgfYhi|#!%6zaR3;V))bth>EhRVu8uT0Ge-l)&-_f!VC2IBoeug~rB zLvPYW13p={=f>CX>h!_M&@EWqwPhY?1LzXa=)fl$HbAq6qrAmK3A}k@A&tu&jd*Zn zl=UAM=&Y(DQRx}17HqSqb9>4_2A2W4N34_)M63jDM4^VBL{&ybOOOw`K?n-#z+2(+ zmn)DWGHi_X3#Kfsowt+L&gC%Jm3A!md!}mbT+@1cOhX!b2=s~V&Nzn|yp8hf^RjS4ek?x=5oe@AJA}h)ixh|=1)`|Fn6^lfuP9bB zt}^P6_^SNX+9KXdwIxc?5~XNKeNlZ$tc-RvPt**r2!;ajUQehJ%(~Pc*0QFU?9sZE zvab5FS~yLB4ybp_H`au%4whsK^tHmC}~^Ci}`f+MuF@s8TSh6pYpv)JN44)jSc#9Z-V4 zIu@<7SGwGxU_j?msMZb^$8^Gp&K~qa_nM@0DOBs=OtfwV$WaeuaM$~(qbwMqZg8{? zw+onS-3rN7NLeft3c4cNGJtnQbWR}$oUJf<}Ug@Y^TI);3u9xO`dQ~dGy98$@}y@q^6awV7IPs~><$fDyQ#D;yJHh&NcW8Xx> zpn4e$6YKrP!3~5qPP#6@hN^%c`n}JsEl?WK&xx_1VLpF@fVMzUr=JsAz!c>NM_ZtD zI=@1ODBJ=Hw;>G}7y}Ig+93+JfYLYtS5+_^2?b%6B+h`BcmiHsk>~h6-|$ zP*f2OcwM1rrQa2eBm^6VaFG)SJ=$T4BrvhSXloqS0NfaA5YP@&Bnc^`SSc0e#86zX zP6JGNY`$am8dogLJ`N7&_(-iSR*Hu?F%EA4V2m^fXooBLBAn3Stjk2e(UvGSALT?> zBI+I$buUrs9_2(+!bTqr93lq12_+3{o)B#q(v=8}a(aJPV;>W06GJcxs)s9hWHjNVvtW>;VZMi=PQpWRHL@CQhPVUv&l{rM`5`(5P zg!43mGLmt>vABW$j4;{4f=U>Fy{sAqTv3;Xt4XhlMwzCxiV`$j!N!Jq(nNxRU^pRG zSsseF`>QHk+^cuN+z)FLpUdd13j3g9JUY%9QPLCgVKCxR%pi?LusVYgi$@qs8We~x zs`Pl3jE#LzeB^99jkmKR1ws|vc1w})^I{1P*ouUse)>{ z;R6zBf~*aUjB`w~MmI=m6l|3S6p1_#&kJ*}-c|1NnPoXWBj&T3RbRU5t53Bgh!R#S z)2tfGWFa+wmg=*qzU-JUQ&xQ{R%Q&#Y_Y~t%_M3yR5mMTk@Dod6sOP0zxOXZxUa?VmY zXQ`ZRDrcKoUz>_yQ!#8RhE2t=sTejD!=_@`RE%sDBU{DDRxz?wjBFJnTgAv$F|t*R zta>gn46qc@hs<&;)hx#_%yJCFEXOd+aty;P$1u!t48ttP>S2~u46}++FS9ikCuiHV zBb8Y%z74{@3DX^>#!E-s-nJI@4tdNofe0VuEiIvipxxBDf(JKV9XiMQ> z!xM?~`29W@*}?|cLc(f3$_^>CYzG?gXko(}43zN=EkChf7<}u!Hpvm6%U|XzFW2Pq`JyTmEQ`7$`fwEH z5GJvP@3?jFES7E6<9vZ~*vUt#!4qNoGQR;Pkx+0dKPri1vpG96(X(|l_Zh|M2@mM} z!D+Dk^svb$FGn^Dnx5c>ht8mDH(y-D*5MPA_`;*XqQua^-?)K4#HL1%k)8U))N5qt zJ@o-lKrCQ@^PiYMfonqzaka!kMs{Ek3ouF3Wmy)KOAg_55zY|QBB)i+OhK~*wF#On zs9n$;M)RC`d7S3uIRwpRR5s^vTsb|5$IBVH93Lph2g-5G&I~8Z50vvUI~93>^8DsJ zi^4BGF9Z5|*yjpP_3?=x+Je^rs6|u6wyl~VcT2b%WiFQ_L*XcAC>()i(28Ji5^J(j zk3Tqt=dy@g7FofwSQYs#RuRq=;Y_6-mQ1A{mP{^%Y{}$$1j_XYl-Ca^*CSA_N1$Af zK)D`)ayk{JlBhC$rAWk0zXUOX9@f)fuAMtvjl#Yz|Ru+Spq*x;AaW^ zEPE}@a+QM zF7WLF-!Aa&0^ct1?E>E}@a+QMF7WLFKS$u_2>cv@pCj;d1b&Xd&k^`J0zXIK=Lq~9 zfuAGrg*{qw1b&Xd&&e}zy*gyJ1XXnG5HdJ~3=ScKL&)F|GB|_`4k3d>$lwq%ID`xi zA%jEcz#(LCI0bfIJ$A0pgBUj~V%)Ig3K?>R47oxEWjv8Bxk83qAw#Z^Ay>$dD`dzO zGUN&wa)lmpMLReJzEkMHDRkfz_)dZE6!=b|1E;`u3Vf%)cM5!`z;_CKr@(g#e5b${ z7rT$hk$2U6_I|a(qf%0^qv2-pUgt>e`xqLvmd_cK;K)HNCxqLvmd_cK;K)HT^ za`}LA`OHqmPJs%1#ZDnC@D)3Su)tUB6v6^uu~P^Oe8o;7EbtXOg|NU^>=eQR-@)}` zb}BXsRMcOwQ3#9rD>e#YQGZ7kvo#3YVzvhUY!PQ~5GUkNY!&hdIUGU{4k3qPr)H;O zr$B`qik(7O$f4LNgoPZ6okCc&gJP!;7VV(eDTGBkD0T{Afv?!9*{RqmP|*&GokCc& zgJP!;7VV(eDTGBkD0T{A(GH58LRi#au~P_(`YUz{VNrj@PR&lmPJxR0Ds~BBQD4O_ zAuQ^v*k!sb=7kJ7FS-8sif=+-u~^z5j&D0yT$B2IY#nn$Hh!MP;u877ROO@uRVE2M zHCA3pREs9X*0wC2Z4w&CB1+-uBgBe!k#Eg06a2q5s_3rHMa z-GfKRR=J$Q0+*%3+LopBWi9jY6)nra7PCNcc{!Vo(#`2|-0;{zYeaZ7Ue;wBH8{a% z;dtfvo_XWg={@r#H9WLu5h!1)Jebld52XwZ9!Tlchf!MP@LnfQ?6t}%y-pm>$JZan zp~H0zUB9 z&{fL?(3!uK>&naJ@Dh41jREo}N{!)GadW8^kB93#qk8(MUQj zKL$yXLGG3yLtDSk>yox|cRP1?`Jv-T`?!06yGQ&%w_kdnyPpJE>gU}3mb>R!N0Y8{ z_YdYG8fHxz&)p{6Z50m7X4H|p-MO0%ZaV7C-CMbv2W|!`;O;Q)j*2jD>3XV<$r?r-SE@fha9H7?NAUumqZlon$y+y>-r_n*@GcCK%87Kb<&#l>*%T+4Yk zr17Brc2Z}!*_bKaBIUuo#1YasQEI55(*)fp=$nF`6ZEn|QIep|1Wi}^AQ}kuNs=`6 zcXS}Ekp{uPB%OkPB%OwTEPV<8MEVN;DTLCXFZGn}mmZK7OG~8hr0=D3(s{V2ei?2S zdf|@XDzqAIVI7AXNdq7^f_pz3cBr zc9RL2PzNZ1Q73dWG$7owWPF+Jf)wm#e^Wr}D0PKzwIFbpv>9r>?;XKhwExn91ztXBV;zndab5M zBEhXRlI+sP_t3)i)7mVIXkD>PQdCfRQO=+~>RXIEZc z{7vU=ACCDzPEbWf8W5_O%ScM7HW`-`o14oiS_s4^C&FcQA3V(n^fcuM+-c?>ayOPh zk~_u{Ov8PZ9#e4yZtTEQA5*a>G#Re1hfNN<+^%_ooF!+PVXe#l#xzfWDJIiwNzbrm zTeHW=cl?K-7CBu3?eXtGnWS*DKh-oKU9NeuVI`49A~lO7xn>@&sgYjac5ztBuDP=( zbZa)~_FjXROq#Rgl6Ckf>vzX8$CVZiyUlXvzPrlX&O7i~_tz)J|D5&lqmd;)Ke%P< zw#g4)*f7ZL9FR82@ZgZaJrf^&Xmr`Geo?NtP|NU*3`wQZh zwL5v@NAKy-zWjYFC-go2#hzws+*5r`?|LQ`6X-;1YF?LXUX?A{IOq==jSeB&RqiZz ziiKq~yM=f`Am|QPrNIHF51zIJ*jov*5j4^^8KFNZmL)lZh1%1ea(B6FUFW(^vpb4{ z?vVewa=jwqaH`vt2Jvz;R_JEN!YIebKuMgO$l@EZcuKJL6}cS?H>S`h)+Wo1&5b~< zybEZD7u(J7GRXB^iPRz_4Si$qflf0|ok{4l?_{gzR^e6aYEzA~Qfji|YZH5J9n;*k z?YQQTxhF0xS@Ob&R=2J@``{j1_SR@-r1zsmXR>xaHt*1~oVHtc?5|ri^7CImD5E*n zA?R4f>gERuH+I>7@$~EhY%82K_04O=pP&6)JLj{t53d|&eDsT__Ux^_@3jf1Pd(H1 z`2ME`mwmFo_3gViXUBbD>$oaoL9hAC&+gK7=$~uX>$Z8?blNrWz1*2+R~VX5R5j^(|vVch7CUvZrJ9q2eQV_xrhf@0W^}N>5eB&l>y7xZ=w#UKrV^>b2i~ zdS+Q&V)K))H=8-(V51&^+4REM%Tv1?)4Xxca{IU)`RNxk!1`W?PpYuK0ef36JGE$7 zp5w}i%7F>ywKu3tu36B)62{ogDRMGXaa^)-B%I@VLIIP*Rpl`^m7B0=U9urJ8Y*=K zCbN4}vG#~h)()?5O^JBSZROT1n<2TW5@B+{Nwu#Wj%wN2t+~D2R%yRxBAFR*IA*`X zY%{=8;m9s#wk((tGu!`@v7#1rY^W7xuC=I^TR_`BzAo)bO) z;*blcUTw73>)O4htj#Ac|8gi})4lS%Q8N~vnDklZ%0_#SeLwZ$lyx(LefK`}Y{Jfp z%l@T@b`MM4G_c=K+dmjPzBPXG*Itv_t-Z2l`MOpI@acOBhJBeh;rm5py_UWa{CmmW*Xh9&57WWJRxyUw^r8{=)9BE$A?(eD|zT zBZJYseK&TVGxktYO5Z2%{ciZH@qyR>cw^9KJ9Ld7={WtwEnSYaoBI8e=7Sf$?%49g z>n{v&EN?ZwuHE7@<9<3f{leXwO3?#96&g;y({aT5Wrw%SoxJ7T&V);63O}y^cEdG%#6Vw{j`j{lb<2J1V@h!H1i!MZV$WIKy%PkYNYIkV1Emp(i8M$%u#4W+L% z>?#gBA4OPCZF}>-8bXj3#xy>JK+jy;Qf?mW-z3=xLkM&9Gq9C|4E8#*lE#{pe>Nw%$L4n8zw z`THG9Q?B&S>QGc=o_S$`ZO#kde*1{@$I+69hje;(Lzf}bw)~IFeyRJBZw`Ju?z5MB z+;_{iC$@cjdgPybUVLN5Pe+X_&p+}G|GWU_Q z6%o^i!;QT#d)+P?_Ly7|6PsDW;$^vpQ&O)`mCMxC-A&F0>C#wXlH5h*9;>J$SO%*F zn8ny)0iKp*r>3)|!oM^BJ>Ir2PS^-HCPp-$UVd=g?1T?4Y<~LAS@$oPcNH!$r)YPk z-rHf>nPZO+E%@!-j=Mj(_`J1Gy9Zv=|8^}oZOq4YNM7Es?X6A11x0-#UEzGoSZrJ?qo;jfdTW zU-+oU?;W;3eaD(ch7IeIh9+9l3ZFi5aNN!BFWhx0FumI@H1?W#&X^At-sc@Pw`JX4 z>-q0`tm*L0;-6=Iwf=_*Q^(ykVb<>>4P)&I?%@+YbaePpG5=b00yOmzp9XF;2Q4pSGX7DlB(bb7Hw&tACys+WPu+0vLH^ ztSmB8mpp#e*t*;0(eg;Sq?sOiwb#?j>nn%VYkOHI7Q?jZ17E$@YWC(u_fLB5=*)@l z4{Xu%u9j)?&CPBSs~5Nn9K3${GC9oS7$-K1!NAi@ZW_ad)rwe35%OOSl4i!VJ%weI z49lpxjVEmn#eHYw zT`;n>wz(bN#r=Ivq4}TyjDojNkBjFN}?mNI13@(~IX3{1fDVxjkB%Ter+Ny(HnC6U`Q- zTjv*KY#L`;Rq#>wIkt};ed^ZpE%OZ>+Z7k>bF4eGV8e(X0|T||H7VKc+Fo91sk)c{B++ zQvJC^Ys%M%5-byMuyMY<8}fC>Ij6k#l;&T&du~SJk$sPS=-z#P+e2SX43(b#>D|7z zbL;!Xjo&$-rgr@8gYz%9HT~M?A^kgTTaL(WzIyJZ-xfWwZy^Qn2imRDU5UV-N#@~gaeBDaEg3WeL-r5`ETJp zznk9P+c~XwrT+Wdjz2JWMmOWkhCL1Tf3#+1`PF~izkSft%nJVRH_r{$u1z z`N#X8eQVf?c7A-V?J73>)S|oUh1Z&EksqQeSkrs|Pmaz0=CH0otBi%^MeL9f+Q6U& zbO@S2P0^Se!ITEK`eds)(+UrJ$NZ%UUimR+SKQ};S2~~0JpI6xxLtF9YZLuz6Ew-V z_hI|Tmp(YS=hNq0AHEh$x|ZLydt-n5?pO5}SFBpS=<2%Z`|Cb@r>0k-?#}AX-QK>| zs$1!~AKr=X?DFGF4>@-a`XO=1+jx5Kl^qK^AO0b2^{jR$3>Rh>efa8??JN2g^;`G! qRfA>0Ta8x#vh~QX?~m_#;n=87zZ{r#+rTTWm&+?Z-!OEiB>gWPIV)5E literal 0 HcmV?d00001 diff --git a/docs/scaladoc/lib/open-sans-v13-latin-400i.woff b/docs/scaladoc/lib/open-sans-v13-latin-400i.woff new file mode 100644 index 0000000000000000000000000000000000000000..c13ef910066d78cce722587fc1db7ff458ca2b27 GIT binary patch literal 27252 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

    rz(#v9hHwjU; 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%0AFPX_$oWVSJ?r+$`0^Vc7U(41ALVo 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 NJ^r4-t1mN*{|BJyceVfk literal 0 HcmV?d00001 diff --git a/docs/scaladoc/lib/open-sans-v13-latin-700.woff b/docs/scaladoc/lib/open-sans-v13-latin-700.woff new file mode 100644 index 0000000000000000000000000000000000000000..ec478e57a58f27fa5102bc650e428168cdadfa95 GIT binary patch literal 25940 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≦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 literal 0 HcmV?d00001 diff --git a/docs/scaladoc/lib/open-sans-v13-latin-700i.ttf b/docs/scaladoc/lib/open-sans-v13-latin-700i.ttf new file mode 100644 index 0000000000000000000000000000000000000000..a670e14265a806cffbc66ea3be0083e14369fffa GIT binary patch literal 213168 zcmb@u3tUvy_Bg)xIcLs17?@!O7~ae<42XybBaEoPfV@HEB{GNzii#+r;oArm5k--F zreNPWb;W)Qo#-}n3bfBx2CpT|CXuf5)D z?R5rWgpeBkFsN5@K}Oo0jKNYwhxJFueR5iIN-7Gb-$QhWFZA+H%NB9b5<7*7e$8s43oZsaPrFt?~55< zJF>zr;H&Rp{x4v@qMC~76Gi>;d+``|?_fl5hrOZ7uIT>=Zx*cTU{-Lh_z z6-!!S3@M_>UHAv@Nm{Mj5R%@9=Xc;a!h3{A!e4q5=|gWvEyx26K_Ylli6T%byedZP zU@VMi<`{Jto*>a$krD0(2rYdcjV9AjP7;Ps$up)*v=16BjD7|k9)0SUgJ3E9cT;8RVrd_P0V8y&D=t>MAgt1!I6NXMNM$M7Ddxa+X-q5cZ9hO z_YEjoEJM*O9HL8T7PHyjUV~?G0Dl77CTd2l%mH*j9D)uomu-ufMs$eDv>l_i*sjoJ z=qj|+m{{aS8*QmfE$(2Bq7vp9GSF9{CFfI63DsdUFom{O<{~ms<>cU=FpGq9aU3#` z`^--Ap6xJs2gWtfr;vtDM`iG=mhnQP*&I~QB-qw5A+|btv+X=}$@YY)!Y83!M{pqE z-Uhfsn*ndXLt6(2;0>RoZz4BS+e8W*SgB{|?}u++&dKDP2R}Lp8Jn^@F1n z`rl-3*ba;0&~m_cBi?L_g!^--M`$CwkHm6RVLzJa9ncT({@)I9D9{6F!P9}z!hR4s zbUlDp1_vDoExH~6*BrR6B(&&y@U$Q_OXUQ-6MX;WV4ng$2`zvQT@Qf{JPm@#IkO&c z;-CYeMc0Gy*-jM3(}K{$aR4oNnnBC+9nAgLmaLth|8H8JN6CAzejav$9|G(D&=P(o zJoUFN@H$x!;d#>Xd=KmV@2zdGW>4>CyPKxl1mbzXy964@Z~`Cr=v z)BtkRhsZ83KM80Hv;n*v1Ks|&Es=L#=7_u#I@{%*$R3gZt}S)dCIgwf!P9;pDj_^i z_>S-_&o>TOYq1IBY6g>z=RmuYD#uC8dddxNu@%B~KR7f@Efo!I5gCifok)fP*>Dud zsG!Y3@uEY}R-$<7Axh)tdknZ{;kaZw&GQVvMrba22z&=J#?$YNt;wP1m@wN#f^$(D zyaTes6x%KmT#@y$&A?Njc{K_ zy$sLkz0eQ(z?v)heuQV1+cpzD!i+|v;dv>ME71YaYsYLy`2LSTJ~_CCF9?&xJT9qYum=JndlXQTe~hHJS*OAJ0_lE?{f^+cM50^Yvplu7_RO3 z5*@SkBV(}-ZH>$c(1Uh60J=L`)COY^n?Uf`6<1_Ff-4x)fh*Bf=raNxkVsIpguu2G zZDTLNJY=q0$VVcF_BPBx^wLhyBdcJ&7eODNgKLm;@lM-aCK7o8-UPj}0dRKLc7iPg z9>34yQot$L2BJrJdjb5&`oR0d9y~_X0P|+JUo9>})uKvN%GSWWIj9Qy2e3O~jBPLn z(J4d^z}#dUB0JA@Aoqm54RhW`kv#nf420(|!Z^TNKqrGk9{$?$`~iLGODI&lQ#imD z_5jbW4vuPKdb4l)nHm1q%~!mI^fV-6}K z{6}cb^DXcW+mE|XZ3lk|q0tg#Gmr!H!Yq*io*BU|wxeoS)YbB9r4!aqR7O}9V3n)(P1u}qOo)WOrn{AEaO1N%^>r1xn%tqT<@eQ~p{BXk7 z&P3Wa6Wu`Mvr}&y!7nO<@$9YiKAI(|2bf#{HYFVS-piEW=)72e-W2dPJJ11*55d!E&`rc&COT>} ziX-|Da2+Q`(B42NfR7f6l29Y?;BN6n(6?c>6JoIW;s~I}P2e3lz_T6jJOXUP0azc{ z7d9Gjw&*|c;lRuPU#$bL|6f}|Goo9C)^^Q-*Z8_@7#b?*5PV zD2f5yQ4Ys8gr40JT5@g$_2xJ_IPhCisUllBIq1u166o6!x()n>>>SI}v64u{|B%Y@>WA6Lpw6 zNu8puQoqrdrfDgyp!M`Zx`kd$ucp_~Z_)ptx6^0of6`ww&deYtmnmh2GxM1?W-0R# z^D%RlIVV#4WB&yICjXQEpZovn|C|4x0Ry#8T6e9#Hc%U^?WHwp`)d1ZleH7IGqerb z&DyQn9XgRtt@F@nb%DBIT~A$EAQi|4Dgsr3-huvsVS(v^<$#1%mU_BW*MyGD07ba(jWQ9`_J~@;QyKbY5zz5zr#9^R;|@&wfs7ww6XSe zOonxAf_1#}mvs!aufw&=Ix1lu2-eYIv)OLa18p~LpHQc5pCANnxa|{LJNgLiMisUU zLPy&wu8Et+O|@0oM%qT$hM_UGWb2nmV?Ad*i=@`G)-$$0t!KEo97LwpwVbzg4MLop zbFx-(Qtn4MzTu=l6#w9PbLJ2A2>noh)8&U*H=Vyvy7Az~{Tugg{Cwlajq5kA-1ygx z3pY;R`0U1-8&hvUrs#&}4W}E@?a~T0u_;<*0(%ByAJp13AkUSIlw?k+6Fgq(VBRwrOC3!$nqB$Wx zu7AJ2v3*Q2(UH9(dWQGt77}a-(g*4SJl$NC3KwT5nN%WXMGQ@0)I-~j%TwBEgVr^* zLZ70qNDuF!P4TQs4)2koPc3iPR%qLyVS@GP@C0t@E84Z?+V)^*D!SY*Z#P5F(SPY_ z7J8aHdt#-wKk84W&}-YzBJcg~abd`jFdGAQ-h zmOl_IM}O}wtfR}F3i}<_p!@@ohwapWcAQ_VBmaC-fhsL6sd{Z{OL=`d@K4ACG8|(_`O7f+Vjp1`VAghtL82|Dd}s@FRKg8yDxBz(`orILu|Wcd z5{Sd!B}|^wUt5fQkfS$%(H^Qz8I^4BN3LHO6fS7PfON-bEV+bn2BiDwKppV^!h2Bg zSZkjcUY8I8q?2dl5vVkHECF5~K<){6_ap+ME!L0HTl7`hc5`kqK@mX@PZ2vZc=`ww z%qlGIdesG4fF`7a$2{ij$ZSsy>%<{JZhIPk?Z7qg*Ncxc9FMgv5`9)d3!#MGJ|F_f zGujbhcXJ9o_e2|WNsD8 z!dZn$;XObNChgMW1$n#7ctJr)@j=+^(Jm+~-c4a@KzWj7R}efaKBz^=%-^NRU2>Cj z(UJ=?Qa)Tr`2Icz%?QorpECRn{(9sAjQD#(C%A{v$ODvcPs#V&70gd$hJb$L0Y-RY zc8tKlJ&AB{Hh<4T{_R2pqh^`NEHO*Xa>|+V*#%GoWN_yYc%)K{_Q= z5Me_eKpOZTTw8rSkVzj8fUxp*nSNAKyOTbN+)p6)6NLLLxi8iywPOzqug?a#%WcQ- zw{U2&4n$Jxeafdrd5=)a0t%=_c`Mw!OsY%Q4%T9Na6mde*q^oqsJ&kds{* z5Zqfi*kBAA?4`B^h#6Y|3(p5;`v+8J}&KH>|t~t?1~kGl}5$j_Y~(8R4)Yvr(iHPqQSMO0lkMFAV!JsY!58L z2k@)A3Jb!*vJQxCU`M36L)-C!c0&RAYtAcaXBV`i!6ieBcVWE5($w0DlKisTqY8@K zwSJbY_DVQW`t9;SNtU|0urPAK->|x}y2<2>|3gmrf1YIsa^7x8gK}V3OoOI~_KCV= zdEg=JmmzmF3;fu-1n2%AFQCopX9B50GcdN6Tl*SIXPv$K~HS2RTo4e%twxOM=UM zmkvdYVwhr?;+W!VWw5eDxm0<@HPkiV^)=TEDv2sw^^)oh)diJRou;;^H>t0wuerIn z4R(9O?U8$5_agV*?pHj9c)aRy!Q+v~Q%#*_iROgnp=Yq?M9&t_&pm(jeCieKmF89F zb;#>WuUlTvytBMZy=%N*@ow{e%X_yE_Hp*{_lfW^`{etK^qK6_@K{CfoJ|Ki^f;2hu| z5D}0VusL9F!0~{u0)7biT`SUNY2VPktNl=WM*E%izOKJ+psq|eLD!&b)4i_Ssym?j zOm|s#NB1<)DbP2tM_^oFMqpmxp}^CDR|4+_cIch;{`&6v7=4<4h`vfcUB6JjM!#ME zf&QfalKv%{pLs~=DhwKdbIOKe{p56Y@ z?NGPRyM5j5`)e4I3Bsa#(BF`mmj0H+qEjXbblV?-3ps zo)cacJ~n)E`0DTv!q0?1>gm+8U(d3h%X@y<^Q#C&gg&B2L}Ely#JGrth!qk4h&UW^ zJmQOpA0zHZJdWUcvArz4Dte9WwW!zfUa$8$-|KR(KO=FZF|uFefXH=`nj?SO3Lw$Fh+pZB@a=a)XuV&$>^vDLA&Vvomu5&Ko_kFodrCih*`_f+41_5G!v zM?e35mVOoe#`fFNZ)d+>`p5O3(7&Pow*J@q|J46s|0i)MP7!frETE;Vm9|Cxvr>k>as{4DXCBq}K(>E)y?NjsDFB^^on zH0f;8*8_SEh#62nV1KeGc~tU_s(l{M_+-$KS6B zsu^0-T61|q;Dpy}y=#MOqiV})Pt=~N{rAM)6Kf{EJ@MN~Zj;7LdVA8(FGamH^Q9dx zeP5Scw_&o=2%lWfzzX=H%$L*`oE_CGTk~uF+(>aYR1$V2WNaf<6krG&alo@%+${8HnZ2v zq?rXXN6nlzbHU8jGq=zDVCI>b-_3kD3(pFfl|8F$*2GyKzASw?@8vZwU#wTu52(+o z-}nmiO4%#>8YB%v8n(@*X6MXaIs57y-JG&Hug|$R=a0E*b2rT0G55gSQ*-|{_wHP- zQP~*S*t;>cvAD6iv7vE!Bpug^JVjW=l7g%o}WLz za{i3@t@GE<-#P!I`RC?epZ{w!)vRjvZ|>e4)11^?&|KL(rManjRr8kS{mq{>Uv9qB z{Ko>kz9>q_EPIy zbtX8D(it85tEd^)X3@TfRs}wi@Q&JjZXNqP(m2; zOi;x}3@;lN*$eB{I@~+P80F#a#_9uuar3Wl;6m%NaTUq=6D%3|_!fQs>4zobvr~qQ z&m!ZWqPNh8>`*!HWhpUDqXgrbC>V-{vEZN#tB?_r*^Oga-BY9nnVhgf7Z=^1$nrqtY}$=^=-r0&wB`zq|7+M&X_X_u#*oP25W1C^CM zk#d~Q`ROcIg;$f~>`&+MYus3Jod4-31h_NW7Bc1FhxsD|3PS_ThA6r}AJ*Fwxr+mP zc<~fSAdE81=t};;8UiVIH)E74y0^xSBHR+)TSZvMfc01%NMJWck%heYlwuQx_em^! zJn_iPMQyc*W-VMvU43@qA!CjWN$+V2O^^6v{NWj|F0DTD^1_wOQ_i-s9J8;M*KFag zFWb82AK35J4U3)vD|K{CJYG>T;bcX5iZ@=}h4m}m09qx(PS`5&l6_DR>V-^Z zKgx#*au4)0_{!WE##4b+im-te1;YepTNt&#{(=a&YGPf1V(@=tFP$z#SW%3L5Qhka zQlyTFG3h8VCQI`$Mww`yO!`1_DGKK{roZ>Y`DAM26P9rtM3W&N-? zb!b{$b=9Q7{ktV)c#fEQZ2!`86?11FyYcoC?x$tkpRsdlxRVEPu5nyWVo^V8QopMH zvBqH;JxQ@0kub`@OPF*wMWpMDAX~g#2_gl(GP%QaI`ncvvOP2{3qc79pc$0F=M?3t zRO_kCKQN71+aFVYUWvVM0hNHAxSy@NxDUB6xbLwHX0p|AhpB29Lk43=XehZMV_+pk z>yWFGHma!VCpOql{%!J|m2?TW-TD#tC#9pBVQ(OSdjc@*ppuwo)_`1)bT@3$+95TF z4QkK|AqImqL*ZH~qLUt~~?iaX)WbGtGw6Z>s#?4fFTrbqpGQmz*mx8aLMailTI8OP06G2wx>@Cg+RyRSvVHpl)o>f3oTNj zR3m$ty690ahXSqZ)ScM21ysvpp0b2y6eu}@Z>+=g%jAPBGBK?lWPut6UVp=MSc!BXf=X48Q7Z~$K{SCyV?a2AnIi5z?#oZlY{S|Q zaT`~ZyQtihnzv|J9Q`}j-Fo)--yll6{_E2(xyjq>rhJ9xe^fgfR<#eHyTx;Zavvkc zQWkpxfOg?f$Cy}F9DnW=T%tB}_Qib`C67Cg>M$mF>(QH<-)w6(agTI#?w=i zXOVkiXWG-#NoNQcWHE@HTnAa49JnJucoO?(2Z!ipcMoC#8GRrqXoAP+-a5UBZ-e!L zb{Lu554Scpui)-}_+Ulh@nP$?b6iW$jIAFR<;-8x@bcxBBi}If>%Q`1yx*G9^v@}S zuv3(=VbYGPFHabdS@}g?;`?9)ZMOkOxjdHDz~w3>Eyg0XDA&SD)oNPI(gMySjCRvO zEQg+kojeoP(MFvK6q245V}{wDz+FkO?(PM98Kz^~xyZiqJ}#`jf;)*LxbryTXZnqf zu}}JbrB9g3EhaefA^WH>uP+KVyCHS11?ny}8t)tn2!it<3)F5rCy-|ZVK3e#0E7^e z^&Amk;&pTkRlEPIHtzn>DW~Ih?q0jIu4Z&?)j8@n6Q?Oor`Mi6u=QzkPd#=Xxnx#Z znJ$OA%01<-D1fhv0g5@m*Ip&oSqf}~hElQHH<<3{ZBs?TGuZ|-gRr2QYPLj)i6g z^hAQO1Y(GB4t2x2s1JQE)T(55W9E}*a?ltiSlwt?od)SqIMSMxo}tcABc5kLVrTz6 zi*wh75yD3CJSQfM$J-vIfta2cwcXs1Wr0}*kAR#}=Vu+Pcx%<=hF{iw{Rb|6d-AuE z$uCt79#)g#n_V*N;2_bN!qp?@pX}Xwedf{X&$i?4v*&G{_CZz0zVMfa<_#Y=IAaR+ z=CF);Dd{VdbAS>>0BbT&i4X@Rbc7NNFa^*+%t!}WpkU<%rVuCr20{=MU<$&G&;0<< zLV}^>%_NijDYx(b?1{CLXS`e2ovA&rY0t99n@(Tg5)((6vXc9ciA$sJa6fVEFIrH$ zBlc`te{SCvtXcS&Dtt9>h$W+8cp;P_2_9`EQwO?GLv$f6Ews=|cSWJa-R{c*v#PtO zUb@Tqx!SViyqc2qf_)BsOz$WiH!!7We1_GjQ!`VFV&#ai~&mKS>(Q-fm|e_un5J0d>f;{ zKZJ2{GgXo&* zfrt_D*6>rXh3aUXJBFi%K0rpILoQ$DW?i}R0tDV>8Dd!sPKAiU0uW$6c`($NhogpS zwAPam@F8#-;vRC!HZBvO*kZdy-{&=ZFbXoO72v`{Q~|s#RWL#Rg_a;YDZpj7#}!0V z5jGGsybxcoVi$0xx{wDmF6x@8FAr#nnzXd^$4k4;#*SZLPVA=QHcS|voHwC36XK7Y zF)Q*4i=wA#ldsml_eMd}q@iK`Q!=?FL&uSrB%9!<)RxMg0D0|$l2Me|OX3u(dZ5JK zX2$IF&UMXx?()@76!6nsB%DzdHQ~rJTGI(w*7H!wJGjqjtigN#%^iF^<{e97CUzkD{e%`XCavFD*dt`l#qxY|zF=PAc&-YGg+W)p_ z-=>YLj%iu%)(N+sfG_-E#n6Qv>66E71U{byae#@}XrLw3DBGfD5J}$8+Bm@hl7tXsdd*P~OAD=wMaX)^EOTVxGq;_g`3v+rScjEo68wYY7192Eu zVHO{}72f}8zhJ_5fDKU?U_*-3L^H9fYzuq^Rrj z!Nq~dEygZ5q~pqpZ(m-zpzd?J74+fAZ$$gJ?>nki7JRTHPrrC`5+<38fJ zX8Rng`PKND6=V*UrLamEUqB(@psqvW(Ht4DXAH*-!k7DSA!M{>tDP1#Knp+K+wjW< zZ$l)P1AgR;$P4h}post~@iug@8oky|6G9SD9D+-0QtPNklyT$yTeCSU_v6=i9`~=0 z>oQjiS@Y|{rK_^blDI$UXe--Ohl4??nW(kyGp1^Xc9B z?d|y;IZ!Nvxg%UYwHwBA29E>uD$o>M2%c>td(nX*(Zm4*4-f*;=CWbM*&}E9Vgruk z&iDQ|m+xbBo6#t$d^+im>s{6=M|!hTPEoXz6HCKlJJ+g;<#j%32!ynlUoaV*nZoV7 zP+ub~c=dX`29LGwq;gZO5VKg5&fs6I$#!0(2``EORt%M30IQwzc<%_X7fmo`0|AK< z?R%CJ4w{E61&neMoI8R2*Bq^00bwJk6x`{`-?>%bA*D?t7~gru;ydk0tXdd3)|8 zQ9u$*;vhC3f?&NEbRW!tjWH^q_cd-iw~l4BflK+pN8v(79 z>}maS#^-fSGiIEeIG5he-Qp5|z#*V)r1-=8+;#u`+{Yg*U$qm*f4by#LGLhIU~OVR zJjkjXbe&wTa8W5h-6=rV3)v0ciMQ)iksH!M7=d+B9+a%ll1;}lDKqyj_jQp#?fgei zXtrhY-W|Vk_pG2-FY;>y13=cOge;iOtQ3h|TtTZt9#Rb2T}&hxQd|(yAy4I}{A$G{ z{r9&E{^Ki-TeI8yZ`XXB(~aP!;q?Du-8*326667TMXi>~k#r!a7P-5VN-hB;*w^0G z)bR)i2Bj;k9$alPa2KV@X_r;0z zH%->%R3zcwQ1F+Fzys0~zuw88_VDn@wsS%y_&ngKB+W?rBP5o|Rv@H(m=caGyWnCM3) z?oDPdrZ|qQrWI`ET6o_LxtXPIGMZ67XI+x$qbWYO&>M6wWH(7#&!iTuJrxUziu>v} z#c>?@iR*{6Ue$gAdAS_!G56@^C+SJ_>m6e=jl0*ZrdN_V4uH;|1amkec>Y9# z$o$nbqfv-xZ}^&tXmGm*;i;=r1C@>7fP(&TgA=0MbaY5>6MesD3U`>>8IA*33Cntv zDDWig;x1*wilHbm+B$>V;z2R=(`9R{k+8Dwdq0Xc-|?f39j`5WWzM&>FQ}UHi;7bL z8rvdR-3)-n33;035+@PGFjCO5c4&BYrqj_dF)R}PGL_u>JGjZ*cFKGoo7doRxY&A) z3b5XwI;ca|rxa@qBWr|OPf-GlDgmt`gJ1!Pu$U$`ir@`0;D9<|NT6&To{EdCtEO@1 zr`^SU=+RVe#|-OvDuQk%@ErpVX@`-d;IFI1j7Y?Q*`+B7#=x<>tH9gdt{E9%7$O_1 zJHmo#sr5!Qy)Crk5mk7KzK7B09gyC}wkwcz1k8Zuad}@v(JY3XAs`>X0t}1wkQv;| zh2VO8Is6iL^%8fOeR|>P4p`S!P$(p#rul58Bl88!g>PKv{!K`+2Rmc@$?=*{8iPUKpmjfXaYP?{RE<|H z|HrF8FRo|}k;MLV|CS3ge?ZFYoPi0+voZ#_UHte{Jmy4UZrihsOW*!&{;j2H!(P2R zxwx3XVgOjGU@rqq017jE$XsQvVh~EXJ8}n5lww~1%MnQfGzlan9uWacBz`){u!QJ= zvY-cuNQoUG4+)Iu@MZs4aR1d$@+Ez5gZzZYhlWXV=7cA|oST_AU}hFm_sx+b+#6qR zYGd8F>-(mRNdJBA?dII_mS3l|1JwXW^drC#pWzfc^T=@{$Po+}xMKoNgsczo2kprP z2*U8wQ+KLt+II`|~qu$c(D4%Z}`+5J~}gNE(c!zA(=@B$9D=V|044kOu}N zQ3s0Gd4|9KF8A9%e|j5x@80z(x10OiNR25UvSic_dhLd~ih|)C`QM*ChX?Q3wB&=+ z?ruZJ2KTxNMLpPN;N0jd@O7L&>TdRs%Y40*z%5GT1>krokO;8mW2ch?FhE+TtE$!~ zP$aD@m^`uADAv@0t%(1C*`IX3TFAe0}ydJsdme41b z78V|PFY?`h@Wf6G;XW_C;%jm@TXWtYQa7EQMpS-p>ZYxk zGKJUx18D9V;8ri>Yj#mOxw)}v7B{6FVJF~HBd84_4F?w9o?aoI4J6M&I(Z%t)91Mh z3zg$bSA~t>E)cm4>7FQwUtQVqnucmkHqQFt3oep%d;gQK1`gZ$dd4_jN5G#}m{SIO zIcl&x(hLiYoE4xW5@14Lw&zJ3;#c6L;X^XAi%VZqau@F5a8czDOMKtlkIcmL za{2}uX`FTLDqjSul|{-x1-uj`cxHqf2~1I%=j7@_$mb+g8-bv7_LVR;`QX?EZJH+T zLW^=l>B=7Egt#LF;@EU3Sl1mzLkbbvp|Yp0-EEwR>veKC^(fd z1~-yRCi}=lf6<1vtZ7-RvZfEf5v|W?I)^yqy zyH#6wzpY@pQ6djW2O<~!=qhdLo7^zaZq+Uw{fK+>T&CsC1>6ocbNffXH{V!bw`za^ zfQeXs4-{m#H4Wgck_8;Lp%YVOX=+Z zn*xE??<^A`rOe%lFlR!PtH6{rF|&Xbf%`K18Ir9lBh`TN4vXwr&`>Vv^3R1J1EZM9uUvhmk6m02#bWM$YCMuK~dbF-;H}S z<&BNGqch89lwUn_YU9YoQ)5%j#j_^hNrzAQ>z|Y)_6bYwo!nfy{e$6`3XNeQ{lXK- zE-xwrNNPpd$P=)xR=Ap-++18;-BK;C3K2@Ph&q8GRT6jWF!KrV(T$_->8e2P5&36jDoRkq_hUsSp7xJkP}tHULHdg&9wQigtxSO7MeV z55zT!)6+dLtq=#tyd^!aGJGv7k9QKHn~?}LyR|I@9E5Uj0*=--p?p*ulk{L z`KU;k>pZw8Ct9k=vU0#|3G?uS`F$NTqE zNAG-QEr2nfK$KM}+6VjDK2YyZtJMK=xs3J?5P~7_Px(kt-CGads7VcG-zWzA4-PuN zi7giMezH5SS52mvQ|H5HwtB<`AKFzIS(2wn3co$LKoKM!&^LPPyDlLLoUr&-K?Q7L zExJJ^W^$L#`ANJd<@89|?W>9D_I<;Q*yIB#5CxqCqp}f-Jm5E_cEiSxQ0rlYx{H%n zuCOjobUZa7qPhWa2NSquQXe0cAsC=n0o)`d>WE;q?ruDcMhGSVYF4k0289RfFhvt# zgwOY2JJ*Dvz8t_Kz`MsAKG+pLtXPrcwYYYh!oX%^go^e(>63gg#dXoG!V2z(?Tf#s z6EkpV?F1L8aZ6ar9)I_kZZ`<8*H9shfv$)Bif-Uv%T+4a9$~S94PX=4;cNrj#=ggj zS$k1QJ$Q?tsQ|2KUK#V10D_hPeT9o+>SIQ|Zmupem-RBvj2pA2UuA_Qo7#|Mx?STN z14yu;yD~>P8D4@zZB1Flh7$+8Ex5G-M3P0rjCHfPhTZzM@K_et@wnGFRp0*m z#5suf>JZ21ne7mvgg{iK)u@%;lw2y3h~3=-#0o=zA;B=*&|rAaaL(|+ATf}*|I;W} zK4+uuZ3;1INaSMDkaz*UOCWV&A>t5Iu!%3QA#5(Ku^q{jjQmwG(o3Crl)C z1hXuXfy8*Ac(ayOsa5$F1Rsej)L2TZ6*3ovOTI;{P{^@6D<_p9AVUK3Je9|xeg%Mz zwWAW0BLrC_&=Ql9NT`E^EP{?I$934mv8O{id^-#s5!}@XX#6@tj(?0p=_)G6>b|>W z_tmTLhx!G!rk_i>7`g6)3=9KRrzj!9o)G|fhs^_C=84pIoaY)kKmk$+zCD2rkWkbe zcB;VRj|@|5BD=AEE>axm2d3AN;0G_iGt45C=gmGKnXiKYEc5#uf^#6$+-XRfVb$<) z-TVA}e8-Ob<;_qT@aSl8?~W^9%-iwq$e~GPQ)c5zWBicH$Y|<`Wkqt}sMwY76dx_D z4oeEDK5@8CKdSFr2eYn^O^pp1&@*-gj`kWF6EnDH!0=u*05@)Bo-nB_1KQgSx$JeO zX*K*N3#l~)<|H8xq>J@|hUdW#ZXGUNiuM-Xx2V>rEW>ny`fEyh|ncP&2F)9dZz^EX7 zASA*z*H+b5g*EnTY&`zmFJCTMlJ!!@E1%)A&rjlEr%!O3&z|Ep9&6o%{WfjI-fz9d z-P*F5ySb5mw5)Z0OMvf3v44Dhqa%H1U+xZh=Tq*@QzyC2U!21wpKj)U+`I*QZQ6vr zw!F>#2pq7QdPvuZP9j&(0-k1>Od*C1U?)#;0IcTtS5e1>u!j$~3G6TCxIm!X-SDI_ zFO{yXoZg=eS-XC%gvyN!&xtP17)3o?JbTJ_)5nxplS->zD|jQj`r~P}Fk?FW5<~+d zAz42ZXZCky!6!lp_TVVkijnscVUY;CNGVF9wdeMLtROES>~O-{B7P$bu&ah0btqXh z2u(U(`Vn`h`SIuYHePmwyR+c&X(|?t#j_$%P7!^xnf9WKLCO@M<2}qy z>WOkZT#n^lpss-3h7BVHF;GbbF(v45@Gt^{U(nv0hix1>?5)z$4Q0bN3_CJ3F{xx| zV&YI{65K1>P&#bG(2@;h2}4Wc6Uv5@*+5l54bFY=yrJ#^A}6_%6l0d5h^hc&^A6<; zwWy>Pr%OF5w~RhOZM4^)I+G!u z;>}Ih8cDH^I%b`&$F8;g{fzpe(UqB-C(K&jqr7zv9!h0yxiU1qk8k&G`Ril*zfzG} zJ!&+p0HabWmJS!4g4|MwSp$1l3Qd6KBh5L@HH}E4k^1Wc6jEKM+7Utu;2(E_JiuM2 zUe>=*5=kQV@X>W^zuukI8dX0hdqnT}hQN}-ir(Qxqw|-%Gj|R1c*qogM%UK3F2L*K z^tiqTN@+NbcQQGtB^lZ?(d|n+2uHC_z)#ICk+VG&B-xQr^9u;45 z?Q=99*1<>oN5HG{Ch?|9?jqJGJbYZ}G>eOe%n@)ABT3N5TWhj`WskQ=eGf^M!LG%& zgkB{}!$&~ObxXxgS!o>T#!7rrxG!-L4sTZC(*B7TFXD^OHntxR@l9IB9b_}Dv&gOw zS`NPsxtq^7srO4HF7T}>DSHM60KEcJ5^2+u+7eQhYt%8jH*R?=zVMqbF5RU{;kW2= z|7?e<>Zi}ZwWSb9e+);FOqY^uRz!pgi@Y6^tjM7Kxu9q4clKUaBIy7MR?xZL0^N8TLGEMYjUW=!gL!N7KhNy0gMJ_~}D@21twW2oBd!lnt z_9iA}Z$$ElI{y!Cj$sFxhV4qBVN6`@M_2>uob%!)9Kjl*&NW=*>o^COjp2-{=choC z3W$tJ1$GFfp`gA4Z1}9}@cXw^f7;KwA4&JX#xZQhMMo3rk-nr3A_PsQC&5!kU*S#h zZbWw3_?}JBvl*lhMy0`hhqgamV%-mvo&q1mNcT`!ER4$Mv}VwdiUbZ1=4)rX!FQF? z-rkBJzRpe|RRj`26{1RetsRN}>=`wahUY%eec(cyOkHCNYKx1yZsN=ozS!>Sbttx* zFn?I8Qi99*@-teXZsWP52!&v&sy0m!kxHr(in}lrdhna4{H6yfe*hK)+xwgx5NDCSccN$< zbyrxe$82oJxlFF;3U`2B%j7yLumT5B$m-pY%dOzc?d-K!xST4sZUYXR#krA+Hh@1E zxJHa-Qt+$Ga34Tt*75l3CeXn41CJf-Y{$-j^q7k3g&uBy(*tM_EA&vk*n?nLn57!L z6@p<3e)pM>nqU}Ygr37g(!&mk|BI0DJ$~=fW2ysI2PAxte?ISlvurQD2npZgW1iN+ zEY-G|FG2$P$pDcQsl_7|IS_?_Mc7p9P+t5qcP2>_KQP zz){VQL8K{y?-C8RZw{6-N@gv1K`OH>0u6_sNw@|sEAomU-w|RH2KN~j32Ju-cX2fi z$B}EGxF&oh6rfyKMP0z*Yq^U!Y!zIdho{g5e7;KCcF}H#zuX~{5ln2luU7A&@Zdk! z(myXr;l+#CbfNT|1mpa7FG7?qlvZhQusQ^LfTODts;lk8(O&MxE z`^wpuBvfI_PLXv_zp|IVm}IZCN?Ta>TFVu_)+)Pk%F_9k{oIj{v?5 z7;Goo0|mXFnZ~`teNz-K6az--A3d>Fnig$6mPv>F#{J4&5$(Hmkqc>>wif{4IzUgk z!CrA+)Whr=Q@YEgOgicYii>bffn;>T~y35CG?wm!cd>+otw0ub_T zWM|f1e@%dPJcUeQ5S{bo;}LT*diIDNm-X+jKbSCk?x?cp{Ib-NDMts%?n&_~C=7Q~?#XZbPitd&gpFTOcaAuMrCpJD~%=Bk* zpS};9(7T!a*S{bX=c_na9ngXlKC)=QNASa}d#FHH!P5Q5^Qm?G^UxQcYaQH!qY4=4-xNGL$=OQ ztU_AicG>72In+HPN|`CFTRLzZ4}Hx)xA)bQUo%`)XPvl!sl|wAV_P zZCZF|N%@>8HukWp$C}bN_CVx)x;Ir@m9!&!PsiHymot-6lBcI8(vyVx2Dh00WlM_( z{_BI!@bJ?EhqRSM#&2!;;Ivv@KBi~4n?=7ZxYGdJb9d?sOQ{d|ng^b?P~QO6CxAI{ z?1^o~P&Q@9XcA9zQg{tCe}|`uzAH_-KA#%?pEMiz{C%8tkAL3n#rFwKh4HJe3lxj) zq$yZ3Y5+gNZ@hF5;NAcTC3~>QF$VOYbG!7IYBLKx5u9p)IFf>B zN)eE1QP?-wAdhPQ%m6YhypThH;=w0V?O7^50}Yx+V+5`VQNO?rRCQp<)cGUsWq+J! zUc~+W;WyvU`Dtar!k(;K#qHt=Ns|%>re?g9kR$R7?0G0Ir*U=lI2(HHPj2bSZ_mDs zm8;_uE><)y@6gpAsvJ19dhfWrp@gEaQf3EBq%4n66z4;w9biK1zyy)0>!uT z6!Yo&ysFFdsgSh&s}>mi{5j478HDFAj6a*7pC2FRLqRk=e}SV4c}fWLSKDPc+)f7? z@())b|8NqdndCc+<{+;()mZI}#JS>f@kB8sJrwYne*&f>;Kvj{!q*^mA|k1iNstPO zg8zlDgGA5Mn8B`H&f$w8>uZ@wNg0`miCLLR1JX$gpU_@;ke!v2k(!@FGg$-k(o*x_ zvp5=s!EbJlW|o7+_5;j<#fF~~1&a+Fpk(}0EllS|E7@@;#)bb_jJMc)vXW;7u-L4- zI}WDdTk>e^;lUJ=?fzM#Yg(tJlP&+o^3+qnpRC z7`KvC0Q4!IFm_x_{nxL^@d;0BE|wisa>)_}P@LbBk zz~4N_SsMPi-;2+Q>@V_7s6dUVdQVJE8-V6XniUsu<}OB4q^ z_!tlmM9X>qgHk)Z7~XPkm;B{%ct~&Vn2srCgeuPd_z^<*IkFwN z_wTX}b_Wkd8q6-H`q0o*(4-{Bf^79NxX)Mnh$aCS`@wHyWST=6Hw{usq>?O)vs4OU zf`PbzN~A^blgHo-!uOj{1fzLgZ28=afUmI~-#ZhXL5u_Vey~ptJLMz{>*`$m#bOi| z*N01-Jh{uEI7E-b^=m`dbwCm3z~zHi?_B(SUh?GZ#Ei6=Y1vG4O0LiNrju{Ib@Ex^ z(vqyNj=hg_-s{*t?fUri;+dbjW4a@+DM(@|Y7w$f5WV5?>sF$d@p}Abe67A;gY3`v^q7$OwQr42p?Bk={85 z*G~jrt_foR@5jP6I&g;l%}(g4zSH>k1~}d$Qni_1Ke!h#auzxu%-yNch##_3yd6f) zviHcr3t?_d0)((=A!=j8A!>uK3Bk(yC=u-eKawMtYg{yt%*fVY$knU<4{2WlS5>wB zfA%@&-V0pd4h)w`;4+Gc%#)~G5fKm&iBOz!&LPw?Q$kWRa?Z3I(kx$tna|A3tgOu0 zobs8O`OIfNn|zs>uY9K5&HuahxfjrSzu)ik`De;>*k|vx*Is*#-{q_5JmD>Lg$P}a zCs(QrofYAHB5wxH4$cq52VKLqgzXpIqEG>bZNk9o%O)O7{RewEn`xF(o zsY!?S?%nI$x1H=dp*ax>PNdY$VYeAW1AKga`qo-~eM8NmNFbE(Au?164Kv53nEHROvj_c&nW5wvjD+1+8 zWJG;`gilsC(-D59v0})^=lYGMojCxyT7;KHc!!{0J*`o`^}K-c%1ohw30)VNo43WT zGauLP2@lgYaqhJ-%3Ge(#%MkFG)9m(_u3fc9BLfxo}v91Uy75jjZx7uR2!r9#W^sNi2}W9VDQfK`H;LNElzpz}$UK3L;+WYi)*7vC?#_w}s*aM#M=eItI?-q_FO zM|DXGZ3pFik%fZnRTCp)PV-Mv_9`-W@gt%juhOBC2e*=VtCXZ58cFgVQsigszxGyx zR4xyv?^Cs+@{Ztj7(c}8E%$0Gb^G)H_u#J-(pi^rE7KGF8*Qb2t>*>j3^kdUdly=% zoGXFl#5?m;Wc1?uP&XyLoZH~$#A}$WFJjByTAr_j(sM1%*TwwqG+&g9g17F<^2J*F zMEbPP@kM6Zo*A7q*{AFgtD!O@Xa+5B{mH()VIXa$pX-TrY!U6fH@-zaZz+@KQB5Si z#27T|0;20Wo=3UE+V9aCTcX4o>5kZ-dsllJ(S;mlZ+TfVY-1kem=;vP6BX@#Ge<($ zQ=6+Qx4wtu*EHu8q8d1Bi`Xg55PZ{**_}DqfBdJsAiSdS6rEPR44!%qSw_=90O=Up zDmN({t|h>v`$1QS|2o^IL;hdx{aweNU(S*zJ~e?Ku0cU3yBL0Cy1b3+D~`U#$KeQw zcgSb)Zli?iTD=GEde9$!K(w0@-UAw2EAK=~4P_M4_;Rvi!uJdLnNi)wUf6_Gl#Q`R z8=Vd8l>KPE67E_le5Z6%rD`;1)3jZ2M*xI$nk()TVb@8T_oYpX$DU9Hs5XL-dd{5;Yi}IFpCPH^8J&ZbZ8pUm?p$@geXTz)ZEPOtpem6ly**qv+nUGg*9CTY+jR zYt$!1%w<-76q)k8Du^kzO|8YM&GAfKAeY@LJ#&WS08TR2EJaGu4r^eLH6RG}HbG_p zIkc<)6IG>pA@<;K> zx2u51<*ili>(a9Q;&6FVrk=jY=`nPGyM%UeZzUmqtP^uun!1T!I;J31(zSK9Jc>P3*Dj~_m!55&_F{xV~ey>aZ z#)c2hFJ$^{C&#V%O%yC0O_#?~!P3z8o#XmU>0MG%x42ZEKX7eu(%Q}b<%Nai|N7)h zRVJ4_@JQx!WcZj4>mEU&6Znec?l!UO_)OSd8)k{6O_H)`wXLZ|P{UJ{#_NzWQVKzZ&_8#*5h(%G_1fN)>l*Mnn(|bX?We z5w6;VNGaFRAXY9e5%?gabhB_QFK*;Z)p?*yGL5-8b@>Si*XPSLv_728`9$CI&mr{;}oG*M4N&5 zzNYiOhokeocyCuRW?!~cqhM=%R#a?=w+_;tAbpT_q1EqjS4{x2iTm4Q8iB6(>m1uGNRRSFcr-iMV?dm3#?|wtnt={^Ps#aOcMeKKz?kN0Y$&MfoV`xxNXi;rYkV!J3&e?S5 z8?}@Kcc9x()4)VwQo9Lgb+k*hN$lL%;iJ3DX!pCOqCB{wvRxJJNScpIxjVW9!zTFT zD7&Z&MQc0h%W6AyGI+}I%J3K#6YT5n8!oAojs&Ijm?ihqp*9iGf$Z}qd=E-&p};I| z^;jerX}NlSA|+l+P=-?)55>i+-OJbVGvPdO6M&`811n<%rl}LF>AJuA%=+w3 zow8C=I%Tg<%-q6yg?Q<7JEj!g;;fYK&=sT9Rk(3^l(8ZL{ ztxs)&ISK*ksK8Wr!k{apnHysMDlzRJ2y7l3Mv%8ya_b7)=TRBjt(J+}MWV)C8O@}z zk&Yv8jDIptTQkdB{Lqwn^QKICdYyaqyz;--^y|Nmc(jusz=4TPbLt+L^Y}zTh>VO| zjsLCOADRgE*f3d~(D~X4m0g)r+98INgLbVyB+drzO*+F2XBLt`DRWCxk(D9FSmSy^ z%Q;cBWDtxYqCjE{NDVsW#bSgm?hz7jd$;KexV=N^p0?rkZqpX<-Cyv_=wo~qSj%?U z_P*N{<7_=5SLrBN0r{h$N*Y9QkUcQarVc-tKWhA}v-#UISXJP-H1%xe)Pa@3x!Vh} z-YUj8^%&017&+K|n+Joi`qmXiJzqb&MFzGeAiabZ2XWx=)1(6jlntM1z4EyYuN zTU%(Zwai-QDzKJh*(h%P!#a1Z zt{gl4z8S;ErG-UUw+2rfShcX6)|H1@&Ox;pEF%Yi40J}!*ErdKmcQ&j8_NtiHk7jF zDE}S=i|Qhibd9#Ar-jSN-^oswm654^9eMVMRNuGq{*hW<&^00|C2(_rde$Cq&q)W) zVSHqIHb06A4jcC3Ly<*n!M+=n*%qqc(D=tKpJLsgFxx}ZSZd74h zKk6NKEVuqHp44ZHClmkdNxi=Plj>aYWM^pB ze;BjflRY4POn4HRX4A!U+*6x(cv^V4(b#@O{Uc(;ZcNkaTW4uZGa3zs)+dn|u8*fD z*&~vWSLjQljme_ZqNA^1Qn4*Jy90) zf~7~8hlqN`;#_E0e1wxH@XzkR$0HM72n)hp5V&}RuSdIe6l07;v{Em3Y#o#Qg?frJ z;phACbD;I$YiLEtkH{L?>*TN43QvQAa~UBKQix0j3Nlp{#lvI*upXSD0M_$p z4@K3A6oNQFEM?9`YVdl1q`3o(Of_fn!c1kzPX6lm{8xVJFuU&?a7C2!z!OIwUfwwW z;DklWSkCSII30XkNLe1+94;%Dd=6 zOSLfxM-J~ualb=&`Sj!`1X9RpP?B(t2`^QkB@#d#z%zUhg7iYMGQnhd!MdXs1Ap+q z(B=UINds-t%g^UH$Bb06Gn)^~&tx_?q$|_8(w#RKw}1<1eZmigSdpHxCN<6ws9FXI z_4R-j)Z^890_B3Y1cHv3gZ=;u>I9Q`I{Y}m7F1Kz?YGNxJG8YCt{cWn7xbdFkoVRo zb#esA9+F~kEr591o>7kR*)xlWgFzfDNqr;92|a3^;64hZT*lx%L ztk$Xq8Nw8lbd}YHiqIbBVIyQcx*IjpP*hLU?gHywg0WA|LBAMFMx0VT`K`%i{qmeI zWU^^vrtf6MXPCsIzdXzy$aYT8V{@NWk3RPMlIKqJ6LCY=T=b8+!ZVAFJ!;WqB(M>1claTVu#R&I$10j%P ze5x1&iT@f-$yxY6?TFVTI&6}^EnG2$BWE?-Z1FCxwM8Kh(nf`=i9$x;{8FAjsR7VV zM6Eqlxd?42{?5EdH_EHFamsYRyg;5bG^CfldrXJ?v4@lN{g(|{w*JZMD{C9m`HSTb z_j2^?Q(xRuIg~KKcF!*}`0j99Pw%VYuijU5dN;7F_EijX1}$MeHI>8XUz{;&2y%yZ z!KyqVY}Z671!%A_v9a*d#>V$@`q(J;`j|~}eeg4eCzL1W2m^a~9SfDj~C{`Z; z6vN!6!X}|(TeB6r)k8B$<-Mlzv-q^=pE>~W7?1c>< zXLdU?){zsQl6LP0w~!#c`_ztOEZW()>)B`eCw?*aUUFqfg7?970{h;N#m2Hy+PC0f zBv1yMeGElyyVlMf0Iq|2tXbDC{o5Ry=|-zE2&7#4X}Wyt*%=E5)eL!U*!t_AUS-9V zH8;-x_QH@Mi;72#8!>twJ6~Ry(>)>eM!&U-n3AcFc(Bh4TWbE%CC1S`BL%Y?#GBMc z#PRG>g2Ueu5fNnyW`0Vrmum3vz|=fY=%%?RgkGWP?u5!83jha*bX5{UJRETf7+RWO zkBb}Bc!T*@jJ=wsc*pba`4{tRhD;cdI$#t(Fugpd|JsFY$Mej}yg&1~u;ZWn%#E34 z6Fa5#8(A>;#UazDB}HY#79GOO+|et6USzTu16ZgVzz7UPn~F9SAX9rFC4%*F#jD2g zQ`i3xrvfw9-xZ(2Z8sV`v!rJ>jH9pG|YS5QuAwME*0-d#qZv zvsspa+m~$zF<6vhrvt^V?Ea+Nj5Q|~?b@@6pZ{?1<2igq1iSyQ53uoJnf^a~wTKO7 zgFk)X%6a}D=d1kc`R}j2_Q+1PiD$mhSUH^dhGgCnoE$R{ca3*=itj|R5w{h)QgGko zwa+fKJ;##PdJ}3*V^hX>`IIv>&sIz~JhWI9v2@({x9EOsAuNe(SWuC`P7ew4^_F4u z$-atNjSTQqi?Qkeb8#Eiz7U1zn?u!ibZ(KSFZyGU3&f8^h{mGv@e~GvD@gY6^6Z}9 zIX7m&_?O-c8EZ;Ujf^gtHnrZrgVA71i~Nnhr^XH$SnPAd_U109JavHAzapPle7Iyo zN@F(;U#h#}6SJKzZu7C2eLZO5jY>w~drKNdnZPdsGFe~%LHWv(!44#s9$rmvcO^Kx2%w!!+g*I0={};_+Uan)gVNKL%A&WA6+JLxKoT8-2m9rfu3p3@ z4xhMopo0xd#G~C zvz>e{eCC*OPh~ZBRK!aWh0#k@f<}mT=+1*i!BUh1@#X+;vlWbMy@PW|*MW}Fo`JHU z-azxo#$k>oy+>WyvtabIa~B&Q;#WW9pMHF;!+!OJ>VTr2lZ)74%Y5daF2#BNp-n?Jz)9=>cmBa zdx*}BI_~jnYhJ$3GqRYU{-(>5U##2r6|WdDAu2m{bnj_p1@fNH`1W^aR&C{5)UIFt zWAb;t>t5zJ2hO=!H*h5FF65cOmn1#QtXM2|lM$P048mOyzs$T}e|^=E$3|Aq@5jEcoRH*_TG*(L*^zw?KD&$c-CX=_ z?v&k{wxP=tH(v({_-j^xffm)GrWGV<4@^b$@P#XcGUQ{@p~43SibQE>8VHoetEB^0 zoS1v~@_LqfLhhN&zlqJ{E5@&_TKVwu1i7N_`o_Um{&tGxZM=}Q?#PVOPaJ3ZeWI@q z#l8rMCV<{;@%HsDs`dQ?E41eWsJX-gLYl};1cvqOQtzq!+YY3(0yyua z%C*1vAKXz?DGzt9?%wTrrIEkGNAQ+;bh`srO}9^-2QN#s)Dc*3p@0|C7oldw<|Rc% z0pcr)UPUq)W(Qpf1WFxC_45!!Y3;dh^$ zX#dDD?_BKLWE0RBZ--HBg7zbSbnL8Qo@Majn@MTM*ZktNzJmgR;|JYzo9+ zmq=ylGiL>bFb6Ah?k)99NlofHV&r3UZ3%o9e@~v3>C>rGRD8x5b?V}m-(@G8Z=nZJ zp6RN6(Rvo_{7`9R73DomSCP1jo#Foa4nSWPRr4W|iU4OQ3-%7~1K1#;N1i;VZQbAj41?b~5Xs(RJNR&(bUl!# zvJ(LZH@SDRe4tL3PbU(-pGT$865_@rm5kMVLLYLxWSTVEPk-4IxL@cNJto6JfkFnbqME|c+1~&3tsX+ zwTlg6^S1KF4Vxc%g2jKduglbREdHfc^BWiOi9GR0-B7w0amy`%yIvQJ1Bll>DR?4Q;wA#DV*k2LF~8g2_%FYT*M z^qIoGL0pl1b12UfPqaqH$shH+u)^Rwg8zPkl!xdSMKWD=xuEn$+yE0`^G1?&V?)uh z4IoI?KmZJ(Er!-#pw&}ERm`9`0Yqt0ryg=VSpihSOg927U&4WqA*ElLR#914QWona z=NDamT6i%4E&f9e-;{fO+d+NC$o2klJihGpB4hU~=P(U!oL}4We0%}FyuJ+7p}C8C zS2jY-y|pe`%aO#)$)`eHJi>&R3(+Z;mkSj~FqH#wp}^PGI`?+jGcc6}j8uTxp7tmG zJ(i!#l>;)Jzko{1cYko&)#c;SW8)qveoj65@n#+#!H?e2<|8%dRzeQu>_UFW?V3d% zlDoZJ{};>I-QNLYBw;t@mVL+^BAjp0v(OPD#lV>(d4za`!G&iH!4g9h6B3A87Ydo- z%Je0tfY=bpj=S1R;4^2E<(6fI=F^JvqO%tM)XewuFL){E{a$(Iot2gOnaMq?E6302 zqm+S>=PbByM4i&~>7IXcr@Ec*c5?pnv>@)E50i`SW`Vbh>!+3WC&`OFGuSX!k{=0< zfDpYAyJ9jLRUc2q!>S_bi9pYV7EW#yw-*J5gkT>4ZqP@}S({vRw86#?@vpdJ0k2!A z)t63Z%g|k8dd+v&oh7pxn|9Z+Tfg#K@;oQ}IL;Gts`JD#-n)L%OT^jmo{)bJJ+>UM zAUm zUL$;jKuC3Xt0;}Q*9cdx!3YwH8cR2rI_?EQI5vT0z~6X`Ni2mQ;d6%YlSB9{G@~d} zx8DMy0NX@7*@SaN)iA z&5tHAxHy5?Jo+ke(P_A}GSU3fd9!EiqUC!Ys8*Uze)3ZbwR<`4te-Yv6Q52Jlumc6 zr`&zo$rDGX9bBJ>wPWgt&{@es_w>0}g=kV0y%{b}bkLwVX=*7=4LXC8o+S}e3l0KG zFg|9^`75*3%gDaoxeTOezBZJfQhm;xVjGVz`9E?6n|!;>S{BE z9X8Kg@bpT|!~)&WqL}nRhm$0WK?RX=B8UJGj`1dNm44@*f zUtf<&WQI}oQ-=R6II;MIv@djHQDj>QIQR7gWSv>LXVa! z!$wDYI90v?+FbB6J^j$T%>Py?+r_?ID&Ibfvs}i%D{}1zvU};AY;&EHi`qHSGB~t3 z2ww5RIWZb!FE7AM85fdEzA@Wk@X{*lZWAJwzJYIQCc z+I3RATz~u4#Wf|`j3_pM8BY~AH}WS&3$DNOXEl6)S6AJbMxd_XLFaBxux>bTT~cCC&0ssHyD9t z2-&~@AKu#NNV{J^NdPss{-KsfT_L9%nZ)v3A9MLp*QAB47US|7F)lzz9VU$=raNhZ zy9?6iPO8vr3>S$qzwh|d_uN4tybM&5#Z8HhT<$wSg4D;Vj7D(0QSksG1hqrD>kbf_ z1ug*r@(!hfE&=&guWPr2Dp5k6WaQ;7(rCH_l%~%P{nSEA-tA&s0q~xY+_;E0D#(lo zg#B+dBIVg=^q>ahRuAlx`;G4F*-k413O_!yR}gfY(Z)2BT${jBOSA@cn-r&|vsiBIu4sk`D4iM)cDq3ekq}cA1-W2{K+ZrB0{K+)ip{2%W zrAHzXE0E72$yw9ufA8k}Hd8hsU9@N86P17afyvBrkpJ~k{hoW?xccr#JUE2qgr?sZ z#Lw|-h|u=_Hns~h4X1TOk35bUQ5|ubBTOjACiH^Bw0r<|>j(P#sVe%fwQqc#k4d?R zAtoVNGP0p-kiKC>lf%2B!-nHq`A1*aXYm>$zSw_3=Re6UOy#Or$cdvRKdqo(B&;k@pzPvUdz|&i{dV)uU z4oBBNO%Z2JyMW2v9YcKLhtM1u@o;x9fpcJmEKjUOOge~t2kq#@^ab-~HPsD!fK*0# zS>d{g7jB_vPpUlcp~?LQLt>G226T4FP=uvGzdC&Vt3Dc@GUQP>tlrd*wut)C>X{Ag zTHG-MF%@wQ`$8iCkKVg1)GLH zwf0&5pT8ddob4=_+GlFclih;Yan@IkzCSXzBj-uU1C~ErUGve~2lxk@Z?O846Q3JY zHMQT@I7>9=LGUb49bPBGHqr;g!~~Sq#>5~A)?Nztf^SGE0PyZS%r31#3-@TvjWwBQ zjZs`JLP&2wg9|PDK2ARL!I$;*wS%Ued-l?;=U8ZyJh=AWAtR=|c<bwroF`dFk54w~b|Jur-Gw;c=b&l#BQPY?9nCQ0z z*tEg$JES^-JD?2AXv8kVf(Z&jH=ZD-Vyo`}E`UNz^b-zl?VM`x{7CY1D_iN2i1Y!> zR^vu>$$EZq|A~wB=a;-cTrbaDJYhustevul^Qj5X*!^q!OkGf>tmohG(tln)xs!#j zdp9Qh#IA&^skh$y`fR~~^E(HQq8puNO4Ye~stkt4as{V*A1Ij%eACEm7Q*`0hKGdY zhM95$;>`ibT8#=YCjru@Pi-1aUszr^IGP1SHoe;xix!QovxS+cEg(}+KENO%+gUjE zA_zt`CTbb?mJ(J4H#=dz(-Y}ZkN3Y9eF-Q9J%*YIF z{0sf0Wc*v7Y#z=puzeS9djIS(`yX?Lj|lxW^qXU$q3k42zQh!tpFQ}s6ZGAX3rCYU zx+tQT`W2-aYm6bzwnoRqL=$HRd3(dT=WPxGq(o4Arg7~IgaTboM12ycZZ4-n6KKb< zhoKZBD#cDLez>rv_v_`wUw^sh;iR!-W zy4T=2!)v?6Ca3j_8#|?G_ksbtdMndB@)vz^|2y+4f^M3}PiD!VP0Ni4#cFK0%hRzM z8`-HIl3DTcH=1lZLfLHBBLMk2(Ma~C1;L96v}S0Nid{VsR@I4L`5`~Zu!(>3Gh3Nw z^wfnEBmuf?^N;+T65r$5e$HF$=FxG@r%{F(UHx>QZmavTZ*RYZH48c(#hXd@@?jo8 z(Pv(Y(WDozc54nA4T+9+Ke=!y8#;(3UFD~S^9>{U$)7Q3729(AC3c)+4X%@gz9cwV z@XFz9+AFF7)DtF*E6Rkp1-`yV{2V7ypabcpBKPyu-vvKM)c~G%br`_cLvT_dqv4(2 zgGiE}6pEXeI9c)xjSjLPYA9JuHm@*4Ynv?+EO1e~PboN=g7Iw*S8EI@tB6PV`N~Y- zzs9S<$G&=rpE)_4pC5PRyVqIbu|X`t8B$a8^w1?$?C8)1{Rj6`M~C0|cn?3jA%MrR zZ*0GR^f61`-~%EYzJINyw0hlwzhoB$2yu*+g*azyU;!?Zi^wzc(FX?;4r!U}_ zhmVMqpE|f;b%$ACZg+nRr;2n3U*|NoENR{+uRdS6Odf*Syn@|XkJ$u~mTZyy43N@5 zK?eM;FXe2vLJZ*o5#a=qYlv823fb-%{EBX5<{r5tXC;LS#&9GWX1_9TO$Tts`NFh( z$AQmhfjyG9FWJ1ZA0?8&+k3?jig(6>0#;wYfLPB^gcf!706Uu3P^WSChPgZVw4;Cq zFx$3zEyh9AQ8z5Gj2ilE;wVhwTYvqsljjl*%T6~fw>44YkC8)`Cl4oT6s0zNcSP&< zap}?q^kkA71&Pj|L~gd&9WggFuyzE6*}}Vc#`-{y3^h+2w&{P~r~hTT zFX@pgfNdLbe~7$n-~Tx6woOc4aO{usr~cem)a#(F75oKnloDDBi_ObwwNOyfE3gze zW9{?;%^Rh-q`I4qL^tu;SnZNcz{<> z+icooP3v4Dp(^{aD1(S2iP=CSwab|!M~+{#W$IU}`J=XZEH<~)r0bDUQj0q2Q&*|T z9`kvnss6ojtoMMi@)T#IwO3|P_Z~w_rgI9+K}Q(}3i;wwGv);QMYfdIqDmXd-I$K2 zi#RToy>%|Gc$yz(qa}x+72K(sxf?#538EYip2v~`iU!##3Tnp6s{=PIsDEe7YwLSX z19x&Mf0sK3+X8V@Ab;i|u@IA{#9a=$|_@xAGNr>c7sM=DXg^ZVry0)^OC%fAFZt z(DPMTKYA4Esc)3faUC{a^bbOtDsPi9z=}3bR0Y=F&+O!sC;N1 zTi#b?CWi+hGW;_3ZlrCE2}Li0fV}5ZGbR7@1z0@CC)A6xoF)hyA78 z8N%@BBo#Y4>S8=`TgUaSmEz+)6FeiZ%bsS>NKXLtczVVpNHGCcbf`ianOG4m$DO{} z9?ye3#O={L+O4x)!MFhWkQ)fb<4jy<7mUa9gu^epO2?lvPe3=bf&5hSdI9*Mn|kPj zu^Os}vuyXfz+prQ`SVE8x%8=q`a$ETO-_C2Xpn6W^_s*CZ8%R<SBG6rD6KWg5wdJnASB}AU@Lv} zFEmC&}{fi$wanXb<8{a!7_I82{T}xDf0y-DbKZn&XR8j(bLrqF(fL9;nSy|j=X~>Kuz;}dY zDgNR22Yo}NQ^?h+!}<4R=UUY*t&13`SqZ#5t5tt#)wQ%Ffw$$xeA0TAiAu9U z;>7oYs~Oa8tv+89*%+Ewi71h{dvhssvV*h;?=EQhuH_LaWgC-Zw2XQ?BePh1?2;@#I=o{OivK1vneEo&VzCU( zv;?;3uS&5^F+d9Q8iY?PqU@UhzC zte(anIN_@8Qu7IVTDqX@VH~4-V07JVg3u9-Bp||U(Q}B-P?HD(1)lMhG$S9$^p0dewIF`aRW_!r!>)ahb7^`bMml5Lt?LrM>RuhrGsZHDv3xO> zQJw8eD@+ghl!^hhN!!JTwzbOVXfRuHqkGX9E%Ra2G0U`er9iBm>LF<~tUpcEv$-gM z!IbE%EI&6TLBqT*cfkrtA z1x#?qYaJ9sN+)KFa128R1`chka+V)n&A&sf%BLADK8l4dVZD^~;mrlghhe{ju^0J> zFuVh&Nwwo00a9;=UGh})1Th2vAVA&t8-0yFe%{_z9}oONe?ig8Tp&-w9YS4r#9P~c zPBSo2NChS&gkAS=w^heP z$A?R&XnK$Eh4_GaO=%peH+QHBh=f=io?iLr8uTJMTLB=IxK?Wuqcu7ickkNqGaBDr zH?2wDGGXh8CuhF($&)xs!7bnF&a+%84)J0MC&(frX$Mlzq9V}{AE&ll^_+&7t|xA? zP&}0(Ie=c3>j)3a%uGuuV`XKbx_n>e>l+fP4+)Y23{iP`iM`RDjc5Sx5N!fg9BWN2 zKmlsYCX)VaE(KR>4jRj%nN|_Ce~d5glATbT{M!Q`)@$Eeq2A&xD~2=u)5GgF z@UNG@_T1~N!_(^*-6};Org_RILr2h$M!&}Y{>-|kw=w&Qbs1Ckj~FrO&ahKw2WvBQW(Rb_DV(HQ6_B3CLmaI%vep=cga*=PLDLkeKrdOiId*xwEr9HcGMG-v6_j?`mz2nKjAH=vj0~qtS&`({l`p9AE9xv)ho+?#G|qWEtH!VzkFV#N3xfMwKp_ z$^RwqtY0{JSW+~v5)_ccOf6C#b&v8epr@SVfrt>AA^7@QDqvZ8>4Lm`Dr&v-nxYRn zxU!3&D7t;dlm0v!Fnbiv z`Bo09v~~oHmTDX+=BVhXs#+gYbVPJ=^o!A|rxG095kMa*< ziShhQFiVK#rxTx(mr*OhF?GSaV|NGdiC1>aJ@_fQ36|gY;MS?zR`*6bLHnd3+oo>C zzUD$p-Gd#b`ra;5ks~HH&Ji6KnGl!Izcwz;WcHCNkc4D51(`i6YR&o(|NgZhINL(~ zZf6sc=en)=Y+Irh@}xwn9rB~#F$#dqC=@%%R8ys6vq`R&Vrey1{L zJ)B&_f+tM9_|r*#JR~@#Bb^q?Z99+nA@DFA9rdAMp;fhtDJ&uk5!*1E!-#^Is#*`5 z%`Y-i>Q@_S@bj&x^>eRHv!TR(prP(Du#U*zB=IH8DDjVoC!ixzqy?NLHim)?frvK5 zDRW1>ki&+=^VLRQmKe)_sJ*{wP$DdV0metx^5A z&1lHyJfHoxtyjv{W)|8d_d;q1oJY!}_z)+Hq;EWGC*i@fN>XUY*jOQOje0|J1W8+$ zs3l2DVMSs3xtYji@n8cON!fN)^qOD|)Vw{LWX z`N)>W<;UKbwUqxev3JK#arxEqwPzX+fyggJS3cgeTTgT3OR4ff5}UWLeRBPoIY)1< z^69^%S5_{yLXxo;SCt*;5=6M#@eWIjInp=O=u3fIAAiXZ=?`6y`b>$sdEA@Azej;( z)T0s4Wa`nhG`khpTW_%VqeCow4VElgtlzMtcc<_r zyGD)u>Z23;XW7mBL&DhFcecK&!7m0Y!I8m{o>q(1C^HiR{S@QZ5{1ZO)B4g;AkB_OTzVPVcd#kI3D7T~ z*7~*fjv_&);T2#fK%(mdw9K3=YfUpe&ksk4`kdVTVv z&zy*fODsw%?Nro7^-bZItDK8K-zx_`lN)c9e)yq$wEpA^xoZ<)!^zt(M`uO;x-;^3`@%5#=aFvuet;_|q7MQlP`35 zgNTo|q1{)ypC9$b%#K#rnT-eJj6~x z8FwbL)%DJwVGr!nYC(}f^9XJeibtPE=i*{;as*Xjg$Mg8VPPHt{;0iaaAmtibIT#u9VTfUGQ%wLtaaDt&bsy7>VMB`K9IVh>WO!% zibtM(Chg^cZ#)|P4AZUqOUufqIBJic&nz1Ec*5G5@*)aFWxvpCN&O%uSD_hD8uR$BW7Y#- zPFYPpoTJc^fdBy10B99VFUHnmFooD$z z^)EbI-}w7n!>pTg=(ig1Th;h2BQnOkWe=4Bwi_U5g7b;x$^8J0#4nQpaU+289|IcX zeCJ8^DW^C4$$3jD=GmK+0{N#6&CbbAZ@T%VI(f9{hpE7i?f+l<640Rb0CXOpJ_Goz zkuBGCx%%_CW3A{qt1=IP0z>VQu?Sr>!+G;#>GJ6v{NGzy(Q$V9oUeTGwDYj;0rKcK zu?Ah48V%_b4j&n`9+}w9Q?Xu3PDHPW^mJ-}O;>qZTH62I2^%i#b{(=^6@SzqJN?maqn}4tY^_1|*fsdH zqAEGPzPtFer`~Cr2N9vmW13uaV`GeiM(`OOE_0&$=9!T6I zEmdQ6!O*n&*Gos0(F7qAW(wbbnb@(};;PfN3;<9~3!5}ysu z$+m-gY=-mzsE7e_>a4@Hr&(SlpT>Tkdw9rMzPBHW0$<`kReyYL(^(c=v+wMtb3zv5 z#K!BolV&g3abk6zo*rHv1_F_QnIWVw31FA~kPd$K!#x$i7_oJ8F}i9r%5%@1V;*eB z)9mM;`Ck45?G8qbb&VQ#&7DNto52KzsPAY*UH%Mjj_rjAz-=Ev=`~B$q z5@X$g#B*7n4;$J0ZBNM;_I0{IadMTk;kMU8#_Hv$*`Kfe}#Z8wdYXw&C6ttfl$ zg&t(N9fUVA>uBu*WdNL1ERJSmyHw%CJ!VewC+RvIQohGM}t1A9Hef#ognbn z*j4qo(uC7Ro*|Ff@Plcdp;k1YtM??Z(C{Y5cJ=#h4gR_B^cFHPPqrdQ%@e*S&)Han zaBab+(4fv5g8Tci5PM_q?Yt&^Pp*HD*Wtip>@*OA>QF;_$8Vv9wZTrU?bDSy{{dG1 zZN!{j@96a%kK_g9ZJ~V|DQ7CNF28~AJ5oS|&R6TgijDd&E&z5T|30$V$M1RU@#n^W zFnhtuHtT%!Tm15KFFy4yi(HO8J1H6cWs`8@pywy}*MfG)o+fjISvH#uN~Dh=oYXWS z0l~$1VKiDe;nqPE4b^{`x#BTB@~WLLieTrMT0fmX-!;&u+dJ~bRjanhNzUWnm-?4c zY9RS2zmOQC&T5*t_Jgb)5z!Szll*(Jm)=|CO($~@-Wd%YBM5N= zyTdO+lFjlIdA1Bw-y^^j5$tj2n@NUi{v9ogi>wa{_4v6{h{(b!t9*ET{lUMiS+(## zn_|ZLC*}^QTNzQ(y>EJ_?#0P!(!iN@Yd_h%`VD4z%Ga0{sKZ%k$OTabn zsJ8~G-qBJ-2XC=}G_8S>mfR!|8-#7>YN77uvRIG>g(N;WJ1HMZRu`=vUE8zY!M{HB z`i#2t+^yYbWp>W!mKYtK>KN8ZcXY~#f#V}%MwZN7K4<)}8FA4AdQ4jA{HgQMPHFjx zopadYw2nEQ68c6V!Ca%V4OAxm2~-X@nIcTHOiN9w$)pAaM0lxpQdukIb;X2ni^7T} z!ozxUN2lWy+mp99)#io`iF|Zz+@PuB>JP4e=0$#_Yu~g^-AX#E%XaXqPy6jO`b=sV z)G%q?!M_-5d#7aeElcT+`>~qOG3?P@g^V*o!jPpGfqBIPA1N6YUpBmu`RH%f2l+dL zrHRtR(oAWA^t_|r$lJhjG9vY=nwx1Sf4tW6nJyaoT!>be zl|Z+F>yLQIWi|+TPWL)~D3mJtP4I>VCPYANrX9uvv!n;$ddf`COs5{<_{<(aDi7t?UXVUlaS2P256C0KjB}l|-9FGRhg7M)<(pWt@AV7Q;&9uODCWiOd zSF_~Zx=&e3-S5)m-8$cWbGd}|{r5nx5$%B!nm8}RN@dJU=p%=OIV9LLNh z%btIJ+48k(o;h$}|A=1qq!xOpK7~2`YuU)C$fypN)+EN3@>^bGJ!;r;{?L7+NH?tJ zdkmX!2cYLMV&JKcz%aehrnmWrhj;84W%c*>jlv&@tmI@jA{}T#t(Jv(m73zI=)lNu zD!H-^g+@pa7l@GtD6W(g5+@2*HaAx{*C;=B?suvsNNdmr%ghy5L5#32Xlv% z4v6%3=wM1oL0Vl3Gogo@yK!5a1JLyu8JL<%jJ!T=@k|yu>nP*KHz2<=HOWf(C$O3P zfbK*`9*D-kDV49xpQ$g-FX$;-vv%@-zxDQ~5ka|$Ne|bJog5u9^UQ(Hn50&q2K#fZsZltb8@mWkEn|JdBa9%BR0sIR7X&N zXLPjW=^bkD1SpE9DIr1vdW#hj%3Z!JO4vZUpw=Sh3@dI{Tm;dSIYXim76wBNv#YQf zKhY>CCv4bJTf%?tuwOqu`B%%+SC&06KfK^2`3JqzW9gLM_k^RWIl?;np(jz%Je&EA z2lB$e$p`rxZ;TjUH&pR2N#Wn0+dO&Ef(7@cO=XE>yTcGR_#37nY6-M7MzPNiSvAEQ zThTy~38_CVB9h2#6i*!2xJ=8bfF9W7+$d@b1=1j}%?C52EMe?H_&(**$BA5e`aZ5g z@a^niU~en%^-2QbnLvYBpYbhg*BtO1AWmpsB0x z!b8O#jaA1f>A0&5&_gUcjB=1+HsYT7A?NptP`1$C4AB5xqzrT1NA7l`aqNZeRZKtQ ziRbtyD_`o}&x(@$oUGh_>Z1DX{(qhSz_5oyN-YU-zCIqtkPdO35!O{mFZM`+{+k1w zQ)@#)=$1| z_T@{EptDIiK%cQI2uKz6{lL-|PKjj6UdbP<@^k);IzH6bADZ&GtD!N~;6P-4 zboE5(v7i@EcC9|Hb$-~wdK`ReEzJ^nQo6G`J)~9?%~B^hyky8wAVL7F0%>7pcT!vX zS;8CQo|~2d2(7~!!^p`jvhR#u z>eS_-3ugyyKhQ0`g1R~WxQ{wH^4}-!LMK1TU?;5Z605mzU{fy$_fZWktw=Br%I7hCTgo9 z9YG=R!W+#-L`Sfro{^>yoa_+jSg^6h%rGyCph5VDh<$CHjNO2W7Hz6pvapEpw9AqX zN-s>L$#&(}j&1oaK)>v>yE3Jx`1BYtA?WZw&CMrHT+%Y7TUwfbR?qV1U}zzeok&-*Uizhi^sC$cXgPk};1ysk^eFTc2lqvpWZM2zVv+4j)j|k7Ua6nnB&WRgTo|rT@Kyz1IIns}P26zf#Mk(Ry6d z{R97Qfw;MfF$r|}e1f#2w!W$w-aqswtzJXAqYEf@cMdr18t#lty46iV2?^Sw0clpsvH%FJeH2dq{*%Ved;)RT+n8M<5Z;swqJ1H!arNsM{l+^E- zq@GHMK06+`s~32eTkqZ9pLGNx$P(F}*ZFKn%18X;o&59z({Jv%Hz&Vh8ykZHc;ecz zxY2h&UkQ{@b&EP~qrc*7V1SYUo2DV}9rqMe%jc^Ix*{d^kxyc%jhk3S1Q; z^>oDeLPajG1yHZa(-cxx>o8TCWWZ{9D=;5DrS`B9+NrstZyaPI)oHrh*uhIceptke)i zu8S8wgA7MVfS*GRE`_dW^kYCpDMH<*$%t%2qf79$ZFi#N64LNgXl4~@a0F!}GF%ZC zZkFr`CEp%Cd}ls3Rdh~( z_7sEskqCWYC^Zf84n_1nG&Cq!39?3@#xz2;psv;8l7}RDT&cQZ)}S4@6P^_p_?{bluz!{?7T2>Opsj=Z95n4)Y>>l#S}qZR>e- z`pOq0lX!DEOJrU(uKLbkmIsuS5yW+r!HrOfL^XDZx*Acw6@=1XPZK;c(27jx1B%PV zeXY2r?3%Ag!ln5^e2W}zC_i+DL|k7xJI&_K7F*kVZ8>~3t3Jj9$K`XL?W>vVwNx?@|)jv=8}rg{gs| zhRm7NK#|~z<>^2D`>}=_;5t$3O2}U*T@i2dGO8XX52Wv!jC$ECz=&MQyWYm=HJ}9T z7Ak5KW!8uMU%9cB{Ff04|Ki8xWgmC&dPW_FJn#*C5dFnMZ6A)|7r^7t_Vt&sHa~DV zZY-O(Mb`V{5c->3g~2`wvTG0rus}D?w+Z(jxW{}zWG0BUYVW4y3T~lgGc@Yf>rND= z&f-5{**iGUl=!VCeg@v|gc)oYnxsto(D}}(P>)VT0ry|jXYZ4H0lazi-&esBM~**c zR}5PCfeTO}6<{>$m?vfW2m1P&6$7Bz08|Hpq+@1u!Mp7!@UxpBm=wr^zxX%apk5EI z;n&B7aej=M_{~xL`cKR5o%Q>O{ej9?0sMu^D*sq+)7vA5@ZauF z&Iwu14(#OT+0@2aA*^oPIKDJu{)>DMOD}O4kXd|4$;siH<&EEKeCOc>TGAfpIKpG~ zCVv!ihe-bZHq{uZSgh7S0G8Wq0J^b(^T@$q!!)&R*7g~jOec(ryOAQ`2fa??KSAJd z*-cZ!s%66xvb?H?jRl`|N9l_+oTs8V3} z{kK)PrcPYi${TmloUML2F^zLKyYAQ;sGRfXFWgh<2lDHpBZl%D8u|Bs0P>d&OmHQp z7ttO>E?z@>P~7v*JzyYdd!i z%gISAuPx0{!Yt*rVbLyy+U4;PA8^^7r&ON(7MBC86?g_L z*x)uO8VJfvwA~N|1pz{qqsu#>X_mh-z2)-UVF}aw3>=XCXt=pFhc9~dqv4;QuU}rU zYGWHxP0d@A(#CF>m|Qu0WY=z;P+osu|Hs$10@pn8;lp9(kc9A3oi5>9bFjzirbm|6 z+AUqHiw57LA=zY?TgE*bJf%l%-+0RkuU-S}Zz3!070@U_HySjmbR_ob)Ttc(`9e*B z5rN5p@QVd{NB1o&>swk|R@OZn^~bc$-BXHcySvCl@`$`T8nw)y-$^BRECFiapRAo6 zh5_V@6@EjZ4?>p^M2ynZi8d;-(@W~KqU9yi5~@Li{`ZZ^?$I$eI;Nt>QPeO`|JM&w z?(Nf~_tKt)1tv>bM$M~3U)gZt!s4kJ0|&ONY0mJgYybfUmBgD@8dH1Zf2377KeB3I zkatpIqTMUN|65Ct$J+U;HV2!d^U^Z9o+7W#HpoSwr6VI{n(*?tumkZmOd@zuDc5Q> z^bxNl6|*r+romJL32LO za5kv(Sn7;p-Q{}u50)+ey1Cck?O{33tW?gu`)WFXB``O#2&jsz-P}rDb3=zGv+CQf zh^%dHqL@vXvZQ0u+z20mfD!DlyVdGeGxnYR-#Cw!&y3;?a^=3h4KZw1nN~oiS+Q4~ z)iWRJ;6Hezys2SQ*y!=36_J;654@DY5;9tYt$vEtDv(#&T$B)eI6(sa6zo9akFH)Q z<^Bda*ss*`-H=BX-B(qVk>nVZ?!3;o&0_IL_+qJD-;ZJ!KVDJX;ili9QMZxH)Vy_M z|H2-c{;zIO$6|l*&Oi&*(HH>5X&{-U>0R{B_OH~7SK18hP-M3S1!Ehk`{s0ti|(Gp zC-9FJvUnuovdr4YSnz_zypXGYDOFAjOo4gR@`zu=3aREno{a??lt06qkgURqM>4Iy*PDo@K~eX znmlZQXiU%G;UHg2JboB2oG-R4-HDg^-}n0zAb;<3lwQZ}_3hO&&mn*MozvVeYSmlS zmFZPA5i7S1s?1cTUgOg*hvwvU&*{kWfBTj-{m>yRr)yR`|Frq*f=t%;oBB<$z5C?w zw@%I96jgvV3~E`X?f_VnzZ8%9LR+vc)E97}RrP%#d)hTA|mq>zM>N* zY-W!o(BY^KW`x5WWV7{*F(LwvZX393jHo1WMEaPEsY8oz|BB-5u07+6dlr}1CiPVB zt>{`&R-4iFk4Ckyt10Y~2%$>4pBdMWa3dI^-Q9s`LE&;bT}Ozi(=NFn(8W=0XN;3~ zJvs{3IJ{|ho8uTjv&5Gsr1yDr+`#z6bl*L`>mKhhecB8M|Luj>iu0|0!QuHm`qXT4 z+v?l-2VXR9>{0XT_^*H8$hv;!GS)|JnQ(l-2ZIy()fGOnv(CeRZ&b&q^t|W)5|+k`H8W{3uNMxB2_K_~|JR4jhoS zn+-fncD&Z3wc1dH*suer1@}9AdlwcOD|3>%bjgr%SPoG-4wTNx$;dF}f%bXEU~`~s zRPAOXpjP6H=FmVj@c)taCV){@XZ!d)_s&ehCEH{rge~h3APJcy44F(I$`-Z&fk8qL zDOFS|Qp61rk!)j15yfn#E~vOsOI;AHYZZ4?N~xvPTI)h<{j{HLt)E45`91G*XNCmv zTmJvApRdQ8JLjJBocBEEJ?}Z^Jy`cSJv0cw7QB;Qk^xLGAAmSwfQnw(E9JHmI_yzP z$I=d9mvwtI1(z~X{-@@_dk)XOi$gn~d;O-b?!9r<;=s&V*U#>$+&I6Xt?ACQCs&8-+R-uvw%xTK9?3Kue$ASw!l@P*kuXhr3K=L=PZ{q z#?;-IvoTAWq6KTlS52OrIA!FNk}2D#+&SgvQ(S|LDH8){4Z)S1{|8Ud(4;?ly>iEi zz26Az-A@rCdiXzhg|Oo;*Mr>`{Kxly_7ROrSwAhSdCGM8r!e{d>@m{UHav78{_i0i z62LkNM*n@zzhLah(|k4A!$yrt%o~|klD9qY&b*)Jx$=gN$oUSBlHg#Y@Ex8dHK3aR zouA2=m2%niAuZFU4{4r0-IMa)xt*MUSz?!diHx=wLl`?2Go_k@!C5JAm82j>JmPdk zEE0@=82loRbq1}#l{8_ZC@3)6L%+Fp>rI#LxZ66o>XW{=)v}Kx5n>;(o_Xpgy?K3_ z`h9{bI0^UqGk;-(SbP^_6eEpi$ahuNphN^#PSWA^(EIs2@LfBivV1M<;9$@4>8q^6 zKe%mAr%L#lebPACKKJ4CFUCz5e@Ol9&u|IIvvSJ#`uDGYp-5_Z(aGbE4Y*uAMH}>J zf`nczLDo*3newFMj)M6~=jcTztQ3v;MS<-9xj7<#_%Cc<+ zaOLV|PQ!R_?PT?fkqu?zYq1Axc~wzh{_={kQx+hn$+!m&x1VE#gDsMpk`libhp%+U z^|+f4cffh=&5m9fzQo|k^TSxNZ5^Lg#IPz}0I@ z^GD9lDa_fATiTX7_8aZ4B`76sX-m{f-bDE#UgsEDkr4A*UwZMPz=WLq%;C$f-QnC> zw|YXs@X_wUSwkmgEQ;NLT&f%|7~7Cb5^}*l0OpeF>^H)oXvQ{c&&=5}Fl?H!*!k+e z++k*k8zIaRs}*98!3)ltv0rT{_Mc9`dT70Np0-9iucqky<>#!vaN&v-7tTDZYMyV} zv`KU3ER8A3A6b@FSeP?@eCpDr7hV|S&WKNSm@sZi%HHtGKQaV@qhYhS@n6`_*guVD zN%9cY#qgF}07m9P%KrZ`VZfgzh+8`P;{X0{1Ak`x_1twa^PGWcbzbM}!7ndc?~43~ z^L+iM_|N&yz*PKgj`Mcb%iA#`OrO?pRw)kK_GG=kPva1h< zdl{1A07}Dr*9q531(FJt}P>OcPG>gnG77{ik}zq@8=gI+21n-N5lJ~dC3$dAoReJF8u~}?TcU(=JWT?=BJ!oU zXH;&o9R&8&7Ed|4;X}+~iT-LzRMuYZ2%ed+J%beLk%C>Cwm(0zKUIG#H5{l&V)R_HtZVE_ zRrK5mSjdNts*AlR|M==}9pSC3d&4n{qG#++Z0Wm6-RzqD;;!D?Gt=!2t@O(}t=qz(GJ)fI%#t&~$wT0+LtHsSL*y<*%1BRlWw@{;qPcKH-{p$W(BctXFmjC) z2nbeAe@78@0Ve~)BS9EMdr`#5Apxgz!A4)BN(!xm7o3XM^W!@Tcb2H4SrV)VVIx*K zD_*e*Pets}Z+PYXZ(c>To)Oh&GfIt(Aa2G(&&`6jHVe~ZBP+>p#W~GEgOU(4a!}mh zB{ip#RfHZJsEs4b=qSebK)k5+-#u$JUQZe?~mzMh->yNzf zwzc)#&Gjw%tcE*pupV;F+Wq{OO@H6Cbn%Azi)R1!l842L7>+r)oau_!BnBr=i6S~| zEWEhMCL+ViVR-35GVI9YQ@VZsZmy?Bk5&iP#T90@>;|LJ5bZhC>m5$|K zAN>ymV!!)83Gjo*G;sA#rA%j$|jO%W0$xf#Emo6cLCvpb9xWd=^$& znZGzNS(ZrJGOf`U&zyiTeBo<57tdeP{mJ_Kt=~QO;5A#e-SgVbdP!X0dlK*b!qn|2 z9(dpC`9-O6lqvJ@y+4)Gt3utm9a;>IcXn7`?d_~zv1!|F4d;~P&d1&y{bOKKQ8xdvH=aCX{qpv)DsjT^ zo>_NIg0%(E{8#dq@NYI-iy75C4IYsprXyY@Ib&k9gu$^!YS3^Yz&UPhl$gJ0Q9H~q zW`YvooDm5@=lFk+qDZmfomHnIn(IF}J>vOGha?_xB(nLyi04*{1Z)N_CqJ{+h9g)` zsmaSJa3b{3Ag41gCNVE~X zyl@9d$jX#61-n$0X9`+bH?4j?LYysY>yWUOE504-(y{&w!7H=-)~Zm}Z-0*Xm8V6z z6n|AAqPrlzJ0cW4B7Q7mv)V^LRwm{Mh;xbOP+vaBsSWC}9TPu6`k`xZLV`0+u2nFC zPDI6(a0wjA34C@zkmp&XjZy~#Rs?qjFNK4-}60RhmdrE3|XlHVGHt+uh6 zgxGTB#2PbfM-y;ogg<-ZWLOb!&`}oL?0}U$|7y2BU9ojQ%t~AWfCzs5;#SH^q!aP> zp>4x!+=$~9?{X$P^g*#n{SJr?R)iyP>uLQM1JQimr*A<7=z>IOmy5RDRRfF`z1O;nA z&Z63%LLKBAJ_OT-{etg$RLDB~g(_ORcxr3r(`vqzqaz;YzD>EIx)RJfzdm0D)*bD8 zC$8_PG9OmwU%>Xl*B(X9Qn120G?Ba+hlBNIimoGuNK%p$QP*+xtNmSBLXn1}{caPf z)L4|%R|Y?`Z0D0!yu#XZcoPPnkGE888K%6$TPs3Su|RlH-%fr0^uDhgrB*0pS+DBP z_4&y*;O;Llg3CJU5JYH8pWT3<1iG2vPIjcm>1foXRMs4~R%YN_TZF_@m!QJUxf7e~FT90m6p^jRyeZ6W| zt+mVX5RiWW-U1)6h{IhRZhcT(oFfL6cO;8>6A2|$CO2nNowDt~r#8blGZC-QebL^527{bc@U^L|EFFyQ{_33g8w=VUIdwSwF>5g{nQ+!Ky1>o)l zjKt$=h76LZ<%3YaL4#a_v2V_m%&{{(-V@4j^%OrDuAAXpV_9zxte3v3LT)bRt_Rl3 zvZQACT6TEcPf-~46}J4uC&tF58Q2nnc{(d*e@F&p`3g-7!O)K6syCNfyPrKRnCr0< zp;I-ow3u5^BRM0TuBXjGti%zS!;?qA032bMSb8@54gRtgE*}y*_4GlXqb{@t|8pFl zd0yuym*0z{z7K8Oa^qdE-yE9j#l~<1znK=ks5#3RnR?TS`~P6w`YZ?kLBF}@XRr$F z>zmmxEz>mzbsr(+GT{F~RLRWYX(O_xH;hO$6KfmHer7F^efo|Q&U%qq7Ah>J;3<6`ri4ckbTYuxphn%hO~WRc@kHNEb5zo%Re${XO4NAi$tNA#V3Uu<8Hi;ynd7`UMqFV+ zp%*a^QR80~{;BYbLgyf(P~7K3N_Q(namiTDni8b%Q0rB*lNfW0BxBg(orq_OVtBT(n*f45F z&D6%N^A=4VlAiU;d)vFM8z;=j%q*!))Jw1V)bC0=l)1Fvi{BnpwYxJD-c7yyPn*{N zF#kI5iy!W=7LWVsoSZRD=j1Jc^%3@fV$WlNZDr_HkySLtGcM4kpR!7X!L7w|hY0p3 zjjBm9g9sLeJsJk?P7hm(GLwe2C|=Vr^=U^J2%!P@`1KElNwx88I3*=xEtuT%4GOC5p5N%gHC)v`B3igEu1*T0h2~tkY2| zTkZg3WQRyJB{L;s&bwn>Q-5*s4cjxS?7+33uGp4Pg9y8w<5pOQCDbma@vx$?wRQ)r zx=XLz-81VV>!V2Y;nF>m&Qc`^HuPOL*Dk&Zi>WSEaoGiW{Wo{Rzl)9Y zeK*YK{yD6OIuR@gen^Z$F@xje;tDM;DNc_|Ffgmt2B}1hM)DOJ?Ko3u+Y<`pCH#r6 z;eP;1U$3rIi~G7<%2Qz-@mq%~t&c0zNEZ*d=<`o(7>Ou7IM}81k#fET_u_v`R)3t%UYht)fz-mO>b z+18`DBJ63AxSVDTb~;&PtY zST!^O7vlF4>&zBIW@x-JKUK8 z6Eq_uF>W~eNWapE&&rOH!O!~;os5VODy;7LSU8`aJt?WSw7q27vRuSo|J*t}d8}*F z%n9u!w>~gj!Ym{H`trQ`iz9hFrwuD03H%2QqzJjT?e+yVDDCKeXOnBey&K*g6Pn`{3f;-4!)B%jb~W zo%%54riJPd3w4NmBLxJIk`fn>jp?YWy(3nprIIt8GOm~yu&QzDF7ZRw;cB-XSDxpk zP`B&vMO=B6JG~T9<=;VYd+QLQ%6Cq^S?n+DI(JpU{=%IAvdeV1XNYEcJm%a6k0;eI z^3V$$vQ;uQvOXE!l_dX?6?)W`+qLChi(LEG7TL{>qe6&I14SsKUdlEqdRlRt+7flW zN_y?6b)|LPYJJwe|(*u zb^qP7Eo-hSP>G9Ux2(Hj<$`KYiMsIhJFdK}YAWi0n9I%#jODr5iGVu9;yQvvk0*0B z>Yybj=gq=~6%E&PXc3z!QU{LdQU}>4SdkYkF7EW>a$mGc6JSFckviyq{q-l-G5pU%(`T@ZX0@b6GVzupdyIdo9G9&il`&@6QN-oo5LV~a}7Z^m#gbkT>nOCdvdXL zX!-q*pjjLTY@n_C!oZJH)%}{KI?h_99`>sA!)P1Ps8q1Mv_`B}BDE?s@>2#OoX2dL zYs8JpiNp2faY@-DM!=;ecLJPVt7xM{l}4SZIarwit!8Yqq3>JrtyXE>IUi26=566- zGkVzq)_)FcnJJ0ZW_63_*LOu*4rfbW#zvPdw5-O7ohtj~W4d@Rpg5^4A;cblmfro}DSn0`ynZ zr?r1@^HJ-zr^B9MI|3^_!}PhaG+DZyIvcaqAzEf44iYESHVg{S2>X{N8w-m4N?|jR zv`E+oSG4_(ZPve@*m~~DjqN+HT|2$1j#P9h46ILwz5B!q);qhzJN(+?m$zhEU3mI6 zt-QrfiL`~788xXcg`Mrmj^Gfu%ZC{8*ufb&Tt}~iuq?3P|4zFN(btnfvm;x#Z@3S(N+En{Gs3b^)0*@sG$s30|Luun_U`AKEat+@wZB zxZgY&2!-!al+hSSN%LUemOgU##!a_`c6xqrnh(f2QjOc&v{L2vKKise9`OYoZ^qfK zPh?brp2)2?X<{EK97sY8LL)6PH7zzCn*axB3BFBb;KZ9ZfwBxyr_kRj{_8hCx$v^J zE3eL3(%&!i&E5a*^D9?iOApSCU?i6D7FO92)ICw^9)r0bqFuyeLy`lxHENuKh*6F! zSEN0p!^j+%bHPZR<=@Jv9_Si^hT#8Smu25m?jc(*I08clOnjf-uNZwgE_cxeITIae z2|02Xcw`Nia~&D-Me`&7h&JdChy7i+(t$VsJa6lO?I4nK9`-t{eCtWnP%JLmoiVrv z7vD;c$5oUX4*hU71U0jJA3h|XIpf`tnT^(=4wXLj+c!vBi}jtV>WsHYirp#q*oZ$U zEq%y{AuilDHYDCeD3zReELq2gl|9_~X?M~fkJy@0o-*ttIAw~8adqlin?EnI{@U}; z_}Jkt`*xeKc@@6i##*ay^%Y%_#5-c$&_RTHQDjC*V*A+kpH(%GJ3{q~GcyYK*BP}zh|04b=-@Tky z!6~2u4;x5snqs6P=z=5np)*`IwWL(;ntI0KqWzifn>w&W9kZ3>45Lshtn}qF3Sn;q zMX0u#wO^gpX5T9buD}3ztPJ6t+-N9t^3vbss zULQ9~>2=octWT|z*7Q$a+WTMs98%bE---Oak6v|YU>fY4GN6-1JBK4hxM?8J5p|w2kYK1RfZ}>OR(D||qi{H3AeKD#bg5^S+?EOZQN{iGuXkC;9)IK& zH5ZOygU02BkH38T72jL9+}QKcTW?wqJ#o*CPaP-}qw?d@d_kL7Nt@~)2-;{<`<4I% zw2Zc?lzN1;ss5qht*!o@-KOFDSkR`ng@araEgWsNvNc0j`H@`0HV$&JZ5+IV$r|^| z&yDB?BlkWmrIB?;mZpdrrmLz*KD=A6PfEijbCl)@JC})eE*OnZpuAX>kX`gO>6z&n zP~(&oS4IX-on~Nr1*3O?>U*0@lnWHD%|Kp3VIAZrFoR_qK7f!)o zk#H`q@Z@b2(fi$brrh}um_at2y3||*0f+55lz>KZV5=|(=t$%=#HoI7pG!xpgwLg~ zMudMk3o$0zwmf4)_V9+=_L(qyltkN>XI;o1^->aT^{2L`6%EWq?u*v1i?D~Bj=_I# z=6^@OB7dg_*yY=;rbtBi#v?)=!V)2N1vA+NLiY%W_UXM&agw`V{dlKR-QV~Gc4Jn#q+t>3A>(dvo^gTbaHa5 zl|;XJChW;{xn08%pPXozSO7KSlc^Ws0`;@vFiokj%}M&Q(Xg=BVNWAQ=wucI5dGv^ z4)r?(qGzKJ4fLzmS&N>>{x@~UiIB3K%q*c-s4U-;YM|fjuPa3U1(&YG8Aq#{C(I*q;$^A{r{a zh%$?z{$L=J;s6UEg8djaG-WZymXEB*iHJIUtm62A@G66K)>jq!>b@>rz*ueRbzEh5 z)Dj$E?FkP2t}D^)h*L6j4bpWtE}lq`IV~fi5BRSAMbsUeKD}D=C(&eAYYa(X~H3XCZpK zi~z@Z|J4liVB4c97)zvO*bF0L%oO)1oV9bCDaOzO6UXixCTxcA8UtM{JOv7*p>r_F zcq#^l*@V0@luA6wRL>M=xNKgZYs1RoPv7|d1EU*nUb6SCTh-7fS6rn^-iw{=o4zPx zQQx+T8}FPQXwEg}TSdQmValZ0<*)3y_jrq5`psv#BP**`ty9}x-@0jb?d>QnO7Gf+ zoie#vDQ39oSsG&ZAU@YvIiQh|r{~RR7$s*k!le~D6|KO5ihL<*_z+YXLaX;HsVoPu zBKDQvVp~cjjKZx4pL%-hu^;VT5gQY~P!)Y))|Abz%c@YNQ;ObycKy%BSs%~5YWkF! z)2^O9r)&4SuRW(OdT!T{*^MgnO_w)sV)gg8{M&lrS1&AHG&A)1wewdreZFOh7#W(} z{TM~p}rGbVp-!x%>joD?Yot+X%~0dgKYPEU*Bwrr_`U9GUe z7Pj1SaA*lzVjWYTc;M2@9oL*af5;*=;rrwM`s)|oHrHJ8=aM^iJ-T4tkMFtckV<~~ z1IPNC-Y#?w-+bw&%h4*^qzU%iRWP?`Uhv(k)=#dx`0!1?M48)BW?BCoD`k!?lsJ^Q zFEKqnH+T5-hTNohj6RW_#o@x9Dsx03BBiyB%Sc%xC#+aABXpK`=G^pZKs@%?!DkOH z+jMhL^G!dTxnTMuvugkNn->mkY<^O$FPu=Z^kOyCdg0BN@4lsQ-qgeXX%og3XUnb6 zt8d72<)FOSIq7%{80VwBnM2|AN7M{B3R3cdDe;&RIkfD7gKpGCEY1m_Iq>kiz0*Wa ze8Wn{F=8-_K6Re^-9MLaR@W_GzWcc~+rR1F_{y4hU%ugXGfQP*2j4QaW^&O3U%XaZ zzwuDxj3u|NcyNEbBVor?Bj#NnS;cx3-h|D-G*8Ny6%!j9GYe}*T3T*S8kYIe>;NnM z2J`-9^qtn?15m`t8!l?i@g*!@{&3Nz{&!|y-|}QKEP%hRI6ie)ZPnpZ_hqlSA=_2f zlfOia0vQYTBW}(4;DrJ$8#@UKFo7sAT%)o;4T(62)vt%iX{A%WKGMjtsP!#ZGf98+xs8cIcc5#n)S;*O#QDIVx>+-JR|i> zg;?UeMe#}CSE9kg7BePwM#Gq-IBa|zo`dsF9!SIG7<;Ox z|K;tM4#%zh?hCiuO|>Z8*AKq<^E)O~sRL)afxB;=nEskX1A+$t>vOn&)RbUAkyt>( zB^Xd5R+bUiiAG4&J!hBy3=rdFd)RB|+!cj(!uJ8~FMsdO9^kLUaq6?wqGk;9!w6SWr|QJ)`X-?QP1TL zbIOD%3x<+1|MJ$0zm0QQyH4Hb-M6^BV8X-|SAixEzPRVk301jaFQ&|7?uHkGw|;8F z;I!48xO5C)Ih@!E?mUeh(YlzYYT4n4dy&IG!{xkn^DR#uL`F_wJNdlQDB2 zG%Z{ncr;laY&A%7;$~fE7@i38Mashg$3C+xgG!hOv-QooZ`4Fsr`882?p5Bm*1R}% zP1BF=f9;~ii$g=K6MEMj*1xQie|hJyn(>IY;Lo)ufAhUdez01~@c?kCg!W`=h>?nb z>iB|| zA-)`wk&>E%jR=X-+v1{?x4(RbjwZ8u6h>be?p5BYP|+9O$y#JRRbo6_YVBPyINFEM z#;XLxBGC&1($SSJ}6Y2uUS;&!HC@T5U49K+CqhMlGk_If{jM&U!5 zf;()oXal%i**RFfoZzbvcao92`487^JL{2EtFO87maVv*_CWi_a}UjX%KG|m))&9~ z!#~tG=YdJ{KPahLUWZsDS6sHNu41h9<>J>KefW)0j@pl2co#O62W2dgnYe0#O(i>U zlALd$opRv)7?OmwnWW?#Xm5^@0bR~WabZ)8tN&C(SV~ybCeMg{4-4;G4EnVii>c1N z(YcUpXFS7-%?6qI*wdl!UbjhdR&qo~856bIhQzedm=29j%0iHWtTZR?E_I%vjHeax zJ4w`$tUPl)&&muSJZt-J)^n80+VuQhyS(4AtRvo2tA0S-+6x_jwf!J?-al^bg^r{0 zoIcyFF<(W!zN?&BnAgIqJHYFEhiez!5RYw)zRH1l{^@>S*YKD_kvxp6n1|fRJUrq( z5O#3h;o2O@#kk6W`2%MDhF%=;hOjJ8#~hC4bM=|?f&X|*G@q*-m?VBXALlP(XGQbb z5Y4A}KzZi4zK-Uz!LcWt&*TB+`CIJDXg=3O^TDY{4Yz`ZX9{=3Bt`SN#)0inEYI{) z`2hRFydf2Sam}MTR9sJh7d=BAqzVOiOMA8VHi zh}XFWAf8L8&@vUs5obH_9#$O?-}yqv&S<|nTTZy(9!L8*dWXCZWN%}?vR5fqIo@Hv z!s#SYov`Md&3+}T6waWH0u{Y`iW>$N&Nk5l>rPHlH3*k8w}Tp!CE z#zsqxG59a+nJfi*-7&VWt}^>;u=8g2OqK)h*nW3Iw}W9zS?$_L&$RQo`po$tGO6@T zJD;o1oR71aJ=4x-Lo}aLUNm8fBKAx>pAFG`Y9e~e@;pgBvGchmnonu}dO23IXWIE( z6U}GFseGhW*)x$3duC-=Ptdw(3l$%2Exb8B5_eU4=AUgn33FjYPwc%NY=vl!{*VI9eyLLi{D|P{_pN%~s$PItUiR}%)U}OP zy+o%1@-Ux8H=XmNx+%Wza1>>MoAl$<;in)yvI5)G5di4HjvE>%AjP>DK*k#m5 zL^KQ5r)xDei+ONDqq(uii+ z`CNVGd|WPSmYvUrXg>Y{z~7vJDGz`tTsBx0oH=f zGMv&Jdzm1b1FQvI${?&3)||-LB`uCTz-o3LD8XBHDT)Tx1FXh8z-s?GtsYiAPFknh zISkZyiSKRyjvQ_4`!=*iuT!{tA`q4~C}lrbi$0Bgpm@H-e(v~)&k>E=*~|Wc_t`(f z`>|}&L@n*rEU}63OV;uk-nMh|LdYpui^Xsvb3 zq42wMn4(Q3PHN`Z%aI0*U zR6Jw(@#9$II48l zW}Ix3Sa*Z57OihKm3h6>&iGt!WeINhR&Y7TG!FZCtNi;;k?U}!nM-waD9!FAS2*QOVn|1 zSAxTlf+(y*uTOU)B*{<&TBF^-s9Q9>J^3U8G+4n>#qr9XnLOmt@g6(1uX%! zNPPku2@+zj$5|Q_><`|z-B|pI_`{(Q@R0iu_Q%$Zs+>c2?zr7?)9#<1Z9O&lf}_w3 z*VtWqcC?QilH9YqE@kqL!PJX>Ur7I7eIX{S68%2#`E?bChfVCC{rZ)Ot1os(${*uG z`Lp4{iO0n{si|>8NA|15n_dYcA$o9HRXp%JhXeUX6retTyFboI$;!?ik+ePi&U9VG z&(n?cnv9{f>4`VR?u^wVD8F~E_f6a^DXovj?_WlHK_WlrjH)m-=gpt&xW};_yV)|D6Z3ODaa$@LD4bN0Ki;L^bZgU3v(}Ur?cLnfysX-99avTI zy~-2R~*yWu;dlE=5IKTpqP^IEK;e zf0M&ZdOyPJtytlMdjn%DhCyQ|{6a1*^=b4;`W5FmLRiDk&@yUpU}0WET0w$yUPD6U zPHyR6yj2M2EuGxREQ?s;Q`EOzcGFGkZdN7Rtgjz=)_gy%A)!E zLwd#6>csb-8SUM4M2R7A@-xi(94M=OFW{iM26us;sZ?fNgJfm9KE;cbo$bqyoQ{m~ zNW5UKnZ%@J8+%V6kmj2Gt$~WOI+kz0lKK0Q)Tm=jV@{*N|T@*gdadaDI5jK5|IG-g6mV zCQEhM5kZ8QD$295LK}|iiv==aEaUIb-rpSRus(bCKRXt^bnYFyE$c_cGw=W9;<~n5 zH(z`7N6-Dv@Za{E;f|qqZD{@V74y_!Z`tN`550HorBh~||K@_TFiz?xU$-7`6cX8F z>`zZgG-8x1*_rH|-!Lc{aafWJlrS9f0%fyzTjfhwi}2ly+zc9{jAOg!T1V&iJzA=N zr7EA=ZIzBHnCzNbZM~6&3whT6hq2~Fch}E<^}}h_PC@1)>p{o(s7E?wK0MMf85u+C z8Zwe%;^#HQoCXWjh|M5d=ole|%STuzq?>qx?t9`l+pWL7aK(Y@J&*S8S&uutE;^|H z(`RKYsnySU`^o!{hl+Dm{P%C%xO{nbo&Fw9puC%CTf~lL_~~6*rjAl+%6i^$x#J4_ z_mG;wTAouk485+wNQ&wQIvh8ZDW!kVw{@a%u&^%)zj;(SUi>Cbd<&B?JG+!QX2nVm znP%;Alwo$8Y3o2jQbtnte8l#5ptAECG721n<~2A@t8Cc+YhUES?bOlzwsLWp++Y}X zj0*~mvRABqf4lyNYcJpMv-M*fYoEO5u^nICbKtOb)>#+$W={=VSUp4ksr8BF`j1h# z`F-VM58QEZ-+d~h{VRRZO$*Lxn7R49MdF*6TasM2@Rp>BHN#K8IqH9NKN9FnI1DQK zf4wv6|NF&A|CbAq&>DB>?>P_QUfLY3Oq*0QqBK8$?3mo-;o9KggR>A;uq4+oMvop- zk(HKKGzJj}%5Z>I7A-UEe@om9`EL$ySji@3+da|)gMoL=*)Dr{>=9S(Ti3Dc=Wo5@ z(k1K9DH@-b?_D|l`gQ01uxw&r^n&8)7tT;O^uMFsc=Y^rV{e+^$<6Y(hn8M2<=o54 zH)SPF8C9I^U2c7LrkmTfZ8$ZHlhd$rvFrdV_ZkIj7#g`4abDIs=ivD{;pgyj0E;ZV z53e&ugR!!fSCE-IY;XzyfdB+hL<`M8BZ>afuB6KAv+4Fa*49`W+Yn zaR>8b*!m{NFu30h8_y?V^U7<^eaB}B>U>Y;nBqag9CM2GFMHPFjLh%whH;?Z8&{ru z+I}Oh{~HgUdPB`VIn#c_?Egl$?0gGYECa{9M1qnrjjnKQJuNWXOtY2M z8_eNtK4)8~cbNVi-y!nqk4%3``8nm^_^p5N&ErJi1f?Ys_8QR8&yjcZCGw8mAZ5^3 z$Zz$Pe7>6L%lOyzl$$UQaO#`+yp=LU*-p8Q@=;1^ss1+82l?Bhl)sm{=A_6LF-`q3lKCW^Pli%vQ4Ztt;gln!rp8F7 zM=_nvbPm(GOy^S;@QH`%(M%UIJ%;JAOpjx_i0NXcOPC(dbScwbrpuTvXLQ7)%sYZ`1#<9umTV-@8^l&dK(p}drG zt!Ra@j&eQac4&)9MwMHLB`u6Uql`yJF zMm3c%s;PugO(l$KDq&Pp38R`y7}Zq5s3sZJRKlpH5=J$ZFsiA9QB5U`YARt=QwgJ* zN*L87qnb(>)g+^uWK@%kYLZb+GODSBQB5U`YARt=QwgJ*N*L87qnb(>)l|Z$rV>Uq zl`yKQgi%c;jA|-jR8t9~no1be#68547DhFdFsiA9QB5U`YARt=QwgJ*imgmWHI*=` zsn`}|R8t9~nu^GiQBCzJp9rIxN*L8t!lcXg|E{tmG!l_Da+$@x??dj9narmv=KWj?p_ojdv0`8B~5;gjc>+Y2X`A!p&| zMD+*$^#kT(*XuabCnznEx<)A@RHA;Kysv*xzNlZq^tF=g7R5De~!DSgw;zUgM)bhB@|**D$nn{G||rdyM~>DHugx;5#WZcX~8Ta&)&)}(K` zHR+pfP5P!=lfLQJq;I-4>6>m%`lefxzUkJaZ@M+6>mKhSIWcy4g3~?3->SebcR^Z@QKAO}CQ1=~mJ=-Rzrg_DwhYrdvthbhB@|fxP4? zebcR^Z@QKAO}CQ1=~mJ=-AekVTS?z^E9skVC4JMaq;I;>Qu0Llrdx?VyV*D0?3->S zebbG$lQ*Srx|Q@zw-W7jvv0a}>6>o$O*i|dn|;%*OW$;}Z@P8qn{HkDrdyZ3>DHxh zx^?NBZe9AOTbI7+hK8U#?3->~`lef#zUhXx$aCqNZe9AOn|;%*OW$6>o$O}8$6)2&P2bnDVL-8yT>zUgM)bhB@|**D$n zn{M_^H~XgBkiO|Qq;I+n>6>mt`lj2EzUelkZ@LZXn{Gq;rrVId={BTqx((@@ZbSN} zn|;&GzUgM)bQ{t)-G=l{w;_GgZAjmA8`3x3hV)IhA$`-0p0W<-SDch4WdYvIL$488 zq%d;D7z_pD0?ZTcjTdW$on!c&O`4I z`8K84JbCCHBE{y(L+^k@?+}?pnM|2VDZL|)y(15rkMdCS^QifG(0uvTaXvpmX^Er; z=IJr=TV3p>Jm?|bM2m==O*xlx9_0ecg_J?cb0`}q8!6AFwDS?1^N4dEan2*o`C1~r zp0Bwn^YDH?@Z1ks2^%sWc#5pz^8nL`R)!~HMdxEaC9;K5dT2i8QzFHp&Ijknn=dl` z66Gr*!5+vT_=ub!?*Jc>{FbU>nqN^^xxw=({MAmTk5eKd0iIhTft$!!DZd^^xkTQF z4JmRYWj19lWj>{cvXF8tWf5fwWhrGDCH5{MpLLYD6$9z*C^=%M;;#kNN$kaATC}l% zT30}=D*#u^6VbW?aJ5L$x&m;uNYS?f>RSQzt$_Mg05+EAqHhJ%w*u;00rjnb`c?oo z#$Un4B1NOHJ4__CrGVN}fc`5_L|Y2be?^M66rlf#6m2O${}n0PQh@#|Qu6UoD?HQ+ z59aCeM6|*~t?*DQaGM36i&l6vX)h18!b7d_P%Au`Wy^0xD?HQ+54FNWt?*!OE6+tM zJk$ygwZcQK@K7r})Cv!^!lU>VYK4bd;ZdR$9`q)Wq7@!$g@;<6cV38;!{Xu3W-c1kwIKo`7P>#+)x*hQkO#3 zrI2+gWL*j|Cz9tb-Q)Z}7naxpczn3`OIaby`z^O=;=XG>Vq64tbY zH7$W|%X49&5@@)j{geT;X$f&CAr2+Pp@cY;5Qh@tP(mC^V0}prw^80sc?ad4%t!ir z2~jE`N+m?8gea8|r4pi4LX=8~QVCHiAxb4gsRTU*`JktW93%O|`Vv`8IiAu>Sxz~D zZ%&jlpf`yW#wbCr5qW~r5{X`ezhVpmVii$xC+flAXL{Coe34&+xwRhL^q1%iiZ@@AI~6|D*lA@% zsf_rP0UvqNOevOa8SoJ)_H7yP5&0tJOO&sOWZlbH_cGSK40XqIJyyP=$5AekC#aps zk(Ak#xs>^o9?C+>v6MxWC6uLoULEZ z)-Px4m$UWD+4|*d{c^T`Ia|M+tzXX8FK6qQv-Qi_`sHl>a<+as5hy1Da<+asTfdyGU(VJqXX}@<^~>4%6)*oR4<#X);If!5c5{$V|ZpZ@i>szTks5UcM-r;M2tF@L{K#NU=Q- zg`e_VmQ8&1KD3m`7E1Be`_NJ%#aHhmC;Q0BK60{;oa`ef`^d>YaU?U!-_(eem{+e2-GBN*{dw@FE# zK9wl%aBT7^H`8K~`cw+jVwd_<8q*p4RVL+d(E+Ruh?LaF+)z z{oSXezx%K{AX3I?p9+YEs7aJHl(I(P!x{ll#TtP~8QpwXDUj#lmG!A__@qyyuFJ1< zgVI4MmX(i|l@FeFd<*>%zlEnAxp4&a!QU=VR?1(|PmzXq8h=G^mGmg4#XIeTcUqo{ zciM-ZE3$x3#5?UXMl)T=^cbeaJMA;ZF)iL{AH36&LkZL4nJ#78%d~i>eeh1pI}@0m zNa?2xP}WeMO*xfPW|2OFy_F-l51wktN9G7VqmF5rDfl>=`waGCj_E#wy_h4r4}NU< zmCPM{@McSzec4#bH2bo#jA@xo_~74`cf^YD!OJaa8^iO788xXXg(2qF0z@jg|d~hjWR^}BIQezuZRRQLxOve8(LiC5_y6)6^XcB zklB>El!#$~Cpe1@Sx7mSvWT*TvXl~0{jiFeh>};LoFau?E5WXNAPe|cvDPZVt|G-Y zs|2qeft*e$dRwX0QqJOE=Tk1AtmpHEOfO*{WjAF znLb2$nDQOUBa}xe-=%zy@{j!0`;>p8{DAU9%8w{NraVR|^Uz9grpQ>zc*+Dy(cwyP zrul@J{e=FDJcmz~$gjY7_!SsW-dVx)N=c)4;ICjj{1tsf(xaHpW;%!I zT&D9W#g?c#*;Kr z0^>=#fxi;#r4q9n`HEOCm6+p5dO6d?5R50!Z4A%nUsq9HM7f&s63R;<{bUb6*~3rv z@RL3KWDh@VGkHhY!%z0`lRf-o4?nE3BX};Y?8hDnc}Lj8535Y1)Xop9Owv+2KddrI z3w!usm5CJg@RL3Ku)8EJ?BR#qB~sYK54%g=6!!4L?h+~N;fLKNQrN=}yGx|7haYyA zNMR2@_ECrw_V8mLg-Br!KlV|G6!!3wJ^W-3KlV|`6JZZO_ECrw_VANE{A3S5_EE?a zVGlp-E|J0>e(a+VDeU2g#U<|ud-%y7ezJ!j`zYkOu!kQOm!#idTG+!6i%Xshd-!2- zNm|&$4~t8ru!kS}D?|!=_+fF06!!4L;u0zB;fKW~QrN=}i%X=ihaVP~NMR2@_Fae+ z_CV-uN?{Mb687-J4Cwur|FG($g zJ^ZkjBrWXWhxbF$>|bOLKiR`i_VANE{A3S5*~3rv@RL3Ku$LqUVGlpq!%z0`lRf;f zm*lyyho9`>H-tU>hOmbpy8=WCd-$;{K%}ro6ZKcTANk$8dcHGtO8pTC##ZbMlX+`^ z+!z2iN?K|iV66kJb%3=FfE#=9d^)A<1PFi|MaqZ};Qp}yxN$$y^?WY-#{%F+c}Mn- z1;CAaAZ7npK$DULz>xCAX37>y*jN@&~|>A|Ims8RcHe$0=o1F#v`XDQlwvFr-M?X%^s4vj7-U z(z4Sm0EUz@@8>%&G5s>ruQ2^8)334auQUAy(+8M-lj*mZew*ooOdp~=O!*Gw5z3>K z?^3=;DRa^Q7*gb)C_kY5kn$tSk13B)%FeU^7*eF{ObdV^MJC8!!H}pawJ`vOl(gt% z01PQ<(aZoCQqru zI1?CxGbLy08}&Z`&Xgy!Bxi6Y-T`NdJV$Z^XG&VuPXp{J0dS_IWnX0goQc1JGw}qR zDd|y6%iK8t&Xni5Oy^S;@QH`%(M%UIJ%;JAOpjx_i0NXcOPC(dbScxaCm{gNl&{Fn zga9~G!{I8)N>mEcTC%N#QR&Xlx`q3lf!fHOtPPO1PnQ>5&q3V<{B zBR*;Yn6nz}AyO=>YOse$v2&_v=Ty_qsivJ%O*^NWc1|_zoNC$+)wCR{X){#QTBzpe zU(Ip9nj?NS$NFlH=G7d>tD&Fx3N%xsSn1UqJ*zqTRCC;^=7>|xv8I}1O*KcEYK||} z99gP4rc`q@spdFR%@Jf0_k&Hv3dm=OMP-WAV<-nhPUG`wd_IjHxoPysO`}I{8a;B; zz$UuPEx%sNuh*jYeWum&>$UuPEqyz+O1@spuh;VHwfy=_e0`%f6JLkK z*F_G7oXxM#=GSNQSF`!6I@;28nv7p{7%xPMI@+ssv{&nBZPvlFCpn9SSx4Klj<#hTZOb~^mUXl(>u6in(YCCk zZCMAd!>_<{B4z$q2WAt=GSm91qqS2S){4 z8LTyWr977zP#vw8I@&FDv{>qBtJKj-nNK|D6VLg?b3XB0z~>A2d;y;?;PZMu$Ehf^ zW<6WKo~>Wc)~{#l*R%EO+4}Wt{d%^3JzKw?tzXa9uV?GmGyi%!f42TYeq|xQvXEa{ z$geEqR~GUs3;C6W{K`UpWg)+^kY8EIuPo$O7V;|#`IUwI%0hl62py}}g3vLMVm$__ zML|upC`c^|az+-UE(NJeLF!VF^P?c=M?ubyf}9@(IX?<=eiWp>1*vaA>RXWd7Nouf zsc%8*Tafw|q`n2IZ$au?kTakl=RQHsdV>>$V)LC_d2?{F3nr2QYHfgwtEK$aQvRxu z`qoH&Yoxw4Qqvl#X^qshMru(bwWyI=)JQFAq!u+&iyEm#jntw>YEdJ#sF7OKNS$e< z&NNbI8mTjl)R{)=Oe1xskvh{zooS@bG*V|8sT+;djYjH5BXy&Z`q0SMZ)Dpwvh5n# zc8zSiMz&oe+pdvq*T}YOWZN~e?Hbv3jcmI{wp}CJu90om$hK=_+cmQ7mJ#h`L>qf= zfj@T4QHtkw8PQ%ww3iX>Wkh>9N7W{9%Q~$I+#*uuAWg6$M9TiOCe6#VXk(Km`_q~< z*`L;=$^Nt^P4=fXai-A3nL-n13Qe3TG;yZT#F;`9X9`VNmz4L#4sYV@tckO;CeF^9 zI6G^i{oKUaSrcbxO|UfZKJDQqC6;g#EDe#e-q(cHOp&rbtx3tQ=_agZiWJsr!m6b_ zm;Gr?O7^EU>6-i%?1x{0{X~kz)kLeWiS}L-Exjh#D)L-xye8NxB4vKpM2oJ8wpoxtTaO6X#~)+)SLCiE}e?ZYIvn#JQO`HxuV(;@nJ}n~8HXac(Bg&BVEx zI5!jLX5!pToSTVrGjVPv&dtQR*$|wYiE|5aZXwPs#JPnyw-DzR;@m=~9A~9Ate&&LQF)BF-V= z93svk;v6E*A>te&&LQF)BF-V=93svk;v6E*A>te&&LQF)BF-V=93svk;v6E*A>te& z&LQF)BF-V=93svk;v6E*A>te&&LQF)BF-V=93svk;v6E*A>te&&LQF)BF-V=93svk z;v6E*A>te&&LQF)BF-V=93svk;v6E*A>te&&NpypX*&^aC&KN-ww>6v6T^05*iH=F ziD5f2Y$t~8#IT*{wG+K|qSsFJ+KFB}(Q7Aq?L@Dg=(Q8QcB0o#^xBC}JL}%gy0^3L z?W}t{>)y_~x3li;tb04_-p;zWv+nJzdpqm?Bi3;%<&P=1QSQ*hHrt_zZMFkm-y@K+ z8+iwG=`%<_Wfh-`e_)4JP1(dJ&6F*at(0w)A<8@X=8H_fMEQzH=mzqKZit*9??5+1 z@>|^TwSzmpcBsjGK83%M-N-wjGa^q=S|Xt{BE{O@K^t<1E-Q&U;N=rJl2Udf?|@HF zWIm;bvXF8tWf5fwWhrGD)=kg4(^oeAZ{JRt%JCA5VsEE)wxbRIdG?32XX5lZXM`r$e*}%5VsEE))=kg4&v59+&T=wt%Ez| zIt;m+WS#I2LK zbrQEu;?_yrI*D5+aqA>*oy4t^xOEb@PU6-{+&YO{Cvoc}Zk@!flel#fw@%{LN!&V# zTPJbrByOF=t&_NQ61Ps`)=AttiCZUe>m+WS#I2LKbrQEu;?_yrI*D5+aqA>*oy4t^ zxOEb@PU6-{+&YO{7jf$%Ze7H!i@0?Ww=Uw=MclfGTNiQbB5qy8t&6yI5w|Yl)mqJl#I1|CbrH8N;?_mnx`mqJl#I1|CbrZL4;?_;v zx`|siaqA{--Ndb%xOEe^ZsOKW+`5TdH*xDGZr#MKo49oow{GIrP29SPTQ_m*CT`ut zt(&-Y6Sr>S)=k{HiCZ^u>n3j9#I2jSbrZL4;?_;vx`|siaqA{--Ndb%xOEe^ZsOKW z+`5TdH*xDGZr#MKo49oow{GIrP29SPTMu#TA#Odyt%tbv5Vs!U)mhDE z#I1+8^$@on;?_gldWc&OaqA&&J;betxb+aX9^%$R+mhDE#I1+8^$@on;?_gldWc&OaqA&& zJ;betxZyl5Mk1Wjqm=O!yY0Yx*bM|e>?Ll!#0_gHd?MpQFLCQ7ZoR~y3w_f7b zOWb;iTQ70zC2qaMt(Um<61QIB)=S)aiCZsm>m_cz#I2XO^%A#U;?_&tdWl;vaqA^+ zy~M4Txb+gZUgFkE+~ulHNZ)uB$%tpF7v9>s4u170^^2_S-HE zlS^TPaRwMtAP)^St@zd3|0-ckVgo`JD5d&pG$#oW1b2 z7vA>5+g^Cv3vYYjZ7;k%F5VV1kBc|sP2%Knabo-u_yD*Ed=PvHoC3>W#i-f|Rerrk z+RV&V7_~ALZO9 z-}xDrbDw-?bUF9QYetuIpS&idock!}KFYa|a_*y?`zYr=@vJ8)=RV50Pdq!t<=iKp zjV|Xt%DInn?i0_;nLf(dM>+c_XCLM4qnv$|vyXE2QO-Wf*+)71C}$t#?4z80l(Ua= z_EFA0%GpOb`zU80s*_a2FYR+Vjgk3=EkJraeC_ed1Pt7`;cLAZCo-BT*1D#;@?? zqu@8eZ-L(izXR?Cy+@*u@g9kSzLFTdN1~vwBu4L%DCjGR(R(BcTHiK$k3@kz5(TYq z+x8xbg4VZ<-Xl?9k3@kz5(V~16xbtCV2?zBJrV`>NEGBpm)UzH3i76H?~y3Tr?$OE zqQI=GpcQi4-Xl@aI=OA{ktk@j+_v{f6tre;+j}GmS~E9#k3>Oh=0@+4C}_>x=sgmJ zjQ2|g7pMFLd;z=ydXGeb(|Zbm_ed1jBT)#vN20(yt`K;SM1k2{A@ClF z0&}`T;5`xrW_E?Zdn5{h_ec~1?~y13-Xl?9k3@kz5(V~16aw#&COr=>N1~v9WZQcr3i^uV6z`EJgx(`jP@l5xJrV`= zEZg2AQBeP~?L86&^)lPuBT-Oav+X?+1@$=F-Xl@aHw&ZpNEGzV!stB`1%0zHdXGdQ z^d5-Lhq3%ut%a0dXGebJrV`> zNIb!RjXlACjXfbf*_(NS*x(7GsVCImo$@8{0dNoaAovhC1(v~zkrDq1M*Jrj@t+8` zI-UO-dxHNOdqUnE9#$ds(LskUl{A0OBFRt zkUm2C2;Zhh_%=Plx9JhSO^@(xdW3J&BYc}4;oI~G-=;_SHa)_(=@Gt7kMRDHU%a1h z(+9}q0J$6>mjmQ-fLsoc%K>sZKrRQ!6 zygXD6MTn>`UL2@}rE(giwAh{IDrARJCaw(Eakz9)8 zQY4omxfIEzNG?TkDUwT(T#DpUB$pz&6v^cXxf~&vBjj>~T#k^-5pp>~E=S1a2)P^~ zmm}nIgj|l0%Mo%pLM}(hk`y93_{d*OZF2|M2 zqE5GJH|np(UlNXy`xv>8k^30AkCFQrxsQ?i7`cy;`xv>8k^30AkCFQrxsQ?i7`cy; z`y^kAC;3u5sVM7EW>Qg>(NWeUUy3I+ekp}7#giJv4rNYKwv&|YBxO5E*-lcnla%cw zWjjgPPExj$liY(ciD90)M}r(p=KG&ADjK=yZR-p3#L=*%`F zzB`5Q%J5%?|1$iS;lB+3W%w_{e;NME@Lz`iGW?g}zYPCn_%FkM8UD-gUxxoO{FmXs z4F6^LFT;Ns{>$)RhW|4Bm*Kw*|7G|u!+#n6%kW=@|1$iS;lB+3W%w_{e;NME@Lz`i zGW?g}zYPCn_%FkM8UD-gUxxoO{FmXs4F6^LFT;Ns{>$)RhW|4Bm*M}1@c%>j{~`SU z5dJIhUxEJ${8!+=0{<2GufTr={wwfbf&U8pSKz+_{}uSJz<&k)EAU@|{|fw9;J*U@ z75J~fe+B+4@Lz%d3j9~#zXJai_^-f!1^z4WUxEJ${8!+=0{<2GufTr={wwfbf&U8p zSKz+_{}uSJz<&k)EAU@|{|fw9;J*U@75J~fe+B+4@Lz%d3j9~#e;WR$;eQ(br{TW} z=T$hb!gdw5tFT&y)heu3VYLdYRamXUY85`K@L7e=DtuPqvkIS8_^iTb6+Wx*S%uFk zd{$ws3L90}sKQ1SHma~ug^em~RAHkE8&%k-!bTM~s<1Ib?PjRm47Hn~b~Ds&hT6?g zyBTUXL+xg$-3+yxp>{LWZid>;P`epwH$&}asND>;o1u0y)NY2_%}~1;YBxjeW~ki^ zwVR=KGt_Q|+RaeA8EQ8}?PjRm47Hn~b~Ds&mfFoyyIE>COYLT<-7K}6rFOH_ZkF23 zQoC7dH%skisogBKo27QM)NYpA%~HErYBx*mW~tpQwVS1Ov(#>u+RakCS!y>+?PjUn zEVY}ZcC*xOmfFoyyIE>COYLT<-5j->qjq!DZjRc`QM);6H%IN}sNEd3o1=Df)NYR2 z%~88KYBxvi=BV8qwVR`MbJT8*+RahBIchgY?dGW69JQOHc5~Ejj@r#pyE$q%NA2dQ z-5j->qjq!DZjRc`QM-8}gn1%_dCle)GxHg*{my5+_B$_qGy0q0yj0G%*M8?U%X5mq z3C?R($LMdV^IFw0`kUZ9YrpeaEwNn&D@N&+-Y>l}`djL}^vXzH%mn9|3C;)pmO8JQ zpnv6Wsq?J;&a?JAANZT#ymZXySZkh0WmA8vQMGUh_obZ-M@nIv@I*;JoJh zMt>8W*BsyIZ>jT|*Bkv!a9%p5_e;l&{+2q=+V8VOSJ)3!1=Ifbf6<-Yqe-HaV z=)VP?&AbbIFZe$2ZvJ`|`|q{${8{3$XNklX@WleYSilzx_+kNHEZ~a;e6fHp7VyOa zzF5E)3;1FIUo7B@1$?o9FBb5{0=`(#YSm(90beZOiv@hKfG-yC#R9%qz!wYnVgX+) z;EM%(v4AfY@WleYSilzx_+kNHEZ~a;e6fHp7VyP_)?rize6fHp7VyOazF5E)3;1FI zUo7B@1$?o9FBb5{X?6viVPrYO$a040`V7(a8KUbmMAv7CuFnu%pCP(FLv($H==u!N z^%FS|qPU@>(RXMe(RXMenwSlC9kvO zb(Xx&lGj=CI!9jT$?H6MohPsJ zUgyc{0(o5|uZ!e$k-RRF*G2NWNM0Ao>mqqwB(IC)b&NQlo zhN{<4^%|;PL)B}jdJR>tq3ShMy@smSQ1u$BUPIMusCo@muc7KSRK13(*HHBus$N6Y zYp8l%Yxs+qdd72~dgdLV|AV8>4)8iV!0YS)ud@TZ&JOT8JHYGg0I#zHyv`2rIy=DY z>;SK`1H8@-@H#ud>+Arpvje=&4)8iV!0YS)ud@TZ&JOT8JHYFi^OWSGG4L0(df+c; z_2A{8|8J$v4)8iV!0YS)ud@TZ9^U4^hW?+sIy=DY>;SK8HPtEpzm+;W!0X|Av8i?V zL2UouN}V0x_0a!sTMzwz`gL}I*VzHyfVT#`HQ=qm&iMwsHQ=oQZw+{Bz*_^}8t~SD zw+6g5;H?2~4R~w7TLa!2@YaC02D~-ktpRThcx%901Kt|&*2tK*2D~-ktpRV1z`Ql! ztpRThcx%901Kt|&)_}JLyfxsh0dEa>YrtD0G;a-fYp`>^0dEa>YrtCr-Wu?>re1bu zW=*}!nAdOD=viy@tTlSpn#MAxd#qp6h-TZ~T+>)~O6YGuYxKJ{`rR7+ZjFAoM!#F5 z->q?~-WsRst?5i-zpWqisd{Vl$~AiB8ohFjUb#lET%%X6(JR;Jm233MHG1V5y>g9S zxu%g(<WoOXjC=c2Yy}UY2wo+K5gRDCO&QA(noA|Ve zPn-C(iBFsOw24of__T>noA|VePn-C(8Q7;yeA>jPO?=wKr%im?#HUSs+Qg?#MLsGU zK5gRDCO&QA(Q zR+)8*ve7-q6`=H7Db&U7MD_+ydM;aiUno5nO3#JTbD{KHC_NWS&xO)+q4Zp+zOP$GrRPHF zxlnp8l%5Nvz(L@4B77I9|9qGIKJfkE2fz=3`g*IsYBnL%7h9pe)e3o=+llP|1WM0k ztM3cd_l4^FLiK&2`o2(lE|i`N-A+P$8sgIspN9A}#HXSAzMip9Lwp+I(-5DA_%y_) zAwCW9X^2lld>Z1@5TAzb`+ARk8oKWb?b8sShWIqZry)KK@o9)pLwp+I(-5DA_%y_) zAwCV=_k+-VUud6(_%y_)q5Hm4?9&jRhWIqZry)KK@o9)pLwp+I(-5DA_%y_)AwCW9 zX^2lld>Z1@(0xA$@oDJ3FWWv1-S>s|X^2lld>Z1@5TAzlG{mQ&`@WvEPeXhf;?oeH zhWIqZry)KK@#%W`bU9crp9)o4qrO%LH)QlpN~mvALbG&(JbOy0RUM<7+8F5o%RO zs8t=IR&|70)e$}bYE?(}gWyA;c6uvCt2)9mSTV{MdcS;O)T)lq%5Z~tHvSGsE`e5c zl%iD~p;mQ-4KM+wvcowOgl~w+?vgfVU2K>wvcoc zz$nGMb--H(ymi2v?=d+Qbi!LFymi7`C%ox0YL%)J-a6r}6W%)EtrOll;jI(iI^nGo z-a6r}6W%)EtrOll;jI(iI^nGo-a6r}6W%)EtrOll;jI(iI^nGo-a6r}6W%)EtrOll z;jI(iI^nGo-a6r}6W%)EtrOll;jI(iI^nGo-a6r}6W%)EtrOll;jI(iUg4FH;6_I9 z8yUfG^oapV`F+qM&W)aj3g0OvZ}efoS{S_aD_{ei-rC7Ue4F4F^ znuF|*fi7(q-tWTuU3k9>?{{VF{Vu%Uh4;Jgeiz>F@>+!cYVUXXya=Ja-{tcng!X=y z&x;V+`(0kI5Ze1)Uat_^`(0kI5Ze1)Uat_^`(0kI5Ze1)J}*LO?|1pU2%){-?|0$-E}s_>bcObQS7`5dX?LH|-tY2x5kh;v3-5Q~ z{Vu%Uh4;Jgeiz>F!uwr#zsoBp`jx%k<&_hmz2AlRyYPM&-tWTuU3kAMwD-I4ewSBH zf*jt@;r$%m&*A+X-p}Fv9Ny32{T$xU;r$%m&*A+X-p}Fv9Ny32{T$xU;r$%m&*A+X z-p}Fv9Ny32{T$xU;r$%m&*A+X-p}Fv9Ny32{T$xU;r$%m&*A+X-p}Fv9Ny32{T$xU z;r$%m&*A+X-p}Fv9Ny32{T$xU;r$%m&*A+X-p}Fv9Ny32{T$xU;r$%m&*A+X-p}Fv z9Ny32{T$xU;r$%m&*A+X-p}Fv9Ny32{T$xU;r$%m&*A+X-p}Fv9Ny32{T$xU;r$%m z&*A+X-oHuXrv8sQqchlr+NUklE*+uvv*q}wYt&6%ffu^1-lP?HmrZA| z3v~v&@BwfS_#pTY_!XXi6#ORmE%4jmcfh@%&S2MjbOyUnXRr%(2D?yaunTntyHIDa z3v~v&a0EO6>I`E)X)EVrubq2doXRr%Ppw3{Ituxq#laxef zu*=pN?7}j(&R~~a!PXhC0O+omy_^{=uaxDM3bZ>4DO zxA4QxOYxX~tDdg6F&Dc@{oN@${8zI`<- zH)HDzcG)_EU8pnIg|EZb8SJuk2D?yaunTX+)*0-wbq2doXRr%(2D?yaunTntyHIDa z3v~v&P-n0Ubq2doXRr(34*r4bE)8+YyRdZzyX^O1>kM|;@56pSNH1n~d6N{zfBg{Y zI)h#Ihp}Oa`Q}a19H-Nlr98Gj$}>8HUA9*hZjuVw{so60hsmAbC%{jF{}ucc_}}=I z&R`E-qmj#~liY&WNR5p;=}4`|nwCe?@@QHfP0OQc+>@ohdKAv1X?Zj)kEZ3(v^<)Y z*9h37XWVA;Xj&dk%cE&|jfPIQrsXvz+P0?UGuE^`nwCe?@@QHfP0OQcc{DALrsdJJ zJero*?8EP|rsXyJFj~{Ny-R3K_*@*2%;ThsCy(`{SR@*3G~ThsDrS{_ZyqiK1K>`u3) z<@)--M|6I#=_zf5RN%j^GBRB|*eum4Z6ZB65LGodw&JI;jGv^<)Y zS8QP0nwD3DVB4CO53FhVz?zmv)ADFqUiqkHqG@?FEsv(<(X>38mPga_{>rQ;t!a5Q zEsv(<(X>38mPgaLXHC!0KGC#1nwAf&X?Zj)kEZ3b*0g-qnwCe?@@QHfP0OQcc{DAL zrsdJJJernA)ADFq9!<-mX?Zj)kEZ3(w7lXRc@|B}E84MbP0OQcc{DAr$j9l{v^<)Y zN7M3(f}Czm%cE&|G%b&&<=;dpiPK^qiHdk7Ncn~nidnM#b{bgoED>L zF`5>mX)&4>qiHdk7Ncn~niivJF`5>mX)&61i?nMoxJ9aEyh&>;w@4+7Ujp^t-?I0B z`tNVq4}tpcZ`u0qZ=wGCJGe!yMJSK!J@UBmBTkV|jlTi@JMg!_*MK*J`tNT&^Ey!f z{ViMnr7qNesSEYr-@yjTxq)(Spqv{h=LX8TL2Bk_T+R(rGo#D7LCRosIX6(w4U}^O z<=j9yH&D(Elyd{++@SWR=hf1TF6RcdF{8`5fpTt8i?Z!q za&DrWn<(cd%DIVhZlauCQ zqtWftH!~XTci+rtwBLOvqtSl%os2@t>01;R1K*-(bo=xzibl6j-=b)=-+has(SG+W zibl6j-=b)=-+has(e2as3@!@Yk9^OdQ(R8pA!u|teTSgY<@6nbMwipK2O3>Y-v%h8 zoWAc*Z=;;P?@#HJ)A#+^b~%0DpV8&?eSb!m)A#)uT~6QkXLLEcRZg9$p>i6%n$)e* z9unsHtG|7BD@rl?OLw>8lSQFdR=YD^bMDT(1N0Y%ZpA0Y_k&*9?#_Gw`-9lJHAX47 zgJ!#1oH(y9fe(PXHAX4AHAbjgV}xJf$wxum8l#kNfx0zD_IJR&pjWxOS?BC#owJ*D z&TiH@yIJS#W}UN}b}H*_n|01^);YUb=j>*kvzv9!Zq_-wS?BCl1mfIF z;5aw|>ed*gdkwr>ezfhC@NRk2w%5bE6?^!%UKQ_F>|xt$gTd{}jXRx0I zy-wcEN@+JMrQNKQb}RO9y4T6O6?^zs{#Meh*u(f^@F(C4;1%$vpueSdEA}wz))?V0 zgExR~!`+HKobHy~t=Pl1SK7N3d)W4Rd$(c_+g+erX18JwquXA$;tiwQUU%TO*R6QN z_-1gcnPJVgn>E{R#TEW5?MiWlY_)&2PqlyJhe^?`F|r-!cPn!6GhQL@R^%XCy+eOx zb+=o6#P)Ccuj(nbz0TjQ{$g9V#t6N3+O1w=JI2a5rf17FONgBHt;6wRhi>cqs6F zd^-J8Pa3T`o25Cn?S;+Ej5bSiY@5T)(j1-mBh4{x1K$CftIg7!Q$n3IBGicoLY*`s z)QJZ|oirlUNh3m?G$Qo6mTv%bjyh>XsFOy7I%!0xlSYI(X+-GtoXyOAHZ%9x%-m-) zbDz!3eKs@q*{r#b^ZFh*0P3U>r3`_?;C@gijVOHt)JY?<4}wKdCyglOD5#T0Wd8s> z4vvAkjYa7tP`9zj)@>|8oirjm#WOl-M7B;E5$dE7;WT!Y8tJ4FrFbQ0vy{j7EcVmb zUdh=k<#GD6;NO8~z(r6ejp(mBX+)@#Muc9S-Yn%YJ`d`o5!qgy-mF=V(W}#&HS00z zHkM$sl*g#sScE!hM0kV$s#%ZT$*gCyl*e`_=`Y8A1@2-Nq95{zpBdmTdg6 z-=h)PwoV!mdZl!;w8*wj8VP(mr2Z-`Qi`<5woV!mdKG=Mw8*wj8WHNG5n-Mboirjl z#@0zAvTwoGNh7j1VC$q2**a-Ncq_I}8j-D&Mua+PM5vQSggR+NsFOy7I%!0B8>o{; zWb336;oCs!&MaoLw8-gRZQiU|jBT$rZ`Lfv_WQ8k57O_L#cY-q`LAAW-YhM$?bYVZ z(jwbd?9I|5+g@$nEG@E4uap+qhC^wQ?O$-HlSX9k1a%vWY@IYB)NL$6-Nq8U6)k!z zTI8EF4=Kf3#7&yPThXGoqD5~-i+qFOq2M;O=r*+IHnhmM=IK;ow8*#SEy}hQ`PMw6 z`SGoJMr+Y+8Mh7Jn&-b-i+pRI(VY0!Jlp2Px8~Wl7WvjZ+pe|m&U22|BHx{7v=;g9 zJfpS9cjx)ZM?tSG`|doW*Oq;Ep3!T|zB|u(S&Mvkp3z$5yYr0JBHx{7v=;g9JfpS9 zcjpJI}VY$am-2wifyB zJeSs5mo^5N9@6NMrE%M!YMr)Dp&NEtze0QGFTI9R)jMgIGooBQb`R+WU zwa9np8LdUWJI`n>^4)nxYmx8HGg^y$cb?vf7WwWx+twoAooCxxmp3z$5 zyYr0JBHx{7v=-eKSc`mjp3z!#o7P+W9&6EUXpwKz6IW=FZ`1Sp9dG+KJ=@lz+t4E4 zrl%*-qTA3S-=?Q$&?4WaXWRYAx9RCgw8*#V*|rw>Ha*+cBHyNG+gjw?^qgWXx(zMz zZF;t?MZQhXwzbH&>Djgx`8GY<)*|1gXWLrj+w^Q(i+r1&(OTr&^o-Ub-==4@7Wp_I9HK?HDK0XT)*|1gXS5diHa(-Y$hYY&3vU5Ed-@%zhtYEx-==5u zT*kNQ89kTrZF)w}Wqg~S(X#{Jrf2kwz_;lc9ozdhJ)`4!-==4Dto}P{pGL>$zD-X^ zgzVe&WQ#+iqe|bVXLLO2+w_c%A$^;k(Q%`1(=$3&^lf^}0ry@BT|4f*61sNWdnI)3 zxc5rv+Hvod(6!^|vF-4<%M1>bF7HYQz-)*6GTeSzcC)k?N$t^<1+gnvrqi!A%dZgQ` z`Wkg|i%=)G2z7FcP$#ztJrZqYB-%<;yp@q?DHT8Q*zIS;o{_xR0lSSIu-k$y zq;KU{-f_K+9kAQj0lQ7CDn+asJ+s?J9JNj3j&jlXV*CxzJFd5BG%>ygycv8g_&V^n z!CS%CgKq@y_4~!D@jlQyhi|9#-cIYiJ=m!yZx42XJ>vZKV7K_cJ-CmQ`&G8vgI=fL z{oC>W?b#11_eD4VE!TxX9J<9zKz2E7dCjEZwUhvCC z*ti2W?ockvfo}!cBlJA?PUT{}3)}&^{C6rBr@Iz+s^q7HpYd;l&ua9!Gx$^0;?CgD zNdFx8=iul0>tA4d4eie00qh6Chrq9Z5A)>Lz^{Yf0RI<%eFXcP*xv%b13pIjUhKz> zL>j)sNTtnsZRevwkIMW}IQgh}RtmNLn0&Mtd`vzPih1KN3Gc#pcj3Fc@ZDY1`Yyev zC%6mW-G%S&3hcYP@ZDYb?k;?H7rwh2-`$Px?#6d_6#`fSF;Qu1!5$s2K@|&c53;YiF z7=PW1{kSpfol)Df-Wj!>FK*lM+IGCQU0zeEvLDdfcHoO0_+kgX*nuy0;ENsjVh6t1 zfiHI8iyio42fo;WFFvl{E(agiZ;fufJMqp=yt5PU?8G}e@y^b`J!>aE+8MZK?NpBX z6|HC|UfZc0o$eO3GjPw^i63|3$DOpXPf+GhQ07mN?Y7yN9;jL)-45ZTHZ&djhxZ9@=(K z;I`cpxNY~)wtHyXJ<=S%!EL*Tw%rrBZTAFj+dYBXc2D58-9y{%p>6jBZreS9+jdXj zw%rrBZTAFj+dYBXc2D58-4nQN_XKX+J+$o}+IA0ZyN9;jL)-45ZTHZ&cf-bRc-So- z_5{1dgVCzHoA$6_V*L(DS z;|G=gY54gx%zPSVK26X1G(GEnxV;~4?^o`Jg8P-baR+EMxL>(D#hP$G<-ecue?}!) z3_e5e_zXSbGqnF+-r37Ld+}E<{_4eFy_BaHfAvzTUP{%Azk2akFaGMqU%mLN7k~BQ zuU`Dsi@$pDS1cwBZ_^TIx_2REy{MC!UdZ}+O z_3g!9pAEjO_3b~CA}tFY4gQ&Q#^`A9b4ouXY&XL5=ivEsdPXUF=1}l?-ta}SbSU_u zSQ6s9FDftD%Ii?@CH4Ki!I#9wqVV(JUw{vTe+7OW{08_x!AHQyjM=Q;p#EiCC-j|e z%R-m=0m}RUW!|HbECzd25~0dqe3{U9W*ri`E)PNbl2|7dXMdIfUez_^){zG zW>gvU9+hEF@Ku=nDolPACcg@kUxmqssrAFu`e79BVe)zy1|Eiiukp;+c;;(7^EICN z8qa)^&-P>KS>{xDNEXmhZti6?|J|SQI)!`?m5mIzoGlvOPxG z9;0lJQMSh@+hdfiPtP0*`t*!2=o6oP!4SA#Z|DoWbG|Pa$9@XitABmL1yU}8UW@As zu7EEY^?tog?>Bx5{G5NA{UWxNwlDi_@NsY${J!6u9pMc}dHxu-S1J3l$FctgdklM= z=O?fyNk55AIkTQI^<__!eg^wrz#3Qw8{it4fK8rHZHJD#`odp!N_c~K?hCEeePIXo zjm|y%H9hGY0rm*}e;mFSKz2}YdN82p`vd>~LVs`w+x6-XT$ldf1Xz-u^am6EZ7|DU zy;9mA%<&%YzwHm^dGc9sfxrG8=-TxMXL$1eV0#6%KX{H`oy9%}dXH|uyyjdkf|p3S z%sZdwnID5c0bc;G@Z?Xim%yt$e+~QZ#Y2DaGv2dI%0FQLBjs5ES4qDPzQo)91-ouk zt5$i40s4snd>ew;Q>!+9(r?TD2~Yl4=bQET-klKPmqm{4D4gzCUZ_ z?9YCIC*8~Xvz}}BXFb>M&w9Uif7WyD{;cq;IH2W@p#rN^ZjbcuH8Xwyq`Uc{UlEw;cb77?f+!y&mMJ4$R6WY$H6hM z#51&z>`C4*1(rdt!}n*sySqQ@b@={l75i`b6>TXyNBT2xP=?`B9-oTR{ANxZ`P5oh~>lMBN`<49m zS9$W+oJ;uY*g5|CDm_`CZx-l-1^Qq?y>C(J*0Dm?Ev-PyDbP*|w2%UAqmXs0C}iCp z3R(NHkhKR3@{7@$Q^@`hoCd8tg{)aBWX(?@Yi0_nyHIsBTB{3E7^BCCLg-pNLCO=P z`26`pfzO{8qS6DX^gv*h9zdlBQ0ald>NgNrr3X;y0rhu3uDm{?3N)KeM(gSKaMyvDy91ft;1E}-> zDm{Qo51`Tmp;dYSmG)WvhXS9~FNDKEI2?q-K{yqs4#MFe91gqs z4#MFe91gqs4#MFe91gqs4#MFe91g;v?=?6S z_+A4c91g+Z5F8G{;Sd}S!Ql`b4#D9N91g+Z5F8G{;Se19egwS}4u{}y2o8tfa0m{E z;BW{Ihv0As4u{}y2o8tfa0m{E;BW{Ihv0As4u{}y2o8tfa0m{E;BW{Ihv0As4u{}y z2o8tfa0m{E;BW{Ihv0As4u{}y2o8tfa0m{E;BXlI8AgAG(Vt=TXIP9a2E*_(j0z2l z2c@7z!)VbkS~QFn4WmWFXwfiQG>jGvt9JgC6=_(tGg_C1rAvE-9wUZTQ>VDc4WmxO zsM9d&G^~0#-5NEFMh&A;!zj`)iZqNy4ToKdf%g;t>?iWsui7bv$Y(#1&we7G{eiV& zziREjdavDn)%uk1N7!@n{{G+@<+xw*jP2*J&x4mhE7*R;8^)h!b_)Li`yYA33cq^M z=|mCxi6ZtZiqP}oQ#ocGGwjda=O@LgQ@+4oAHd#&{UG*3*q&4GS3KZ1d==X>l>LeX zobny=+7CWS`VrFq8haGmUf2)+`xzJZYou1Ket3kIh}qz zLcboNUyrC?JNn zK0?19p|y`>DPi^n-sy2wrPF^8&>s)b6A#b^4&eO*^uYu2wVyl>UIg9y4ysQb5_)~$AoJOS zYR|U6sAmp}J>w6+zcH%h`jyJO7!>J`Mdl+#dSwyKDbg#8^vWW=vPiEiqD4its2F%Y zQj~uW2|XVv296<%%twmqp*^xaA1MaUf}W2Q1ILra!1Ix!`tKg0=Oe|yv1O6@NHOqy zq!@TUQVbkt7S(2)i{~T7!1Iw};Q2@~@O-2wB{X_IQVcvFDXLxhNzX@$f#)N|;4061 zK2i)kA1O*7{2s@sMd^cW&qs=Z=Oe|y^O0h39rS#p82k&i=OabtBSq#TMdl+#l%$A~ z6q%0{nU56F=OXiwBJ+_V+ESFZC>Q1<#q59Qot}>rvwseL-lb(eQq2AZw&x>7w7tlD zq=>>7nU56F`6Ba?B5Ge`K2k*Ui_AxgSK2l^vD`q_(DKf4Vv!0I>vyOg?%twkE(_IVCM~cz`<<5Mh z7ru`hI~avsKmhwdLjC~SdLjC~SdLjC~SdLjC~SU{CkaXfWA>$R-oin0A3N&<(+vooa6fzR+) zN1n&kyN!GW?k zUK?|yyh`>MU**R5DmNyc_XK0&cCYXdwz(Y>t4??M$28vguU4cn@h0R8-56i!#>AUb z?gRaOe+-t!;9-nfk4fe9HmRJS^w>A1`Wi2SuJ0Ii8KW*^YBPtF;(5@R>Z0GOE_zC68C+Gzy=mjU}1t;hQCusjCX#Xc@`6p=kCusR6X!$2-`6p=kCusR6X!$2-^CxKS zCx}l@5TBf&ou8ncpP-$epq-zfg`c2>pP+@GpoO2Hg`c2>mxw@0L?9(1kP;;?5rLG% zd{0mk^LvG!7nG<`i5iuNKuSa)B_fa#5lD#$q(lT#A_6G|jzCI*Bal+y2&6;=QX&E= z5rLG5KuSa)B_fa#5lD#$q(lT#A_6H9fs}|qN<<(fvFdj^0x1!JlmbT}B_fbg;0UBd z1X2ndfs}|qN`WJgQs4-rL<&NQnrfLD$kP<7RC0a{~ z2&6=tDG`B`XgMV!kP_{uLL?9(1kP;C{i3p@b1X3ab zDbZg_L?9)4O^FDkMBgb9fs}|qN<<(fB9IahNQnrfLTxOw5lBh> z&bC)XOX__pt$Lr)^ScreNQnrf^o#yT1X3abDG`B`h(Jn2AmjAbar)`F`ss2oPCp%| zpN`W{$LXiz>Zksz=kMd{p{InNzmKbL9uj)~KCa$p+w=Ev^)lln&@-=b^$w%w@8jwn zwmp9zSMTtzJbxdj&5zUO$Cd$2u!A6M&jy65lX zYQ45Se;-%7HG2L&&is8m>-qb*TA<7!u`H3~V-{C%9Z zG|v2e9L*f3<&4vE#%Vd@%-_e=HvHy);?17FkE?As7ti0v)i!LWMtnWa{Cyl>k28NC z$G_w9uNaVL^(*G@ z1Y_ky_J5Q9eb5obgdz&#-++!NCKOQ^9YsutXQQKt3F3zdG3*q_4->=>6Iss(C$iVU zf8jlKaLveQJHco>LF6z&XJ0*dz)zN#r?6 z>zYJiCefBjRArL5Xp)vQ$+$epxID?YJju8`i4IH>d7fm(agrIwNuD{$Gp9&DMfxey zPm%812@eInolvN@v`6S~#O1&-YME8vvf7Dluj-f8PW)G|2$eOq8r}EH8a<7kf0bGF zEwk!dX4SVW_Vin|6Xl|IV)QrSGONC2R(;E?`j%N8DrX%zlr=i|Z9l;F*N3v&kJHDn z{q>=&k;3Wz`cQ`FvUs-bbJ zt1T%-jGYqt8*y2@+4k3mGOI?uVenAk8wQ1NSb@U|99H140*4hitiWLf4l8h2fx`+M zR^YG#hrYj0?}Wn&99H140*4hitiWLf4l8h2fx`+MR^YG#hZT*pi+Y9_HjSoD!}BznHcc;{7TbQtGp1>c zWk%1Krct(Olx-Sin?~8DQMPGjOw;uGY4mLxeVaz#rn8!#7VY5M*&iZ_koO`~|zDBiRb&u{RIX&UCI;d~mlr^U10jP6aN zd(-ING`cs9?oFe6)6AHr(Y#?J8_nVY>?3RoJe=b``d(uw8}iDr{F_y9(P?*sj8M z6}GFeU4`u`Y*%5s3fooKuEKT|wyUsRh3zVAS7Eyf+f~@E!gdw5tFT>#?J8_nVY>?3 zRoJe=b``d(ustJvSPo{S4?^{8qj!|e27j-0p{M1Gy}}N8^J#fRws<=w^l13B*t7i{ zwpWs$R>Woe8Tb$2il1R0(bMcBdYXMiPm686O>7%K=_kdupZo&$9`GUXE1>t~KCMW} zI0`<)^ZpN}rxn{6z0UBo;u)c07~{*pPCu!L#VNlIzDg-`)P0V+&r$a|>i!Jr&yfBM z>CccpPnP69>){_01FS&7*Ad zXxe{@!LF++dMJbJUTW{v^GziHcwPGPgM3S9z0E%PgCa8l=(De zK24cVQ|8l@`7~udO_@(q=F^n^yY07+>GCv3N&%yk2%(b7>NVFV0r;*5bS!_I~lH0xlzGTEl&*7uz zm;*kiQO4=VK(8A=r*Xt7C&4MuE5pyJv`+Wx?sFPDY&XCJOpVNjo?|xjoJI<#bb!Am zJV%+&QRZ`$`5a|FN14x2=5v(!9A!SIF;u^z%;zZcIm&#FGM}T&=dv#IIm&#FGM^LA z{*}vojxwL4%;zZcIm&!aW1OFHna@$?bCmfUWj;rl&uK(k4ldBIFVL?q(62AhuP@NA zFVL?q(62A3&FFcx8Ke941+^BV`}GC-^#%I%1^V>``t=3+^#%I%1^V>``t=31EB#jO z%IJQ5LG8-uetm&{eL;HYH@jb7pkH60UtgeKU!Y%KpkH5*rs+xg^#%I%1!>x;;36Z) zMMjW|s@Gz0Q8hAp)^ib^zlhFXRN0*3`Qt^s&G;(eC471bpI*YJm+Yf4w})D?M3Z{nOVo6Unl4e(C2GnonE|(C23M)+Rn>G^w$=VB zHNC2u+P2zXrI&G^X25-#LVt6-N-w)gFS|-DuF}h{suubcz3eI_ze+E=O3AO%%dXPP zuF}h{(#x(==Bt$XD!uF~z3eKz>>BO!8twBMWxht4uTkb}l=&KEzDAj^QRZv3FC?`q~QKU!kw9(AQSzYb*4%75dr=ZD55qutHy3p|7pb*H)?N zDm7iDrmNI+m71;U8Sb0)O3}a zu2R!gYPw2ISE=bLHC?5qtJHLrnyymQRcg9QO;@SuDm7iDrmNI+m71KAF%FVd=Cq*Y&Mth}yvyBJ(&th}yvYuoEZ*BL9XGge+_th~-xd7ZKHI%DN^ z#>(rAmDd?7uQOI&R~_{R)zRoN;yQJ_uG-o5eyZz?mDd?7uQOI&SG|5p&DgG{23%t5jW7V<7s$-4sVl}>t)%Y$}##GcVRb837StEtWV zZT>D+f=U74mI_0+uoT|Q~Ni1XHJdv_b@h|~RD ztj2e-8sEig>NQTM&G2=jrnM3O*8eF`Q*Sal;;QjotR~%%$N4T+ zp7hR~8Y|c}^*-BP8LmlfTz>D&sYz{&-kDS5yI76yVl|YfhVs<-R#H=+)f@O$Qd7^h z?TD_1BGveAQd3V~r=v$Hy5Zk;i=&X`+g%&jx#)){l_jJb8j+&W`!oiVr0 zm|Iti(%Tqw>x{W|#@sq%Zk;i=&X`+g%&jx#)){l_jJb8j+&W`!oiVpT?Hbgp!AV&S zom_D!XmDOiBXf&#Y-HX5z6pH0yu%&Y!fn{^0N=@9|0DQ*@DEA<0QLv5KZJcd_z}=6 z{0&YDZDbz6-UIr-j~khXK+jAYnMc8Ig5Lta4SomQ3;J7ggOfrVnE~uUa0na*y*|wS z-9mr);{I;oLF^*vuYTO$E%cWK?(Y_QRh;{~h5q{4$do{@-!?K6pywlv%qgBMWB(A_ zCxtdL)7Vv>{1NsHwtHVAGmHH+w%4Dz6I|#W4%`VY^vK1X;6m@8;ZAU&zpykiZhMW) zWzci>M#d3)LnpBqeNt#6PNFl5mi4^(NiuF537V5++%^)O&gZ{cbCQfX zNiyan$(WNQV@{HcIY~0soFrq-Nix=)1kFj%oFrq-Nix=)1kFh}6)Hh znv-O#ISHDRWUM(!#+s9GI&p&LBs!PR>DHVivj|#ql8nE(CumNB<|JrNlCkC_XikFW zBxp{8<|JrNg61S>PQvNL37V4x)|@2p-t`2{NrGR&w&o;(H77xHlHirt)|>>*Ndjw5 z!s)~brxPcfPMieRoFuU3Bs!PRXw69iYfggZBxp_&SaXtqc7^67XikFWBxp{8<|JrN zg61STg-@kIa}qQsL30u`CqZ)(G$%oGlF*uypg9SelZ4isB(&xvp*1H#a}qQs39UIv zXw6B`oCM8D(3~W+<|LstCkd@N37V6H)|@1?<|LstC($Wv&isqzfPKxHFXikdeq-aix z=A>v&isqzfPKxHFXikdeq-aix=A>v&isqzfPKxHFXikdeq-aix=A>v&isqzfPKxHF zXikdeq-aix=A>v&isqzfPKxHFXikdeq{KNXnv)Xeq-aix=A>v&isqzfPKxHFXikde zq-aix=A>v&isqzfPKxHFXikdeq-aix=A>v&isqzfPKxHFXiiF;lcG5(nvsLC3Soi>_Q;22j6k?%HAr^jx zCm#jB34ROwHuxQIFZf;Z`W~pY3;lKw)PDua9tQV=`VT&(=sS*3rw|Jdf<wj8>I)zxMH4R~v(*6j023w~P zD}5GQ|9>P~-y((DnJ?7;9|^U4T&PtJp;kGBS`!m$$G%WI_JvxR6zbcz@OeOTr)Ujcs#>MKk(Bjqvbv=*UGAr@*?U#J}&Lapr!wWCAWiT!fyS75&qTc;4~uR4WT zs8fiAI)zxMQ;3B+g;;ni_{`%|x4=M(bty74Fv^Qyy^VM8lNPCkO>CI}- zdPXhT_+h_CT4ei={JgYC&r6GJ>lET_Mp~r5`V?ZJP9YZlCbmu?mi=mMokA>Irw|MC zr05i4*)jHOv2_ZuQgjNja09kZA(p)n`&R5t*ssTa1NIxS--O)_ZU%1ye;52c@NFP< z_j#du^E*j-7xufc--G>L?Dt{6AEe(&i~KA4owUgI?L7Hm?2lmo5%wQr-+_H6Hoa0> zEYvB)*}z&P)SOGG_(!PtM`(o!tVKedA|=$E zOK2_1X5L~9w6-J6gFRp$I0TkJ%^>v51(i9g6&S5(Ij$qeb>z5?9M_TKI&xe`j_b&A9XYNe$93emjvUvK<2rI&M~>^raUD6X zBgZ!Bc~7>@cl-(83f>0(ZsrwAdAsV>COzLH+y=e_e5d@_hMu>f=WU81{fzazO);cx z>v@}ENTc<6v4o{{LF`ac~T@O1CLKG+L$GQ0X?Qw99jfT*}x##Ma8Q(xYi6v;O)l_;;YbRw!i=JPV!&FM^lJ@yFl`;7>uTZX2rGhU&JVx^2>1y-iAMd^z|^ z(CXTTy0%GOZR=c3p>9JK>gG_Pm9`C~Z9{3>6yrI?O55i1-i6&fx!GRO3G_zYgDj*a zNNL5qG}gJ(1_Ir2Df=#P2Y3(oS)Tk;wevQefM@(XDLSQ4_Fs~s{~DJ40QeB-al9>f zm?yu+lkSOa!8gE1z{kJ=%AhYz`m6r;O^BBRkCkm&-*!5_(E7IR=XeI@wZ84=e+K>o z_>bhJm3*Z)U?2fgqsBw=zzEW&5k${u1W~CpcIZ8f9c|f9V(;d!_kn-jTGn5`K)NHA zwya~7Hm!sk{|Y<;(n|Hs!s+_{CDbWK!gH>RzfcIRW^MjXA@m5|rZsav?@_xgYn5x$ z`ngl|9ZLA3(cct=+T|kD|Jn#W8n)>>g0Yj7U&a1)Q2(Q+^jDFt+o)y#f3B%UL)*WJ zt=p(&zZzS&QOkY}m?!0C>=^sC*tcN64toRkZ)0!7z7=~Dwr+0K+unfvM(j6XcT=j( zpib4+Gdl5G_h9TTvqvH9}D%6g5IoBNR14Q6t61&ew_>p{S8!W7}5LNHcEdVnvNK z<2G7RBh9#tR@4YZjWpx-lOv!NHB#Jbw4z3uaU0#&A`~@J+-uv48fnIDw4z2RYJ{Rj zC~AbFMks2Ov7$zbd!4TpH9}D%&9(goD{7?qwb8veLQx~dx3;aQ5sDfqzP0Us9Vxyw zT2Uj-rj1tANHb`o6*WRpBNR14Q6m&JLQx|WHPTF3?+L7^5sDh2s1b@9p{Nmx8lk8W ziW;G)5sDh2s1b@9p{S8=7LpfG)Cfh5P}B%TjZoAGMU7C@2t|zoD{7=uMvYd~NN0*J z3azLSiW>PGQQ211D6pbNC~6c~Q6rrrYP6z8ffY3htf&!+8US7ZMU7C@2t|!h z)Cfh5P}B%TjZoAGMU7C@2t|!h)Cfh5P}B%TjZoAGMU7C@2t|$bjZ$UMH%g-wH9}D% z%`a376g5IoBNR2#T8GoEsFBt>Y+F$y%`co{MU6DSux&++wANwUiW+HtVcUutX?|hb ziW+IH!?qPQLQx~Fb=bC|Mq2A|sjR4x);f$<)Cfh5wANwUiW+HVVYH$~TG=q7ODJlD zqDClcgrY_$YNXkLpR}SzC~AbFMks28qDClcgrY_$YJ{RjC~6d1Q6t~|nq8mqJZpW% zv#RwO&z06|wZW*HAcR^a7QR(^tocy)daVignMc8Ig4)TTly8II0r!HB^M-w3 zAJ`8Tcu$pQX24lcy9@N5OW^b1Prxfi&5MoNfhp_+UjcetSg)wwc#Gd3Xl-1$5!5$0 z*3HLEdu*!z3-9`dPQY@uu~pfuQP{@I-_2=o4?-2U+>561^4itKAtJ? z*CA}LQLNW)9HY)b5^Ar7@Tu0FLM!un%`E)aAM>7H)T@D=fT=N?0X?>^*KAtPXSX{? z?On0`IlnFYdF(Ip%wK{Jkn$k-W$>%u!{GOwyJj(d!;|1&gE~V=DPCz=um6Z~jygk0 zI8OQm>67Gml62~lox=VhI1QfW8IK_AwU@(h`)6{CJ@B`q7zz>67e^{^eJ>y3~*b8AV{7>dE{LkQj0q+6- z1l$GQOL=<0`@pZOJnh6D?Zh7K#2)R$9__>)?Zh7K#2)R$9__>)?Zh7K#2)R$9-5i! zo$bu#+KD~di9OnhJ=%#q+KD~di9OnhJ=%#q+KD~di9OnhJ=%#q+KD~di9OnhJ=%#q z+KD~di9OnhJ=%#q+O_89GC1~VC-!J3_Gl;eXeah)C-!J3_Gl;eXeah)C-!J3_Gl;e zXeah)C-!J3_Gl;eXeah)C-!J3_Gl;eXeah)C-!J3_Gl;eXeah)C-!J3_Gl;e_7LUNCg+#@9S2+2J{a*vSQBP90-$vr}HkC5CWB=^v} zbgUC{kC5CWB=-o(JwkGiklZ6A_Xx>7LUNCg+#@9S2+2J{a*vSQBP90-$vr}HkC5CW zB=-o(JwkGiklZ6A_Xx>7LUNCg+#@9S2+2J{a*vSQBP90-$vr}HkC5CWB=-o(JwkGi zklZ6A_Xx>7LUNCg+#@9S2+2J{a*vSQBP90-$vr}HkC5CWB=-o(JwkGiklZ6A_Xx>7 zLUNCg+#@9S2+2J{a*vSQBP90-$vr}HkC5CWB=-o(JwkGiklZ6A_Xx>7LUNCg+#@9S z2+2J{a*vSQBP90-$vr}HkC5CWB=-o(JwkGiklZ6A_Xx>7LUNCg+#@9S2+2J{a*vSQ zBP90-$vr}HkC5CWB=-o(JwkGiklZ6A_Xx>7LUNCg+#@9S2+2J{a*vSQBP90-$vr}H zkC5CWB=-o(JwkGiklZ6A_Xx>7LUNCg+#@9S2+2J{a*vSQBP90-$vr}HkC5CWB=-o( zJwkGiklZ6A_ehg_q{%(fC!?vYM- zj82n#q{%(fGEd!)%d(&Qd#a*s5*N1EIt zP41B<_ehg_q{%(fN#`Evq;rpS(z!=E>D(i&bxYUl+#{{kOUKSV(&Qd#a*s5*N1EIt zP41B<_ehg_q?2#omvfJ_-t=Vj=$t0^Nb5}vjy-y&$vx8K9%*uqG`UAw&)E7H=N{?6 zxkoy1?vW0hd!z&B9_hfjM_MbWxyOW_Kx}t&OOorcSr7#Cih5_d!)%d z(&Qd#a*s5*N1EItt#2W9hLm%UbjrC$I_2CWopSDx)(XGTxkozX+#^lyktX*@YYpEe z&OOrP9%*uqbjrC$I_2CWopSDxPC55Tr<{AFQ_eloDd!$(tt9JBC(^@+uw8SsGHF2Q z_h2_vZxebY>Q0S2#yC;KIx}3f=`NPp=vkkdGlbk)HNjZ_e!g!t`VWnvszh= zQM+`6*7oY;X5vWgxEl4YPIgeB^uJLZwXsiTX+D zeh6MN(h3`Cg^fYGk5`7~@(00(DA`Kf4St!DXNdJH7CLg+_4;=eg!&Z=;c<@nIx$z` z-&Ih#d(%ecaz_0|f$;B%wTDpgDEJf5-<59+Ugwx;@G2!UU>^L1(Z8!8oDCL%+A*jS z?G+Si-;Pi_1BLIV# zmrB%9Mt_63N#n2aWlDYw+9fur#Z|5rH$DVz6?>aBo*EBwj9Yn=SoJafmUEN1^#d$ zgxaAh{0`;bo00MJCPF=>D?Cs9bMOt$;ML|#@D^x?%%raOUsH2HuPS61(=&|YoBjM$ zuvyuW(Q4eRyvR6aR90i`0v`i=z+SKq+zGw_9tFP%ehd6I_zGy{Y*q$hoCK%9Um7*b zFwO-%Mr_t~8gCG`t3@KA$F+8;Xh66h^g2>I*W4~Gx%_3&T59Jm+SNvi)jB#-tz+Co z$wNL;dD@WB<8^!BF|Iur1P_4Tjnl5&%;nC<+EH3N`B*#oSi6+wW6WE-l;+qBw5u;W zHV^H}#~gc)O}i9mG#l;yJ#FDQ_zTL-Mtdp+7P&@0@h5x-u{mj1Kh+t~Y78?m%*2|j zjs&r0sm4*zx{c9otQo7z{S8HoZez_}UGguWH5|iI3`?X6sDF6*iTU3JL! zBE{BK2fFH@uXUiS4s_KCGo3KgiLN@)RVTXY#1A{sRVTXYL|2{YsuNvxqN`54u@ja$ zVW|^cb)u_Ibk&KjI?+`py6Qw%o#?7lYaJs&C;r)qt~$|GC%WoHSDkoiC%WoHSDoT* zK%cU%I?+`pF4~E%I?+|9RzG}Z>#9>L9!Be`6J2$pt4?&)iLN@)RVTXYL|2{YsuNvx z;;5bI>QBV*h2T%b?Sa!!k zgZk`9@Q^+m35$)&c}@xs$+aHR%9Ueh7Y{K;Kg1aQkXEAfDb=FmRg1CR$1_qtr0hb+ zE4%P9XDA;9e`1sy8$JF$qzpkvGNwPI+`zF%_J^gA3qt3>4>L+WELAxE3FuMsVX49; zXTd8*DZ%J$`QhMcAEVZEd<^sm_^{f}CEoR69tTu9qp2HF@5_Z9V7yNgrzpI4ou}i()@v}N}7ujQ%Sap0DboSUKhF#+9v5V}n z%fHH{_%A_ck6r#%E}^r>F13Qu*<%-N-9=k>kv(>iJ$8{jcF8ex9yHK}2D$=|%Uyx9 z$1Zt=(e2xXHoDM87ujQ%T*80lO2{6&$R4}M9=pgMyT~59)XF}m$AvDf0UDh>c9A`H z1ye6dq%t&@Y~inu5qn(Tsud@fdvxBabtlL6(yc)s z@lMbq^;Z9yt5Cn@Dzw_S;;vh@66M%q_f|%qt&BTcHSV}Xzve1@h4{O~UMJit)%mKN z;cR6UdaG3DtNjUR*WIc-&}X*yZdEqu*nYKDt5S~b!&@1%wzB@b74O~3`tw#Cc&oIh zx}-hTr7TgO!iTrwz+0t5|Mflk>m&5~N9gsB;E<2tkdNSykI*+Cp>IBdH$H+ZK7!*t zg4cDUif&ZVjViiPMK`MGMit%ihk>A5x%360Rnd(qx=}^9>K#&vRnd(qx=}?ps^~@) z-Ke4)Rdl0@ZdB2YD!NfcH>&7H72T+!8&!0pif&ZVjViiPMK`MG4y=l9M%8Xq(Tys) zQAIbZ=tdRYT9fpVRz)|e=tdRYsG=KHbfb!HRMCwpx=}?ps^~@)-Ke5lqwPtZ$ExT? z72T+!8&!0pif&ZV%~;%xD!NfcH>&7H72T+!8&!0pif&ZVjViiPMK`MGMit$tq8n9o zql#`+(Tys)QN^RE;!#xbD5`iARXmC+9z_+8qKZdR#iOX=QB?6Ls(6euJjNLw;|z~+ zhQ~O=W1QhJ&hQv#c#JbV#u*;t41Rm;P~f-63OU0z&ajO$=(}H+a|UIvYLRW6VH;=I z#u<7zLl0-@VMOa;MC)Nh>tRIeVMObZN=JeoMzkLP&ZJ_GXg!Q*J&b5QjA%WKXg$h! zeT+x69$lN!BU+EHO~|$NaBV$|Xg#_@mwP>=hY_uZ5v_+2t%nhd$!WF&YT&wrd=^EkccaXkNVJpXY#|8YEj zC#!ZlS+(1lJg(2~WTj#!`NK|D?RK(iw^QT3{;Cn*=vBL&8s&{%wcDvN-RM=jos8o< z8OL`rj_+gy-zjzZuM?nG?RIJ`HhMi_C#!ZlS+(0KUAg4fz#D{L@GqhVU+^!Y2VdZ? zU*NA_q>p@&KJrDB|3#GVH*pUIeiOG)Ivf%12fbGOgcN0bnUWuaUfFv>XHdD$VDwt? z6Vl8{q1TF^kWPGzS6ZHsTKre96+a=(_^)0oenM(-$u~f+6+a=(7`;~fgxXrD_8ky< zt@sJGsg76Q8BvDhwc=g6W+DB3m-_pFVy_kNqQCD_y9_DzTJbK{Lw4z!b-b?G_!*xk z@T%G_RzG&J*0Bp8*rhAir*zFmuNCjo`i9Z-pk2CVmwT;vm)g$g)w5m7yNsR_?NST6 z+_UCgfoB}Mw=^m(eR`Px>7|!eXQRVVls`_M|+) zv1iIp$_*TQHu|Kr?Z5sIykzt{fP`tVost;zx2sRmyPu^0K1pwVQoU7Ylm7kLGoYU+ zd{X_?=-KO&^uZ_TgHN(*@g%DjPpS{AXm@aF;i zc>v}IV15999>AXm@aI7}#y~LWUs4i!)-$Mg&Q}S&N-(Il7!vNM#QWz5)gmsj+6Qro zL0n?czk#L_&s7KYMgqsDiN6QBy#_Ty@u&WVGyg64cl`AS;NOF8)4}AAh)2MG;8SOa z{}J?R(qQtZ;Q!)0|3tZd{Y>Sr5qqEfVAA{K2b1T)*E#Z^iGR*#|4**-0ww=KiT8L9 z$}N4KDdNi>keve+(Y!={em~jId8>g!N~0;MXbl2>X<>GN0j_#2#m#BI|gH(e^1R z%Ex%jeTp38DKe|4)S5ao`PEZuQ^yNIkHTN#9>2sreu=C75?A{rH1H)fz?F13*Fy&uf5QHocG!bol|`o9(cRG zV)w)^!^W32Iym-7?Kj;UzwLS%ufME*=h&n6m&Jhp>fXUy?}hFWe(Sx;xg*|muh<&? zGI_|;Qs#x=X=&0p3jP%I3jEVjrtx2l@;&1gP`_lZcsr=yi&Ok(;1TdIK(E6;&4~82 zuFdg3ffqrq20Se_8oj>yv@~f)09jQ1I`{b$Jb zpCPM%hOGV>H1G_q|L1-qK(L3gZx5}xhcRvst+|KR+(T>bp*8o=ntRBK_t2VqXw5x% z_#Rqw55B#J*4%?v@1ZsK(3*S5llRb?duYu)wB{aKa}TY#ht}LfYwn>n_t2VqXw5ye z<{n&b53RX}*4#sD?tz~@wB{aKb1$vAm)6`%Ywnf9TnP4(ne3%C_tKhsY0bT~=3e=U zj-fU8%1<1-HTTL-jBd@n@H&i65o z+lOQ9V>Y)>*FO^M6Xyd$f2+Qa+1x(ek;~n8_QCc(*xn~Uamg=@%vts^XW7Rc?cpO5vLBu7=gRlv^ZW7n{rLQTe11Pyz8|;WkK6CZ=lA3D2jKqz{2ze-1Mq(U z{ts}?2jKqz{2ze-1Mq(U{tv+a0r)=v{|Dgz0Q?_-{{vk40r)?_^&f!$1Mq(U{ts{$ z2jKqz{2ze-1Mq)KFeM3PI;Aohril&pXJJVQ@rAfl=%CIXW{=@uADc* z2fPbj=)DBb!v8_|KM4N^;r}4~AB6vdT=PNrKM4N^;r}4~AB6vd@P82g55oUJ_&*5$ z2jTx9SAG!w55oUJ_&*5$2jTx9cX1H@55oUJ_&*5$2f2%b@P82g55oUJ_&*5$2jTw^ z`agvJ55fN-_&>zG976wx;QtW%KLr1W;QtW(A430!;QtW(AA*10H6QSnd7=3~g#LNI zykh4$hv5GZ`acB!yk$N(g#Hhq|3mP92>!pqDDV~58NR|DeT6&vDs#QBGS~YmGq|rZ zgYz5S2Liw0eMIQ_)N{E#H?zFoM%XCzYq*b?MCOWL(;0zvnu^wj;=w!d;?mCdWzKNM~6dXL_^H8 zhRBQb9hyHY6&alu4M{Ub=S4$mS)=D!Lt@ymbD<$}p&{|6m@H_BENF;%){ySh<<4e@ zm}fmNw^F8Q&Tc^*f7K6%!$JW8LH zM;RaTk;;c7p?|^VdCjx*DP^QSa@c26F6uZ-c@F$K_zlWm;tZZ=J+D#2XLHu{y!3fe zXzzVq`gH6O@Oh0OKE@f;^BON4J70QUxwq<4>#Hth;EsQd*t-y)SH3zF9M-)@LhsK! ztos@edWXYd-IrqBm&$ct#?QDs@M`B_Ryz-~+Id*_ z^f|)lbA{qTtHU4Lag z`cRd{u4;O-?NqN6AT!l9L=ICpk(^aulaM zN=|Z=oa87ia+DT1isK!{>yFYQN6A2rl7Sp0135|?9VPcTO73wKKRJq@93}S{mOpIM zij~zhEPqhUl@Dt~9#HHZIKvu?9S?)n$uM^`%-ZI#?n|H5DC}dt2YL;8SPtXQdR23n zQFvIRu#fox=pDJk@*f}hBjOQI?{`p%SDuG83LCwTWtg5jtQL1&dcT9v?LMp#*~fT= zb66v?QSWyUx_1w2Ty}gO^te2%aoHt$zk~4SoaX{1|3dt)T+bzNit=gj3TL}YJY$p} z>iqIU<8`2S4Gqf=jT?M6jmtjL*K%3nf)~4utsX*)BM#V^{_^2m)JRn zalB!T(T-_-t$8~3n&+@Q+-LJj%dni>vDZ9@@y1~}i8*-@bT1oLFLQ}kL5HPYquqFz zTzXjE;xl+gIV^{9>^?Z`_d5uk(G6>)Fjs#|jDDnfm!lbt+Wr(e(WvcM?{^To{|>VX zI;?MD)Z!Yu{i%NiJ!2i#xZ@+e7CNla$FWy_hBXE`_FCw$9KhG_C!vPr07j4I!+yVm zFaWRjk+{LIdYnG1@yloj9@Z#koX3&=erH&txpBVl%kOs(dSz)?W1Nq)!w+kubL?GJ z!y50l1;-f8k1?7bV>Ca;Xnu^*{1~J8F-G%ajONGGQ!WI@7|o9{njd2{KgMW&jM4lU zS>-WC^J9$W#~96zF`6G^G(W~@evHxl7^C?yM)PBg=EoS#k1?7bV>Ca;Xnu^*{1~J8 zF-G%ajOND}&5tpfA7eB>#%P|!i?X;-78lAgFUT?@$TB0y%7uo4EWVn>g|f^AvdL4F zdoGY=E|3*71B#vRW#v3BcfOZRI{(j#E0;U}&yxRV#hXi<|7Xenv*OStKLwrnXXP`l z-I;%u%s(rKaqP@LOU|E_w~Q$MIiGUopC$9pihrN&Upa#_|16n*mdrm(=AR|=&yx9P z)gs%1EPj$zi|Bar{49QwCC|^2=V!_Dv*h_%^874$epY$Du7pu0t9JAmypEbxYdW@j zWYwmQ?H*aRtYf=JmeD7xR(6T={49BXmOMX8o}VSR&yw3`$?dab^;tQFk9Ss|#WAwd ziO*xl$Vx4ay(*iP8yKC#XXOKqzY98J&yulc$=I`G>{&AQtopu>^sFsQ#-7y^_bzeX zo(-JiWy#*Nf#+^nY0@=1L&)m6dza|#5<-s=S@QWT`Fxf!G%NM`czZ%t8g^_?$V$nM zf9X$=$!E#rv+D0I3H?{~cgJaBXYW}?+br38mh3%C_MWA`XVnY*DX)NK)fXH)d(V=+ ze@#7NDEOLsgiw0EAarK(HT7bl6ryq|#OR%1UlUhC)nfGSsT_SON1w{kr*ibE9DOQB zpUTmva`dSjeJV$v%F(BC8re?zNK9!?S<>*s6`c#fSm7`DP=u*s6`c#fSm7`DP=uX?mPvz)SIr>zN*>sLRm7`DP z=uzNK9!?S<>*s6`c#fSm7`DP=uzNK9!?S<>*s6`c#fSm7`DP=uzNK9!?S<>*s6X2Ci7RE|ECqfh1NQ#txnjy{#6Pvz)SIr>zNK9!?S z<>*s6`c#fSm7`DP=uzNK9!?S<>*s6`c#fS zm7`DP=ud>vj?-(7(`$|^QymG8qw3?zLKUN~<9rWt zobN%7qo3m_=Qx@*xN*LHWkE^ZySI;hw zGgCWGn;wV%<1l|5&X2?PahN;~lgHuhxU!Cs-~_qE39^V2WDzIGB2MUzF6ggb891SS zCnQfeL56Tb`ge)v`zNG%qv!i4q*9~j`zNGNqvu&CbZth@{ZEiBoFH2`LAG#0SEzDw zh7;rrC%D=ZTZ4$^ByKq}CR;3H@E_NoKfupD^Wq66Yjb>8-7l zTycrcsWa%DMt`5HUHrt|pm$82q{Wq``pmSo#y5=!a$nFprcToOC$&25GnmhlT4!)< zR!?d@!LhkL$-MO>^VXBhTTg0*!GATkCpF7f3(%^7_Hcsbv?#6!MBX6eMsoJ=gZXi zZLvBMe4Dj`Z?jhLZL#4JKcDq&@gUTd8{Z-P4z2bbTJ1Zu+IMKRS2)iroaYtJ^9tvA zh4Z|^d0yc>uW+94a-Q#Up6_y=?{c0~^z>8o@l*8iQ|jX*!709FIHgurOz%F$w+yG~ z*Qe;$r|8$G=+~#{*Qe;$r|8kA=+US6mf@7z(dYR~(CbB~m>Hd7PIQWI8BVE9UG6!{ zDf;p$`tm8YsY`xoWTt@>kWpv}JDyFZU zrmvmWy!(Pm+~ZD54>~4zgpzLJM~NQ?5Aj*+?X)!P^LRJKX(`!f@Scj((z9cK`*4~* zc$&LDO&>hXy`RR7Ps6}z-1sy+oThJ{hKq5A2<6xZuWgz{QI={U!&*0M$dnZp8py>{~gEw9moG2$NwG2|A6Cv z!0|ue_#bfmk2wBE9RDMZ{}IQJaQq0z>o-Tm$q2`vQF#=cQMpiVIUw|U!Wp%iOWb$P zsMTEJ6@W9i${FtQ46brUXVZ~7n{ktmSKH}GwcU`g8+?NDLGS?Rb=oud&l&Y}f7WB= z8MWXxp?^Q{j8+$Y4A-Exb8N+)QQJATZqLx~&d~49sJ&e7es_jvd(ZG}?-{k7%dOip zJllIlEvOpd=Zsp=vAy(+yi`ZxZ2t&j{|ICM2xI>UW1}!O3S*-%HVR{-Fg6NfqcAoK zW1}!O3S*-%HVR{-Fg6NfqcAoKW1}!O%G1!JJPkb>n6Xh-wnt%X6vjqjY!t>uVQdt} zMqz9e#ztXm6vjqjY!t>uVQdt}Mqz9e#ztXm6vjqjY!t>uVQdt}Mqz9e#ztXm6vloG zV?TzmAH&#>VeF@r|CI8dQvOrQc`tmxd*K7#3orB&uVdtUW8`~dVpt`b0gVX#{OMTo zSz?b|W10;a4}*SMXDn$q7*kuE6ngv}W1sC9{y(M`@iDJ}o}G;)J@Sr`Nsf_8j*&@@ zX-=Wfl24AY(|(NcVvG@Lj1g*#y|`n+Gd_b_$LJOEF~+Ph#;mcxyQjv~F8=FF#2z)q zf>Yr4LC*ol7&XR}$@{PN`7vehM(^MqW2gNXJMG8VX+OqJ`!ROfkEy+M47+^C*yTHh zM~&f5W6HYySI;rW)LzDSQ{wsNYqZX5w9ad+{k|r}s$7|a(QCG^NxhD}R{xr^2qEqG z8twHOYm%=?nJ)KQ{cC}Ts<0xdDxyCpO8Al=GC}bRkjH8fo6f%xN#!<*P3K>Ts<0xbtg^Z(+aTGF+LdH?Z zI0_j@A>$}yoV;Qjg^X+Vr@LTAGmb*WQOGz78Al=GC}bRkjH8fo6f%xN#!<*P3K>Ts z<0xbtg^Z(+aTGF+LdH?ZI0_kO_H-77oJApLQOH>oau$W0MImQV$XOI}7KNNeA!kv@ zSrl>>g`7npXHm#m6mk}YoJApLQOH>oau$W0B`ZElR(zJM_^f>CLU0y^oJApLQOH>o zau$W0BM&@B9(ayC@Ep#3j#fU08=oT&JV&dYBM&?mJSMi!kq4e54?IU6c#b^q9C_e5 z^1ySn)H&Ss9PM=ucRh!@p2J**XcE{(`#O*cf3yTc%5GGI=$d^)c87T{Aczq{tVUq4AuP%E&U8F{S1D720s(j zGC?g9_`n1{Fo6$D-~$u*zyv-pfe%dJ0~7eb1U@i<4@}?#6DVW?ADF-gCh&m?d|(0} znBa~kxT6VtU;-bQzy~H!)C6}r!JSUv0~7eb1U@i<4@|(o1Pn~z0~7eb1nQbVR}=Wa z1U@i<4@{t|34CAzADF-gCh&m?d|(0}n7{`n@PP?@U;@=m-~$u*zy!=s!2AS0Fo6$D z-~$u*zyv;Ukruf~i(JG9F5&|h@qvr@z(suEB0g{tAGk={U8LG5LN1|@ODNG5LN1|@ODN0g+iuK$P@~hLLpNqWD12$p^zyQGKE5> zP{0g+iuK$P@~hLLpNqWD12$p^zyQav6nOMj@9`$Ym6A8HHR%A(v6eWfXE5 zgMj_KEWEzD`qmXG7GL1r}QOGn3nMNVgC}bLiOrwx#6f%uM zrcuZ=3YkVB(Mj_KE zWEzD`qmXG7GL1s6ppYvlvHyjplQc#PO< zhF6vSy4)*=SCs=hcHVeZnXqI3^2t?l$gBD;%ys$qaIPvhcDYv@~)#V%zAo znybo-7GRt5TiOtC3fgMf=QNlf0^2+Oadz ztIDVyJ1@Pe_7WCcps+d6)GpJ$)Rm`A@8B{TYDrQi{462wx6*H(}235?U ziWyWfgDPfF#SE&LK@~HoVg^;rpo$q(F@q{*P{jD)Oizk1F!0B9AKas3MOl@~9$@D)Oizk1F!0B9AKas3MOl z@~9$@D)Oizk1F!0B9AKas3MOl@~9$@D)Oizk1F!0B9AKas3MOl@~9$@D)Oizk1F!0 zB9AKas3MOl@~9$@D)Oizk1F!0B9AKas3MOl@~9$@D)Oizk1F!0B9AKas3MOl@~9$@ zD)Oizk1F!0B9AKas3MOl@~9$@D)Oizk1F!0B9AKas3MOl@~9$@D)Oizk1F!0B9AKa zsNyYD@fNCh3st;@D&9gBZ=s5}P{muQ;w@D17OHp)RrtNn+kyhSI{o%%#jIcy&_)4m z6wpQiZ4_A9C`cP4I?_+97o?CO;c59vfnA*iU5U@*U7ZC+(n9iYIo`WE3rX+FDGy zpfTD0O-U z>|LD&c6Aom)mdOyr{9#VPod|6^sKY7tFyprPk~*X1$K27PMZDc ze`A-gR?7Ez9wB}d^h!}dy};!?#NO3eVAZIgUf{Toa_{Oas4p13tFsVzS7$+cNQ~aq zSs-I6@ccy~aOO~8S7$*vjP6(aNnGMAq7ZmjXF)y4XY;Pkf_ji+@9HeDtFxe-$Di`9 z&Vs)GGI~9>5TFqCGM~Y_Itzin(Gyz^={$yE+T3j1|;RedHuZdRJ$GRkDKm zsbhb0T~Kc3d-1N$f^svXcXbxD3&rSNodxo=0(n}2eqB(%)*0y61@&vk^ElGGIt%pi zf_kFvi(Q=s*4zr}=|0lCIt%LWj-4A6)LXZu{OlqD|{1ntq48_`sA=EP(sf2fR3iXVJ@H$Y>XeichG~osxDSi4#J&7#To(-Y)YzVby zL#RC)LhacQYR`sH&u9p>PeZ6@G=!HxJ)@CIhz+BjI~LCOk-AgIdPYO|9+jlHyA*eq z;_gy@@++0HBMJ8whJ^Yh4WXX=5)M(KeV&T7i$Ew}63Ul^%5sJJB@Ll=rU|uIP^hd= zsH{);Hykf_QmmbyLhbw%YUig=8WU>gr%-zch5x{(wDVK3p8OK($uFUH4+`Z-Lhb() z%8`WH|0x^?wf|GG_J0cHMM6FKCHy&`)&5V#dSXbZC%=UMN~~Rlil>P6vXAVfL{EMx){|dCJ^3Y+ z3kmh)mr%|l)RSLAIge0JehIZBRH!GvgmNCCJV&S}zl7QmD%3A&2=(NbP)~jdpXQi9 z2leEaO7?^LB@M-T@=N$tO0-8*vG#}x7avPz3Nkb^N5z1|Z z+BGWFEI_DPfKamlp=JR>xs4EQ$ZdQ!?F1I;$uA*#u-hm`19BVlrX8e0J^3ZnlV3u) zjqsmA+R?k(RH7Alp`QE_%4dX{F$uL(RH!Gvgz_1oTqUJ$;7@sPoA7#<+f{`6B@JQd z!deh8q~Z`vEAc3XKq5x?}Xby&FK_tPl!;n zHlgNgLc7Ox&Y*;vX9+dm5o&Igy3RS0P%|l^-QzlEL_+QT5ZXOv;S#gF4?(frU>0sL z3m=%J{J|yKl`TB$n7%N}d+iiIEEk%E+GnBjStxuK+Mb1~XQAp@8X5gr>u?qdoTX9E z@i##2wNtFU%0fNKCHxNM+H0ryyTqDhE4C_Tp@&&0VU}87<+SE3&GGeD+HRJ{f{~Qp zTYW)jZ@*q`VYIhjuRAi@;jdSV2yyT0@$KvJZNFpM<@W9C#k|qJeLcQ?y?TmceNQUX zH>5&)xZfOYw1@l6(MEm$mGYaTjdt?ux!UWw+UxQ2>+$p1w8d;%VK%KWTdgpXn(fsm zq1F>pv*CZXSCbUmXJ*6vY?z-7^Rr=oHq6h4^Vx7d+bc*qUUPgQ=hXE({n{osvKCF=|u)Rl632+O;VBGHB1As}(|B ziTaVtwF5_}JygOhm;?2;XqDK{=W5N+$9puNt9CcK-RG*^9lPD<2B(PaTE_b`n zl~+3+1%Cp16rPJ$&(->&V~?S8wSH*)1!z^w)heP&aNxOGOLS}>p6eAwp_!lSbw#21 zpQ{x`U8j2M$y6Ht)9{}r$4J9rTJx8YR2nAzE;GkwGOhWAV)#tMXPWWR?;X=$;U^6n zezTZM%z)n}X7pYA4Pr)*L22cyM(v*zz6JV@(%eg$yWl-yDp4*f^fec8%|%>u5t=DN zGeu~o2+b6snIbe(gl3A+Op*Gv&Y)H0A)z%>#Qhd=r$yXp5qDa|Jr;3~MQEldux5(T zOc9zXLNi5ZrU)L2&`c3*6rq_SI4MFiMOtB2?SVB@1WQF|rU9P zMX*M&t9h_A4}Rvs#yohK z2LtoC_j%m)JnnZM_cagA%tJHt(9AsUXdd@6kGq(s>(}q!p_zGH^E()A-{D<TxZVt6h_W5uvtjK+%LycmrYqp@N%R*c4qX^UbsR*c4q(O5AW zE2c$?(O5C-5;RkSW=haZ37RQ^hY~bX0vjc0rUXt(&`b%MDM2$OuvCI(O5myl z&6L1c37RQ^w-Pi{0(&KBrUVX4&`b%MDM2$OXr=^iOVCUSnkhjuC1|DuhD*>)2|Sme znG)D8K{F+2rUcEDpqUahQv&}B;C})9FMz`ZaJT@?EP%-cFu4FG7oZuvr(IsL06rJM z)dE;r06z<0V*xxYfPn?v`vUHI0r$Ir`&xiz7ND60Xl4O-w19hAz+EgrGYinn06K;?R-KwTfa~kR|M$cRp!ox!G;1ct& zkeqy>`iM(@Oo``53w2dGgRaWhPRT>yRXxx@n$?BUvk-0+_T7xL@20oD zo3?(B?({ z#*Kc{sPKP+UjV-dYDc}wcYy<--b$RVUgANfeXX;jz% zHiAuHGuQ&Qf}a3C3H~AYDe&#{WPJWq1Zv%0aldN$4fy{J`2P*~{|)#rh5u6cFNOb7 z_%HRFUQ?y;U+Oo#DmMS6@Lvl5r3v$23jd|>Uz#xgrGC?^(EOLef2rT}s@VLO!hb3J zm%@K(!u*#e%ztUZ{Ff%oe`&(}m%@K3{FlOiso(Ufa`Rsb|D}G@t77wC3jd`^^Iw`Y z|E2I>3jd|>Ukd-F@Lvl5rSM-0|D`GOU+Oo#3eA6M%KVq6%ztUh{FkQ8f2rT}Dm4G4 zDf3^NGXJIUU+Oo#DmMR%;eRpwFNXic@LvZ1W$<4H|7GxB2LEO7Uk3kW@LvZ1W$<4H z|7GxB2LEO7Uk3kW@LvZ1W$<4H|7GxB2LEO7Uk3kW@LvZ1W$<4H|7GxB2LEO7Uk3kW z@LvZ1W$<4H|7GxB2LEO7Uk3kW@LvZ1W$<4H|7GxB2LEO7Uk3kW@LvZ1W$<4H|7GxB z2LEO7Uk3kW@LvZ1W$<4H|7Gz1Uig16{J$6e-wXfc@Lvx9Uj_eF@LvW0Rq$U0|5fl`1^-p>Uj_eF@LvW0Rq$U0|5fl`1^-p> zUj_eF@LvW0Rq$U0|5fl`1^-p>Uj_eF@LvW0Rq$U0|5fl`1^-p>Uj_eF@LvW0Rq$U0 z|5fl`1^-p>Uj_eF@LvW0Rq$U0|5fl`1^-p>Uj_eF@LvW0Rq$U0{~v(=55WHi;Qs^g zUk(4&@Lvu8)$m^p|JCqc4gb~fUk(4&@Lvu8)$m^p|JCqc4gb~fUk(4&@Lvu8)$m^p z|JCqc4gb~fUk(4&@Lvu8)$m^p|JCqc4gb~fUk(4&@Lvu8)$m^p|JCqc4gb~fUk(4& z@Lvu8)$m^p|JCqc4gb~fUk(4&@Lvu8)$m^p|JCqc4gb~fUk(4&@Lvu8)$sp8`2QgM ze-QpZ2>&(kUjzR&@LvP}HSk{p|26Pm1OGMfUjzR&@LvP}HSk{p|26Pm1OGMfUjzR& z@LvP}HSk{p|26Pm1OGMfUjzR&@LvP}HSk{p|26Pm1OGMfUjzR&@LvP}HSk{p|26Pm z1OGMfUjzR&@LvP}HSk{p|26Pm1OGMfUjzR&@LvP}HSk{p|26Pm1OGMfUjzR&@LvP} zH^cwU@P9M>-wgk?@Lvo6weVjH|F!U63;(t7Ukm@W@Lvo6weVjH|F!U63;(t7Ukm@W z@Lvo6weVjH|F!U63;(t7Ukm@W@Lvo6weVjH|F!U63;(t7Ukm@W@Lvo6weVjH|F!U6 z3;(t7Ukm@W@Lvo6weVjH|F!U63;(t7Ukm@W@Lvo6weVjH|F!U63;(t7Ukm@W@Lvo6 zweVjH|F^*ZE%1K}{NDoqb?{#Y|8?+R2mf{OUkCqn@Lvc2b?{#Y|8?+R2mf{OUkCqn z@Lvc2b?{#Y|8?+R2mf{OUkCqn@Lvc2b?{#Y|8?+R2mf{OUkCqn@Lvc2b?{#Y|8?+R z2mf{OUkCqn@Lvc2b?{#Y|8?+R2mf{OUkCqn@Lvc2b?{#Y|8?+R2mf{OUkCqn@Lvc2 zb?{#Y|8?+R2mc>}{|~|chv5H1@Lv!A_3&R0|Ml=+5C8S>Ul0HF@Lv!A_3&R0|Ml=+ z5C8S>Ul0HF@Lv!A_3&R0|Ml=+5C8S>Ul0HF@Lv!A_3&R0|Ml=+5C8S>Ul0HF@Lv!A z_3&R0|Ml=+5C8S>Ul0HF@Lv!A_3&R0|Ml=+5C8S>Ul0HF@Lv!A_3&R0|Ml=+5C8S> zUl0HF@Lv!A_3&R0|Ml?yVfg>o)4Tjk<12x~|)(>$arpx-IFtZcDnZ+obi}(ev7)6P}dUbT0&h* zsA~yzEupR@)U|}VmQdFc>RLiwOQ>rJbuFQ;CDgTqx|UGaN2zNmbuFc?rPQ^Qx|UMc zQtDbtT}!EJDRnKSuBFtql)9Eu*HY?QN?l8-Ybka8Hg(-jUAI%$?bLNUb=^)~w^P^c z)O9;`-A-M%Q`ha(bvt$4PF=TC*X`7GJ9XVoUH_T7mQmL->RLu!%cyG^buFW=Wz@Bd zx|UJbGU{4JUCXFz8FekAu4UA5XYdLi- zr>^DHwVb+^Q`d6pT25WdscSiPeVn>hP}d6TT0vbasA~mvt)Q+I)U|@TR#4Xp>RLfv zE2wJ)b*-ST71XtYx>iuv9SMKGa7V)5FWixMpR{_1eC(v~x1`}aNuo|oZYr#6O9?bas z@++f$Z&28;D_=?LtfX~T(mE??ot3oCN?Kom|h4YW=Jt<#{f=0d80)@ew%bsA`$23n^f;nrzLxOEy5 zZk+~=H9p?0(~xlMG$hom|h z4YW=Jt@w@!mb6V*%WG|)N?w9YD8XBDlpiq=_0>#U-6R?#}EXq{EG&MI1G6|J+1)>%dC ztfF;R(K@SWomI5XDq5$J)@h`58fl$ITBniLX{2=;X`Mz|r;*laq;(o;okm)xk=ALX zbsA}%Mp~zl)@h`58fl$ITBniLX{2=;X`Mz|r;*laq;(o;okm)xk=ALXbsA}%Mp~zl z)@h`58fl$ITBniLX{2=;X`Mz|r;*laq;(o;okm)xk=ALXbsA}%Mp~zl)@h`58fl$I zTBix#n&7Po-kRX83ErCEtqIRcVtp(m%;H?GTTHvh(-dfRcVtp(m%;H?GTTHvh(-dfRcVtp(m%;H?GTTHvh(-dfRcVtp(m%;H?GTTHvh(-dfRcVtp(m%;H?GT zTHvh(-dfRcVtp(m%;H?GTTHvh(-dfBrCz+q$Cgi!Wewm<-te5Pl0QVsm=at z>d%NjFI-KHtEq8y!Zog@#?=YexH{n)S0`NKYHD0fjjNNcadpx)u1>nf)zr9}8dnFd zadqGtS5xC^YFwRijccfJ4K=Qz#x>Nqh8ovU;~HvQLyc>waSb)Dp~f}TxP}_nP~#eE zTtkg(sBsN7uA#=Y)VP)!*HYtJYFtZ=YpHQ9HLj(`wbZzl8rM?eT54QNjcciKEj6yC z#!|TA^|+DLUFvbh_bIozOTEdc-)t1>8FQhZV7g1a$>{y?cc~v4Uk1NpRKE~P z`8to3Z)|gkly58r%fNE50;~k9z-q7ttOe`9dg1+I=6>NPK#1=)HLj<| z_0+hY8rM_fdTLxxjq9m#JvFXZTj>1MxSkrn#uHEy8B4b-@S8aGhm25Q_ujT@+OBQ_zyHU%p}@~y%Qs&KIIx81s?;q zfj!`M(7T2*tlDK*wac(-mtoZ|!>V0|Rl7{$w8!DC<+{2KTo=$+x2g!jB<65fH9Nq851Mh@URI>|9F6Z`p*j7C+L zze4PNO_{`B5qo!2Ch;n<_c&z|dh>|TJ8d!vKQ)#~=owX^o>3M0sj*B#&!`IZM6*!u zi4gt-^v;}2;(vkOpOZ=WiGU2Nl$pdh@mcU3_@=Kpc|GXotuo0X&^xIzNk18yVLdaG z^pl|(Ry8xp5@PS|$s}(e_D;D>@?GGKZslYdSWQU{SPRyH_25UqrJUz>a2fbC5FQk9H!pp@Lrg_A6yS^05^i0gqstyl#^^ugrHZnHj}k(#$h%G zvt3RexH*_h?7gxPUKHU)5l2RNQG^#ocu|BGMR-w!7e#ncl&}{?32P%t*o&fsy(q$q zqJ%k#6854fVNRliy(mi9iz2)z()xoxWiN{GqDbSrV|!7g@!e=IiueX0!iyrjD8h>( zyePtpBD^TVi=u?RC`#CiBD^R{*oz{(C`#CiqJ+ID!i%DWy(mi9iz2)zO4y5{guN(A z*o&fsy(mi9i=u?RC`#CiBD^TViz2)z!iyrjC{j-1>$ew0cu|BGMSRB*;YAVObVPVj z#P=N$UKHU)5ndGGMG;;U;YAT%6yZe?UKHU)QNmsn;YAVOl|*<^gcn74QN;HqQNmsn zCG15JUKAzmMG;;U@vTaP7e#ncgcn74QG^#oe9sc$MN!gT6yZft(q0tdMN!gT6eaCN zQPN%%CGAB~(q0rL?M0E+opdEycQV?GBIR%54KIrDq6jaF@S+GWitwTcFN*M@2rr88 zq6jaF@S-SiKhjQ8pA#?AzDQzwQKT7=%k4#x=0T3_MN!IL6lpf(*j^NAPUP5L6lrGU z*j^NAe&pC*6ls>^*j^NAuH@KW6luof*j^N+>_t(^UKFM5MN!IL6s7D%QOaHvrR+r! zUKHU)5#K#Ucu~YRP!V1f@jX<87e#ncgcn74QG^#ocu|zH7e#ncl(H8^cu|zH7e#nc zl%iMSMG@avMR-w!7ey(1QIxV5MJanxl(H8^DSJ_rvKO`EMeTS|yBuanC0<=`$6?y> zqISHf9WQEE3l61XyeP(tVvdaQq8KlV@uCcERS@S+a9r~`-Tz>7NYq7J;M126hBedVYK`!}a^&xTzYDGe|C`*tUw&o$eM(x0 z?<8&|{sU@sCfUz-I{kd7)6aK0{d}j>FCX)@={>f>N5RKH{mPI^dO-ckkYdm8`th-T ze5@ZI>&M6X@v(ki30o9zQ4EFCQ~z z!LNZYg2%bL6QJJRpkuxPzQomji(^hw*UQA;Cf4r`>Bv`zJ!`un6=luU~GaV{o&6xtU`>JJT;WbL?4Ozue66LO%5_&^b)M+|2ks>neE@ zSj}H+z*?{ltOq{=dQV8d{7njxzZsW-AEy@dDSwkn@wa~Yn`>W5UEa&lpZtYUzfq&l z26_vs@H)`5!hYPZU+$;-mHX+lazC97_v@GYx#VvDRqm%)?x(-X{TweQE+c*~aXE1X zcoQX+#P27rBK`nzHSq_DYlv?qt|h*OxQ_Tk#P!4&`#JWkupjs9m;1TI&&Bl1{T%!0n0~pRV`pOhazDq;#QNoaj-841 z%l#ZX6YH1zIrgluU+(AlZ4U2+$@{_e;0ACbxC!*Go_;B@N^4KEz|bg9GtNy^CH%i% zPu`wL5+xG9rGLL2Clmik|MhkpB<3cTUyD{sCcbnno|9ORxOgp|n|M$1x@&PdadUFi+?AR`Siy77Jod`zB$u=SH}aHO*c1fzHigw zmb*5^%QGAAU3^E!T^k>`r|#yuTRvL%v6hd2)PMCKYy8)@|M;s9EdF<&_=Ee}W1VfW zKl#7?%meY_yB2q}-*xYOpSi33j~8d||F>(pYty}pKXcdT7T-gN}`|iCje&ExabQd?T@A%BdRS)RwvFh)nj*j*BE&kZ%yYA7y zuKneMi~sG8KXmgg|Nh(@b#tcu)3xH!=ZI@p-SP4N@_Q}+rA9|4RwN!sd|Ll>=${7@ z_a*L4EY?4F>A&w%bWb9a*qr!WqMf7Gt8{VVp#J$#;+906{?RULqPoNfRr)(RI-|2~ z)Oi*sKCZZ3pEmk@4=CD{xH-|JvilS*PPC|eQzBOX$>=k#`3~ycsAKQZ`ERCSl?}oj0q1z=EBfiGBTjl|HyN43D(A)pL zAQzZ6XMyX$pmwBBgA~lD26ZNRyg{9fTrfS3p2S#Ig#gfC@Z8 z7D1Fn0Z|l$Cy1i>K#@&QQT&~mJGm+7TR!jed4K%qhdHx<&zzZaX1Q~7p&l3TBZuxS z!$#%(eVh#3OaGMbXk8t6TT7sg@_3B!5rmj*7^x1GQ`H;BrITv`s}rkKf82!s#n8)t z@sDgk7!gE~8flOg#ULHhBLgy`SQLk9pm?j>MPzG|MOw=9qKv}3K>V>jV4(g3^Q6Kau>WlJFKa`L9qXB3j8iWR;$I#`LT*%yN>C~Cpb=;!@}e^2Lw;0_olV~!Uf-2Bd^c0$gD$#T_1I*zlJyBO?WeY9lwF!#9QEd^xNRO)NkSKcn5s@btm41cjGPlAoGr;Mdn;h>qytx3r7|elrPvSty>=B(+EasSUrXQHTA? z1F26MkcOlYyocWe-UUx0%}8_d0BJ#5k_SmE(waO(+K{%S9cfQGkd8zmCX!52h?!VO zDoG<&Vj~ZePNXw=gmfWYNjG9A>BK=Yh?8WJ?xY9FB0b@TWH!kmy-6!{K&70VyO!#0^j0OW?V80h$P)5ASxR0Y%gBplIeCdxkriYmSw&WpHDoP$nXDu0$p-QYd6m3I zHj+(bGkKl7LEa==$X2qA{EfUtwv!#?ZL*W>BD={R@($Tc_K|nVe)1l9pBx|u$sux> zd_X=VN61lfjC@3nlaI+K(Y9(K5al7(nho~Z9<#UB-)HNrw`B; zv?YCzwxX@+L$nQTOWV=*v;*x(C2FF{G=-X}g{IOpYNa;%FzrM;(?@6*+Ld;rcA8Ed zG=n;6Chbmp&@9@M_M+J|hxVqqv=4oh_N95WAI+!z=>R&A4x)qUWAt%4gbt;{=y2+y z1+PQFJsNL&wr_bUd9vC(=puNjjNM zp%rv0eTq(_m2^6tL1)rgbT*ws=hCO?GjtxEPZ!W<=|Z}QE~d}XCG>f^l)gZh(HH4* z`Vy_8E9gqPims+>=vw+RT}Ri`4fGXl2cJJw(-UK0&btzT^!PLAK%EtxY(A!6C6p)z2Tr5*7RjAP3hS3Qnyb7b$I+m>Y&#ZET!Yz z0YCBk+$1#GuMU+4+#o-HI6#X%queCu8KVxmN4b4!H`^UipU3Bhy1ag$F6b`va3A%$ zgF&_XiLlG7g?70B7MkJ?vW*9Jh3=o%)ma@}-q63F+YJQ)SK&x^h_y>s0A9|nQN;2# z8erSv@f3Ojh2b(i-+BaL1LIbg1YD!s|IKrfr&$rY!6YdCI+GHMxA0YVzfx`Et?xXi;5$ zq>N?|PgM6S^#^?V5_g~s)VjbM)Ud7?<<_|5vaV=Z4V*y00Mxl6Rj6HDEG~CUVMHv@ z`>e2AF6@pL)V?0z}BKU$^6FZ1J%l+qM= zMtO?d8ow-ruv{=K7Ys)W>cUEiu{;s%4hTUvHWID1m$?c9exKGQQ;i)oj>&`*t=(S& z!)v70B~y)qSE4DDfgDjFLt)fU9Yy{SEd)p7D0D&PnnIam$fPI|3iw?iO%cGmLRzQb z15RHUKN_dZhno|<6Do6o=zSr*Tk&e0f;+e1&M8;y=ETrF%8{WY>eqCaYcAo0c4xen zfMe{=Ew_wfEU6YS^oW)=lt%ru2iO=|%IsGb?;kd-HE`GkL&uOMw}VA#J+fb)#UbTf z+-t~^IhS+E{(aH;3Bh+LLiPVUv( zWpSywm~;wjlu1e>3qj2VY^*LPb;$4Y2V*0RI^Ivk1*y}E1=IUbC<{&YkHu_J$P!4N7LOQm%6(PTF4h0 zDK@iKVA8>m1e2r-<}L8WFi?i4?&T^kcYzX@6%@H}P8jzNXE#8uu6yK$&98uurG|q zc(i`e#&Qn{l=?NWY%g<})SQqIG*z%b%AuKs@EUl1!>nMK6%4b2VOB7raxp6yW(C8nV3-w*RE4Wlr9`Sy zB2_7os+34mxJpxaNmF=9Q+P>JYEDyXPE%@5Q)*6AYPKphTb1@&6%4C_VO21!3Wim| zuqqf<1;eUf*c1$#f?-oIYzl@=!LTV9HU-0`V5CKBiC}=Hh%sc6BB>@Rf?<*(7$zx# zVUi*kCMkkpk|G!;Dbfy;q+pm7j402RNStJ|Y6i&5;?Xi0z$X{YXijtkBIZChI^xp| zk~5B#2|UGvUAx9z#t3f>sJ~>5jc$Ko6QSd$1N=mQ`}poGE_!58;0n59-QD$4J|*hU>JPs$U_`NCpOUq-k4%oDzUQzoiDQIR6~@nP;RW%W;VeAMvz%% zXE@;Jv8kqHp+evjLn_sjVoBC1k51Km+S9RPi845%DAK_Wf}d%W8u_kR_6H5@*hBb@ z{Ny8&0Gs5H$K@^Z6c?*A_I`RQhpO=h}e5;Qrs5FS*6tPA<# zBC-x25ziMM)fOd&YW|wl`~fyKx{d7ACn8=WJMW1GKmd_|0nUFS{#Y&zCB(%N2^rae zMI^vDO_n4{P|i7olSMd1P_v*GK~n`y6VxiGO;Ed_>5OJNGc!5O%ybBv!Kh@)tzu6+fsUn;z zx5Jz&x5J#uxsc4MT#i7w9D(xo0p)T8%H;@@%MmD-BTz0!pt79IsS!Lb7l`L_k<4iV zKTY7L3H&sHpC<6r1b&*pPZRiQ0zXaQrwRNtfuAPu(*%B+z)utSR)KF7_*Q{$75G+x zZx#4ffo~PKR)K33xK@E{6}VP`YZbUwfol^uHh}|6U^c$YHi2UkI5yEvo4~UPJe$C? z2|Sy?vk5$#z_STFyJ)9fw9_u|?E>E}@a+QMF7WLF-!Aa&0^ct1?E>E}@a+QMF7WLF zKV9Ib3;c9}pDysz1%A4~PZ#*<0zX~grwjaafuAn$g+7|o1%A4~PtP=PxjH1a1eIm% z5Ii^p4-UbDL-61bJU9do4#9&%@Zb zf$tPDa0+~@MS%P zu)vq~6v6^u)>8-zd|6K+EbwJLg|NVPaQT>=vW@~3?U!{F!lM1MjzUlF~R_Pa!PuWj!@HWjzHd`a#xH2#bD@^%TOQA7nj+u;>R_Pa!P&LDo|Ui}uTU z3SrTHSx+G>+Ar&=$tmk8P|;plFCi@2E9)hMMSEqvOqRsFkRoL!M31ldCIl9X1=ZsC zwu8mhisobMnESHv^DGt@#}}qbO>$7FB$lT}%FBsL(fG*PmZh^zLd{4-0X%(#xO~U` zG1-n7SjcxMhexJbwx;di4{BHh5P0wfB!;imU;M!mStdz zS)jPMm`z8?rerCmU*w=QBs}U8He_p5JHcmRy?lJnyfN(bo_XS{AKJ4Bl%?*j$i&Zi3D^&1pYJQ{F2p7icz<#7>?cs+2Sft$`o;G%}A7Tjm9r)nrt)G95!0}>0|#>0K)I;#4>Lu0R}#HHHI-EG|6 z>4ia~+Q;34+&${`7kX7ExO>{qQorQxcig?o2AS$-?%riCqCwW3dhXWZZi8S@GNI<& zZNuGUaFfx)-0jBQOmI_BHh24ScVLLsHk7-?-1Tw!u)EXjHh0w3a({Ipo2VXyJB_KTE~-qpk=S1~ zRFvu?=r}<)2>QODR|LH&Qxq>~9YK@jF^GEbepW~C=RjDk>Ir`;)j9Y>s`K!NRbRs& zQGEk{6ha+fEVWZTt$Ic^Pc>h4N%g(z3fyqNuDS`g3QORA;0m-7ZeX2)+eqCZH-bAq z>v`)MsPunzONixxu?Axud~%-q?-4x(DFpH)K%PX%iQv9b1@tb{H1I=t1U&K5kf%1} zsRN_E9*o`wFtQs#3IgOg905u|4k!WTL<#Wys}gZ4%5E{CB-9K_VAKM&gbsu|maJZ; zyTAo|6QDLAHCMHUU%?=7i!>L06NAxgc&iGlvfy_zFvOX`&1UG3!u~OzJRVeuLm^z7 z$Ep(hOBIQIHM%yHJt}X&C+Ll4>$1r&w$j+hFPO{}9wHCCi{~{~ajf z6z=`EPwJj5O?jz$BavD~rp#4IQ)c2RQ&ju6UhkW@b4KOxhwAivtYfeFBd5>5Vd*!} za_M;L(1M)4kD8y@H@>*>%!6OF**`*mEA8_oq4~EKY}~wc)Z%OFdlovocNl3{(7RXL zIadbuoP9!jp+UQ!D>e-L{7CwZ_V0wx&VA*;(~XyUvtt%DIeX^ElJkLmS^Jg`?|lBN z-E~$Kj`7qU|5|%YU=XdEvR|6AS2Am2U_7YRT7+n8=|QPQBrKuIdgAo~e_^n^0~}s@ z;7N;*y|W-0K_ZP45c-2+NhPJQP*d7YY9qC-da$ZRWph!mFyOtXT*pu_*uK!!0pg`P ztWZlhoT&gDobXyAa!A-`NJQufQwTRG=cGtOL_KmX1C4Z5wp zykNK0wmF;{dU#3hg|r>d&pf;+z47Ml2dd@{`103Ji)gx~H#(lOvhKm04XqAbKVO-R ztvOT2y#HI?mzTfPO#fo_;^jk)OTJpOdr!r*cZZ)p_gd>y2iEi|I(?wwW4m6p#e8aQ zz9MCI$5~4+@6EwDnce zYnN}1X?0xv-WBs>L$_xoUrzz;+YkTS3+?N^r~aaIbNgmGZl5XZ5o=m~pU9*sv#V*s zV7n<%N?;<6NiYt8GhBDTm*jAjyG^yFS}a&2jW(pjP=&w-Q6wp*Su8XKG3#LTW_J3k4 zDp2$4Qeo;^foiCv3Z%zuM6Eyk#_A7`ByG}9ocZeX@YOB7ubtalV^4`|*Q%mMr{DhN zaLOxBNizpdnsa947pco@>^c7ZnCqk0PV#r&^X#VB9i=zD3lHz=+y0dvkNmXl(;>qe z;+KByII_v=+pCtYZEz5ue=@u8*KxzY@78G2_Smys4{SL%eb=yYBTOC0^HUPmbx%5K z3dRm-e`Jg~Wl^o?Yi&PU+Hu3TU+bF<#+kf}Ho?mR&)_kt{gfm@Q9d9z``dA?TUd-U(v(yGrNv-l zN46L-k_NOJBb8)laZTyNl2uBrGFK&6M&4KYliiTVO7)@QuyZTIMrz}h|H_0Q4cIhp zLSSUBt}oS%jBk=)1QP-S&D!47-jY(i|6xudV5fVI{N>WXeHo2RGsiyPcJZEySJ7vU zvX5+@HPCl1=Al(X4<3Ft;UeuD`(yW39aYxN7Y;q!d+CYh1&O!2rZvkgH%-1a+dBQt z@4kCZb@y2Q;@&MjUf-(sxQ%~v*>AKtdhyWbL%(>t?X)giU)=in`2m0I-tyk0pN<)q zUw!Uw+fO?6ZP?J->UP(jQU(1D{=0=9yZb(P{*4ax&JU{b(6m>ZUwr&Nj-_GM)c9Y` zqG^%^1Ogh`!2#D&gGnh#eZmFsm?NoA03O%`#@?&3N%k5|kEXnY2FQS?( z2+zdj8Fk9G|BwS=1PlpvqEl)h91JD(cEeUOFw)dXvdJta_k-JdLH06UIOtAtg_79J z5)`k}RiBbN2FhJYtqUKLY`|RyR+uETQfiMh)Zs6J)dI|7Y_R}ON^I?u*;3)(ssHYh z##@GOfZG!N>rN;>G_*4I(`&E3{KV9!XV3f@E-xo)cC>%0*`f=_m-WfM^KtWCr?0D1(zcXfAuOXx6o&&&yrbZXh;){TMVm)%5L-`Br2`RMLeAy-MOoDtuAKgBh0?5Z#8 z#@9-0wfTIG`N_83lQOoSEpAaf>qzd7rtet~_M3M;aI1cCc*ORs(qq=Ku^XgyXW9+# zvHawQ+GzdMlh*l?EnzWvctW>++g|&!W5cO`Ustnl7yRbQw!b&q_VVMaY8ck9jqej@ z?vV5H(L+O9o|v=qhHt_{JJFEeOw$K{I%itRz!~+c_E@f7YP+i0#d)`;ezWd};bVr5 zA3pW>0fr&=*us9pKXWwuQC9y7bOt1Kl1~Hot8zJ0u_Wq|N+h?&Fubw{s{GlBv~`Kp zUuqqh-7%`u=%4mqVR=w$qvXU=lLr4hFZA`j>jY5pvPfBEq%LXLiXl~xNrR*TQhpsB zjOr41#}ZF5tX`W+TCo_WwV(OslLnQq&V731yT>MvIMJhCyYclqNGY2 z@?}(z$FZ8&ECz3#%2elp^H6G?FG(X;TWzC<&HPRn05;aEHrec42C;F5KgfU$)|_U#E1u z{LbNwi-9luY|D>Nn(AA;;KI^JM{G$m{e4aQ%X3r*8s}cjN!~H-=ia-2Ey;IZ9kF}d z;Ua5;`1mo-QKlP}<4BF+``#S#;;q@mqbeE>IzRQBU0G|a{l7VDA00QahE$Vk_Gx<**xNL4R>5DG!{{@ajWSe|QNSUgL(9T+*myQ$4jouv3d#^R_QJb~wf|G4OTw0l$y^U{=qI-OAfr z3ZL9K`PlwVr|#T7^xMo+Cs$XU(OqA8ef*C{!h3JK`xG^Qao5D1uf5gl!-3AYoa2MC zb0XGmDp?omcaKp_iRnHlcfxn)RaCV!E{xXR%NM7iR^oVg(?A%zw|1+WoM>{Cxg_nR63fe~_M>Fs9zj>LU&I ze{{;^hGkt=cTL~5zfGT=!xJ`*Th(Pv_ocfR3>|v6^26Wv{XW{+OZuP?(VMT51eqh$332}?V^2YT2kB; z%kW-5w7;YYepoN{*Rx-qzGOI;^W5&^H|T-z0=y`^_uN}k)qiYS!OTwu8Xsj|W2!)2 zh$>}WU-CaWHv5aix@x^L1eO<(Lq_NWgA&jp=mI50ZK?rN8rmylY>{d$)2!-#>T3jQyP#&v%twy0-5vOU3TDq;Gq5+!r@zQcT%K z+p+kHdGnI*4E}rKm5q+#?H`7}Gd{h)^W4?Xb?VwH({LoSe(~Uy8&pL*&n+9cc+UHw zt>n8_t?K^RV%h0G)*SWsIQ{Xci>C&kviiRHVEx(>``tu@B-^NA7Wma~`m27KFN O@X$rl_^04m%Krh`A8cd* literal 0 HcmV?d00001 diff --git a/docs/scaladoc/lib/open-sans-v13-latin-700i.woff b/docs/scaladoc/lib/open-sans-v13-latin-700i.woff new file mode 100644 index 0000000000000000000000000000000000000000..808621a5e77066da28f0ef4dc163e688b341f777 GIT binary patch literal 27380 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 Ru_E8e+;VTcs2K90Z+}*YHa)N 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 S-~a#3M}mOV+AmIpfcRg@y*XO| literal 0 HcmV?d00001 diff --git a/docs/scaladoc/lib/open-sans-v13-latin-regular.eot b/docs/scaladoc/lib/open-sans-v13-latin-regular.eot new file mode 100644 index 0000000000000000000000000000000000000000..1d98e6eab00e5a998373fa7a28468406072d6d3d GIT binary patch literal 18233 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 literal 0 HcmV?d00001 diff --git a/docs/scaladoc/lib/open-sans-v13-latin-regular.woff b/docs/scaladoc/lib/open-sans-v13-latin-regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..e096d04f82aaa1efa56f7d38cbc977357ab90bc9 GIT binary patch literal 20248 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 literal 0 HcmV?d00001 diff --git a/docs/scaladoc/lib/ownderbg2.gif b/docs/scaladoc/lib/ownderbg2.gif new file mode 100644 index 0000000000000000000000000000000000000000..848dd5963a133dc18b9f055928150dc5e762dde0 GIT binary patch literal 1145 zcmZ?wbhEHbWMq(F*v!D-Kff?yQ@u%!Pt?vPr`9;D%FyV&t)7!JLsnHrA8cd50E+*) zBYXoCToOwXfwYZ%ML}Y6c4~=2Qfhi;o~_dR-TRdkGE;1o!cBb*d<&dYGcrA@ic*8C z{6dnevXd=SlxV%Qmue&kg&dz0$52&wylyQ zNJ0T*r*nQ$s)DJWfo`&anSp|tp`M|!iMhGCj)IYap@F`Ek-njkuA#Y=v5}R5fdUjL z0c|TvNwW%aaf8|g1^l#~=$>Fbx5m+O@q>*W`v>l<2HT7t|lGSUUA&@HaaD@m-- z%_~-hnc$LIoLrPyP?DLSrvNfBF)6>a#8wIDQivCF3*g4)73+b$qnDhYt6z~=pl_&W z0P+${p|3A~rMbCq)x{-2sR;LCHMlsWvLIDID784hv?w_hs9YIjRe_arQEFmIeo;t% zehw@Y12XbU@{2R_3lyA#O%;3-lQZ)`e6V_7Un|eN;*!L?t5X6BYAPL3ueX-RQWVL^UgZccVqW=48iYD#iaVnTdeY)o`iWJGvaXh?8SV1U1$uaCEv zr-!?ntBbRfql3Mjt&O#nrG>efsfn=>FiYv_>S$|eYN)HJswgWdD#**p%1BE|N{EYz ziUvE+||Kg4FF`M Bj3xj8 literal 0 HcmV?d00001 diff --git a/docs/scaladoc/lib/ownerbg.gif b/docs/scaladoc/lib/ownerbg.gif new file mode 100644 index 0000000000000000000000000000000000000000..34a04249ee9edc75662a2539fe7daa04424cbe8d GIT binary patch literal 1118 zcmZ?wbhEHbWMq(FSj50^;>3wdmoDwuvuDGG4L5JzWPkz1|J)J20SYdOC5b@V#=fE; zF*!T6L?J0PJu}Z%>HY5gN(z}Nwo2iqz6QPp&Z!xh9#uuD!Bu`C$yM3OmMKd1b_zBX zRu#Dgxv3?I3Kh9IdBs*0wn~X9`AMl(KsHENUr7P1q$Jx`$q^)>0J76LzbI9~RL?*+ z*}%*|!OT$4(AdP>++0V&$iUD*-@r)U&`8(N+{)O<%D_MY3Y37h6{VzE1-ZCE?E>;_ zl`=|73as??%gf94%8m8%i_-NCEiElUW*8ai0#)c1SLT%@R_NvxE5l51Ni9w;$}A|! z%+FH*nV6WAUs__T1av9H3%LbwWAlpjz~0eI&d=4aNG#Ad)H48i38v837r)ZnT)67u zlAu(Cd$Af^98y`3svneEoL^d$oC;K~46>@g%DE^tu_V7JBtJg~7K#BG`6cQEUIa|mjQ{`r z{qy_R&mZ5vef{$J)5j0*-@SeF`qj%9&!0Vg^7zri2lwyYy>t84%^TORUA=Po(!~qs z&z(JU`qar2$B!L7a`@1}1N-;w-Lrew&K=vgZQZhY)5ZeMTG_V zdAT{+S(zE>X{jm6Nr?&Zaj`McQIQehVWAmo_rKzE=rmCW>q^KY-Co3Z@B`F~;CMqH&FX#K^#)_>%=(Oz40}P&vZD%P=Ep@ zplwAdX;wilZcw{`JX@uVl9B=|ef{$Ca=mh6z5JqdeM3u2OOP2xM!G;1y2X`wC5aWf zdBw^w6I@b@lZ!G7N;32F6hI~>Cgqow*eU^C3h_d20o>TUVm+{T^pf*)^(zt!^bPe4 zKwg3=^!3HBG&dKny0|1L72#g21{a4^7NqJ2r55Lx7A2%-qt%$eX-RQWVL^UgZccVqW=48iYD#iaVnTdeY)o`iWJGva zXh?8SV1U1$uaCEvr-!?ntBbRfql3Mjt&KG>(#*|FO^l6zSxQe=M_Wr%LtRZ(MOjHv zL0(Q)Mp{ZzLR?H#L|8~rfS-?-hntI&gPo0)g_((wfkE*n3%I<{0g<5cg@J|3;H2kk MO(h-&o-PJ!02;c9Qvd(} literal 0 HcmV?d00001 diff --git a/docs/scaladoc/lib/package.svg b/docs/scaladoc/lib/package.svg new file mode 100644 index 00000000..63f581b3 --- /dev/null +++ b/docs/scaladoc/lib/package.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + p + + + + + + + diff --git a/docs/scaladoc/lib/ref-index.css b/docs/scaladoc/lib/ref-index.css new file mode 100644 index 00000000..7cdcd9de --- /dev/null +++ b/docs/scaladoc/lib/ref-index.css @@ -0,0 +1,56 @@ +/* fonts */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 400; + src: url('source-code-pro-v6-latin-regular.eot'); + src: local('Source Code Pro'), local('SourceCodePro-Regular'), + url('source-code-pro-v6-latin-regular.eot?#iefix') format('embedded-opentype'), + url('source-code-pro-v6-latin-regular.woff') format('woff'), + url('source-code-pro-v6-latin-regular.ttf') format('truetype'); +} +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 700; + src: url('source-code-pro-v6-latin-700.eot'); + src: local('Source Code Pro Bold'), local('SourceCodePro-Bold'), + url('source-code-pro-v6-latin-700.eot?#iefix') format('embedded-opentype'), + url('source-code-pro-v6-latin-700.woff') format('woff'), + url('source-code-pro-v6-latin-700.ttf') format('truetype'); +} + +body { + font-size: 10pt; + font-family: Arial, sans-serif; +} + +a { + color:#315479; +} + +.letters { + width:100%; + text-align:center; + margin:0.6em; + padding:0.1em; + border-bottom:1px solid gray; +} + +div.entry { + padding: 0.5em; + background-color: #e1e7ed; + border-radius: 0.2em; + color: #103a51; + margin: 0.5em 0; +} + +.name { + font-family: "Source Code Pro"; + font-size: 1.1em; +} + +.occurrences { + margin-left: 1em; + margin-top: 5px; +} diff --git a/docs/scaladoc/lib/scheduler.js b/docs/scaladoc/lib/scheduler.js new file mode 100644 index 00000000..eb396bb5 --- /dev/null +++ b/docs/scaladoc/lib/scheduler.js @@ -0,0 +1,108 @@ +// © 2010 EPFL/LAMP +// code by Gilles Dubochet, Felix Mulder + +function Scheduler() { + var scheduler = this; + var resolution = 0; + this.timeout = undefined; + this.queues = new Array(0); // an array of work packages indexed by index in the labels table. + this.labels = new Array(0); // an indexed array of labels indexed by priority. This should be short. + + this.label = function(name, priority) { + this.name = name; + this.priority = priority; + } + + this.work = function(fn, self, args) { + this.fn = fn; + this.self = self; + this.args = args; + } + + this.addLabel = function(name, priority) { + var idx = 0; + while (idx < scheduler.queues.length && scheduler.labels[idx].priority <= priority) { idx = idx + 1; } + scheduler.labels.splice(idx, 0, new scheduler.label(name, priority)); + scheduler.queues.splice(idx, 0, new Array(0)); + } + + this.clearLabel = function(name) { + var idx = scheduler.indexOf(name); + if (idx != -1) { + scheduler.labels.splice(idx, 1); + scheduler.queues.splice(idx, 1); + } + } + + this.nextWork = function() { + var fn = undefined; + var idx = 0; + while (idx < scheduler.queues.length && scheduler.queues[idx].length == 0) { idx = idx + 1; } + + if (idx < scheduler.queues.length && scheduler.queues[idx].length > 0) + var fn = scheduler.queues[idx].shift(); + + return fn; + } + + this.add = function(labelName, fn, self, args) { + var doWork = function() { + scheduler.timeout = setTimeout(function() { + var work = scheduler.nextWork(); + if (work != undefined) { + if (work.args == undefined) { work.args = new Array(0); } + work.fn.apply(work.self, work.args); + doWork(); + } + else { + scheduler.timeout = undefined; + } + }, resolution); + } + + var idx = scheduler.indexOf(labelName) + if (idx != -1) { + scheduler.queues[idx].push(new scheduler.work(fn, self, args)); + if (scheduler.timeout == undefined) doWork(); + } else { + throw("queue for add is non-existent"); + } + } + + this.clear = function(labelName) { + scheduler.queues[scheduler.indexOf(labelName)] = new Array(); + } + + this.indexOf = function(label) { + var idx = 0; + while (idx < scheduler.labels.length && scheduler.labels[idx].name != label) + idx++; + + return idx < scheduler.queues.length && scheduler.labels[idx].name == label ? idx : -1; + } + + this.queueEmpty = function(label) { + var idx = scheduler.indexOf(label); + if (idx != -1) + return scheduler.queues[idx].length == 0; + else + throw("queue for label '" + label + "' is non-existent"); + } + + this.scheduleLast = function(label, fn) { + if (scheduler.queueEmpty(label)) { + fn(); + } else { + scheduler.add(label, function() { + scheduler.scheduleLast(label, fn); + }); + } + } + + this.numberOfJobs = function(label) { + var index = scheduler.indexOf(label); + if (index == -1) throw("queue for label '" + label + "' non-existent"); + + return scheduler.queues[index].length; + } +}; diff --git a/docs/scaladoc/lib/source-code-pro-v6-latin-700.eot b/docs/scaladoc/lib/source-code-pro-v6-latin-700.eot new file mode 100644 index 0000000000000000000000000000000000000000..094e578e59a74d11d8847d4db80b3f4a3a34f27d GIT binary patch literal 13750 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 QbqDnH$>DW&)vXx(9~|}?#{d8T literal 0 HcmV?d00001 diff --git a/docs/scaladoc/lib/source-code-pro-v6-latin-700.ttf b/docs/scaladoc/lib/source-code-pro-v6-latin-700.ttf new file mode 100644 index 0000000000000000000000000000000000000000..04159884d6b9476e4c58fc55303907156b2f50b9 GIT binary patch literal 27696 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 literal 0 HcmV?d00001 diff --git a/docs/scaladoc/lib/source-code-pro-v6-latin-700.woff b/docs/scaladoc/lib/source-code-pro-v6-latin-700.woff new file mode 100644 index 0000000000000000000000000000000000000000..6ac8a3b2954cb53d55ae6eaf432cab4f68ce2c3a GIT binary patch literal 15336 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 HWz_yZ2N8|6 literal 0 HcmV?d00001 diff --git a/docs/scaladoc/lib/source-code-pro-v6-latin-regular.ttf b/docs/scaladoc/lib/source-code-pro-v6-latin-regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..268a2e4322e03d1e37dbdaef2002164cd099bcf6 GIT binary patch literal 27916 zcmbuo34k0`wKrb3x@USOGt)D@Pw&-Ty-e>t)7{gv?`x7tCbJ|nA^T({gycb31X)BD ziOQmgdqhRR1q><@5>W&n4-^%Z=ZctzK0!tF@xbRodcNPeRXyFw1pn{H3&I840PPr^Ts!^2!ymdCzdwfGJ4UBx2Ly|- zLJ$t%r%=0gI@NN~SDwZF3q$z5ZQ;Q7L$Ce(ZwvT+w;-_JE?jz8624LMFM_a#uKRZ% z+H;_C{$qJT*!3P3L3OOhwD{)E_mDS#pY-f*Ia_I`Q^R4w(tDMum5Hf zgzZ{fZ`}((<)y-ZpnVCy1A7k~zP#nz$z!;5ulDRI!PGeZf)$i zpa(`39HY91_GTN936BA)_LI~hQFc{m93xU)lc#ge( z0@wuv7l#qOoE$q7&Vo1t)iNy}(PFODSv<^Q){8M_YH7`7LosGqI@$A;mg!Dkd&k&h zp#Qx56Zg!FPpn?QFuQ5vh6V99W2igUytZCjvt}qgmTqL1cjQ}BKQ4T`cd)ztuV4jX zVDWV^Dt=7x3GKx(R1nG)Wz=*Nz)fQ~E>r-wT8^a~XI2HvY>${}vD$P=Cj0fk*Mpy} zd7B{j38{H{KUoUOtIq!J@iI=rK|XWvAejjg?UE|r#YPG4|%M|aP{ zNGK#{5-rIM*U)^=;wuO`uK?|qFkD9E6@=jm1;Y~GtpJ9mA|0&?{qidP46}EA;G^Ny zhsN*z=%IrL4~>bp-S_b|SI#Dej$C!s^`}7^(B@+FZA9NS!bFia%X+S%o@+`yYtY{b zK?jgB(>lzwmeZ>S*ivuz&}`rExCf0h#)eOFW?G zW0EnZMm}OUE>>_pc4NdIWt^NZJmT4mk&|;7gTfrS*u?%mUu#0vry6_G$yKdxXJ&O; z?lQgeS!riq&)(Hh@W(Y9QhJ-KKIiZkImBZ8{BYqFDNanngteemHJ_*Px1?2Ro=$*d z#o4I_t|A|a0F9u1_P9`kqYj$El!30w7-W3QYiF2oW~T7!jCfn&kIZ!X5X%+5gMPPS zqW;GFUD8BaB9pdEc1rz{&LrKa1lx%=RB?BhH16p2nPDQ^Ur5CFx$VFTk|>ddrqHzk2#lbH5YCrT&IC+ z1#mS9^Tly9A~HKC@0}nn7iu7%MQy}@Y1OkQFt0TN<8sS@a~;Q-WWZR&JIQh+2b!>q zCCDI8&;I*>C|0jk4?uIrjm`VBYzBxPy)m;VQ}`@sDGF)mlqTpD6ST?_$Es?&#IY)Q z`OKJk-=wn@?NNcXBd2N*(%s>f9{f&%b(JNC#oIOw27`l}+VY#}xH%u}i8VIHdV*N< zaO|#4&tJ24?Nu9+sSQ`HS$oZVdOS3`(9^wRC>R`~g=RDaJa+?GTF3Q*O&Bdwa@nk_ z1_tNfTHLGX_S#hWOxFT)o622$)u!dzAQ#tZ!|tbBH}=YM-+b$((_h~(Jv+N!yv>|g z*_vJ5VlTYO#`;G_^M!v9?V1-iixKhTpj}p2Rm3Skvl}RzT?YXiBvU7aX3VaQbD{%S zC^k+2XZ4(>4$Nng=94eXB`Pw~!J%+cQ%+_bR}}dhZL#i9usdeMkqByIpKb_PHyp61 zCi0%Z0EoV6AmGlfN*GpV>h0BRRrk)(aCmfQclW|@FgUz$`q!0JbAwg+4VR8$3R0;J zSFag4yrHc+8moj!DhfOC6#?C=uzpMz$M{d|xD(*hIzi7lwFX)nG63l!i;mXR;{sW9 zBzeTUHqN{1LeDfZN_ii@hb{klNR#diDn5(nNFDh{YGR zZ1Uv7HmPfU>)6{8w+0iPX}fGU*F;vhn(~2QU&@gPw7PwnM5E7ctZu6HM)HC1P{y52 zkPd;rAto^gI*d+L)T$|8l29FuO-ExpE{GTl-fwWihK&i!^r?euy)20Z1H$nLY8&Dj&9Cr%I zYvkD6`39F!TisA!U$t-cS(s^sqn$fD+_`M4o9!TnfWi0_#5Gu-eWkTynLd`NKZ*J~ zN!CA}p|wK-RVz6K>cPLHm(4gzI4XRsV8VJ?#>R1C94C$9xac(Uis_tKt1r!9m9Ycco*M-b+)TW#oDqLO{;;OhEkPOqsRzWYLZE{*#bIDT8k4-_ zfXRPWcd_lS-|XS&XA-$gH>i>u+jV3!NP;= zp~7wKl0v9Ow2!o$ewp}LB>PX)u-Cv}DdF1UNLA-jx8#YJtP@q9ZG?|anX(EjC^oK? zDzI>olc_lC%y})Zee;)vz(suOUCAWkF<09piUE6$ojhyj!C0CY>BRmuG!b?xH{4u zcU9TrK6B90R%;{hpYk~3k8+f*HtudTFt!ypA{u^F^*iBCbFhJ|+)X;Dcd ztrSYMP*qO-5^+lAu}U0Ok#l~gI7b5?x)~;PB_FyO1Ev)nRvgY8{HzjZ0e(hvNMs{x z(xU5uc}=dmVp=1Zz?FP)t*z8;o)YB^vF6noN1%H$Ca;5KJ1`}WI;7SnYlANvkj6ve zQ;%=)H_83ywe{>6l4Wn}MP7%qc`VU1kaEZ&@Y^KD?c_YL$ZE4iy9B?jQou=-s zef7!M%7uK_22aG(ABv7NyPVC#(ZnimplPACefwC`Yu#H1{84w#;c>PMN25c{PT7$Q zH2M4C31MEk;G_J5&r6^*FUv4gjlj~p7-{B=#G~rG)DoapVcIHKGe$lydfcOUn8u~q zp!J{PD6nO5M(eB+p^*5z6vrBdyIIDc)=W!2m*k;}t{^5OG33`w4e2zV=|p;>%`>}d zXsqAYD@plC<7=H;2LgWg#*?Sp`n(B$|CXM)9pkUjvt&!jz-wKRu6gdaZkl-U0VlaU)M~g&R!kvi8nS{T5W#0f6LDCHRfRx zHZkSNNCWN9JhSfI@7}s=Y)HI9Up?3rA1rKUpYExM%wK>2D8<*t7A3J2v^5CBhyi`6 zh+~jgBUmQoO$2Bv1B3|>E&~h_U{I(y2YVeC2A4)r%a^L-f(0WXQ@(>wPRsL;2qQQ< z0VifeXyIxhhdW)ks|j~S_+4R~DLOKUvo(A&ZD#Np$v=X1FtYVbmxUV#Z>o48IkbT~ zN@R}=aTtHrP6lnNXc6u?6#X6Rt?SlAhtl?Z+g3}kL3WNt!e)=hWtY9#;c%1m^mPW8 zJ2MK#YR5f$ zM6+v^7&bUL=nrvL#xzxKWZ9_~ndlA%-L6oG{kGs>pT5`ccFVHc?dN^x7sI@73s&x> zD3MC7Qs1hT4IZU9HfaUIK=FtP11m6aDHy0LOmTTxhL1V5rZY6=b~@T!fwZgU4D9rY zRe6s|-(9CS`kTG%p>k9)ujhkUJ($;8q&d_{QbRi>OqWe`xlZ8efs(~TQ3qs8xb{X& zQmEqMQ;hYHH$esn&96a;_Jk4bIe$vaDz`lT{H8Boj2SI>nDEWQFaG=B^}vs8AUp7D zC`A;Op;O|jq906@Y$*0aLa79%LpelW{+fw5Wi7srrZwyC5uZB!@2x3YPpx5Y1B3I& z1msr4ICPLCe7Z=FWo)hXw~Rm~fJFL-Tm33cOJ=kRC>bV1F-eUskTqQeHA8V@Wu>4s zPKhd!lqk6ZqM{mY&A?%S6=I_=MO4T@Bau;#U41%@u{pZZXw614`L#Jm$TX051Waq$ zZ~OewnNV_Kyl^+0T^|e;?otn!w4%I&4pw1F-j~r~8B70Dc^4t?iho>^cN$4i-j$J@ zCGSHzZRiYvXTP03r@X@s5naIdjM&q%b-CR8vvZjvdr9V;qF4?^d#-5I7OgqG*cBew zkWOzH2p5mD)=0Z7w@0kSBR7@&16#Yhw)XpBAa#+o1hXL;9d2>LdLq5Fc`?KBv|>eD zvSZb#Zi#YA$gUgHY^PGWr!emLkJsbtv|S zl5Mh4_*o%+ap<9NDOf>V^hGk1{PT(CRosw```7wJdBi?2quQ{MyTvc}NKqKE?LFIv zWS^(k>)3ssYQfT&yB0I-ADox|nT@zis+QS^YKD)Gxnv{OpTkD1$4LLbZNv-@z~_rT z%rYBsgd6NyY291ch*In6i7(H2V`tikOn4s#O*W!Ym?`RzWumf7m<*&c42l6P;zS8I zlBg*56^TkwrKzH#Qc@ z=Mbc@z(zYOrJ4KQ&F`rh`qQ6kU1?cva~OS-O}Vj{i7eQ6y=(9#U$fs(yP~Vs;Lfc~ z0KW26futhW5F2)0yt*P-JR023v_G3%?v5jHTE*;F$rh27zZCRz8)6%XoDe;-yr( zvf$Eku7<35pei$csNPwpt+Ur3TKn`Sm`JY#M`d|5$jk+3B1CTmaT0y{gv0;)K2=Yp zL@Xb1s;|t2ERTCsg5!N$5msWVDI7&U21P>3a6K!$Rtig1&2%D=rq$`II!C&y^i^72 zO=ahr^A|dFwN={6+Um9)7}HDgfZsppfAdW`4#>=2aQsCc4oXAOH!#LNjM0WM+Dr4V z#;8goSf=spG$ec3kV@;-39<(SJ0Fq>L!yWh9qVwU++{vo7Gu-d%3^GP`}}zmb?$nt z-c>ig;rnyqFThz}+RBSDYW! zz$@XdD(4bF#l7Tml}C{&phS-230S&Sf{srEbOX4wmubpbM~?tgI6t$(R+H&7*8h6? zGQGE6Tj#7jf6b5eftLPAz-72mqwP!t*h_`~mR8F0xR2GHel5_GaI8RRjv=2Th-Tov zJU&-KwPdaSZ{l;KY@+Z}cC_#%Hdn~R*=2+A!p(z%fLb02eYI&?#1Q-j0n+&^e4h*c zA8!HYYI&)h%u+l5dB**TCHTu{!1ph~e@}2hL`#CW7I9J7S;Fq(%q`2Wlt!=0d&!zV ziDr}#^-0cdW*)YnfQym>AY)Vs+>_$u#WV(9NmF6*{jLS$Os6 z_y(qBgO9%d{Y+%5TlckIc5?I^-#{V4cSrvOj0YBDREvVKkjPdFucUAQoY!G++Cp0p zZN2A)|HoUve|-j=XsERFvI^gdk^YUhU#ql_Z|e7KcyaE|h8O2ffm8cRJH3DRNsd=6U0Z=`HMkbTHN}r5h!qg> zVkI2uX&Fb#(rzMjZ_#9$yv-cR@UbOO)fado67~O7c3{ zYPW|nzZ?5<>0Y;&lEIsLTT_P}Zc6pe_q93Pl6s8>-E zP};!*#Co~vT8Qq7Cv!;-Z{AvWR%p5H=b5ZPG@ro>pWIE(9z^H#0; zH77H`QVidtv`#MKVc0cu=~B{u<{N6#{z7wdyfr(~(s<|3`$k7w3vZIl^8AeW1JKoj z(N_vDph)0c@KbLAfAI|Xv88r?a|Zmx68xnz;6GV{|Bm380|RX0S=jeUAukLGpDA*+ z%EYDhZ<)~_BB2kJ*&T5L#0hW`+JZqwv@wd<)d_K~4>Yj1iT6ngPGBBFLLG;P0E2Z7 zSY!!CUPG44NE~OK{EQ@M0B4j|YK6Fyn;GUY3?9iShQrA~P$M@8rXpM#8JOr$&Yjl=0+K4=uhLP68j=}KAL_Wn?AtTD1S)HT8utIWQ} zRC~pLHTfMqjw&5vo7TQ#e1oZV*xt})mfE7J46-!|Bq3LCHrBNo9O+mhx#}n0wwQft z{Pu8DK(^-G_J$73|0LEfaBT~kNj6rEFw7%tH_;jR$;!XNGkEzA2 zoUxo!qJY$NZzfoFx+&yB8qe2Z3mMI>mXWBh&Bi2YK2MRUbf>#Vnro%J9!^1z8t9D~ z=nWI3b4Yk^an4nXei=PVfEFT9OPSut6CkhXjV^Ffn6C+WP(!J;AU}ZoY;wn1RBxsQ zFiJ5~x}^vs+V(5@p;#B9R)Oi%TqY?CMNJ@?Ql=&3EfmOEu-R?vl+$C@*yd1Q$|+V<89mlSy7IrH!_6+DV|0k( zcSF%`P_Mf!-xKIsm(bf9R&O@wp&;7xhY;-BMjB#zjO1qy^voj9)(%NhN(m4s>B!Cj6I{`vf2!7616r>~-dICX1r;r7Vj101nl$aet720B)Whr*2B^wH< zDCkz?Q083Om8qugsKw=XdE&Xa#}?}fMn@!{E9;IXJc(?=gDdf9zIRI0C0Dn)8zVVS zC>M`78YQPAkP9PeZELi2m`y3KJLIPF9YX~Ym`jj6io4x>8lr$v<=F|?&_x*8wh72H9rHM*A=5!JZo6oo zL9uQT!4YMCisg+~8)|vDrAxt9Ti(XvO`TyAlc&N>-4Tl;-gV``q_1Z#pISc<_IFRW zq-I?D?&O`e>m6PGP}55PO|~|7ZY*A7tx1I%AEolhXHr)js6=98$i?);}(dg}$r# zz|$Le9R&|T``w#9s?GsF#dM8DdY4Rqzc=uAikS7UT% ztE-zOoE@HeuPOS4Hh zxf)>O2(_k1XP`p`&IUq6tkbSHkf$^5#)iL=|>K{qAn}4-37` zV~4lTH04JUQYxNvHjhLT=WXBDDQXc-15Mg7ua&?tQ}PB?rCGvpc|B|$YICUe6`lfW zcNJ@>xPRybc?Z0*w=5cfvWJ{fJwX!B-2oZ^ZG>7Xja`uDdoZ~+d)r)Z``Q-UXlG(l ziZ|`krMNxSiqd5{VU2W!J64*tI%lNS z7adC3^EB}y_?3LhtKs3BOV#yiPNp=<@^}D7gePgOAki*W4p2q19=t$mfb!lAIFjdU zqLqR8L5Y~j7Sz(_7^T4vF;T3j_cz?nKC!R{dmVb`7G8VO(e1FMY(F13b}Y|6SU61c z(1v+f0UVo99i!S6stPV)D3iM4dv;Ee0s@r@Lm3z?D==BfUu zXfx=-w1Maht(+9Y+ZzJ0oaFC}+h@m`+Wc_~+gCVcaOHx@$xeTGU^W>W&L@oT&^yhw zmQbs2V5QmQVwurLYxRxItFqb2yt}^9YXH4rD~ML`R2?kvrJZyMLOvm!do&b(u`i8A zS(|Az33W8ZNK69bfxi#mlCQ&Di$YbJl-2mG0V#1NSls=tmVjksAT$%Hp8XH|Kp-@d z^Rdv@bbLJLmOCb5+4+HBeC76R=LRWf4x*fCIGozNjlE!Vy88A_gcA1VmCe}7Kpc$oB~N%8WTHt4US^qDJ7Q&icWZl-EvsuR^~bn=T@N6SPWWuo8f zoocaa)}Qx*8?PQ5&5T`t^M|lYlJxHoXlmj#bs+z+MAZmUHBv^^E&_BZrY1$@j|&m> zO0gQMxYwvzrW)wpX7EQdj(XIhkjElH7w5U}O}ZB=Q=WDvLR=|XMy9z^?Nqc(%S1OR z-nwDs*lKU&0mW=B&yESXqpJmYL{awPpGZ^vxDbwii$^Q}WY zExv?g*E{;((J_+lZ%er&lKor0Y}8w;wU1|lU5E=NdV`6zE^VDBl<^08k`70zkK~zZ z_-oJRFI6~7lvf#!$2myCh`%U{o)F|Eu2LvO5~RfZO8mtTohaIPR=$S<1SqZ6MeCf( zyqG;W6J0Sq>TV8LhUXgxf}!D@B!)LP$H%j7f9FIryKx|xShZ|gwmMau6_(Pu1_N`*qn zB#ruC7h~)_!bf4Z)d;jZs8Y}%K1Q|$4W?B2r2E&N97i z;o;7?w|TiO&hZg7VpzByP47lqIKoEfeVhTm0X!=TzXtx7h)1EF44}HI)l^IKT(LaJ z1$eOn!(!nKD&bLKw=_6bDNc$j+7dC3Cq^H!Z_Ad#efP+bh#a7e)=Gb4>=O98)Ss)^ zpSt35$CjGclF4C{k;}|;swuT!Z0gMBH*VR&=I#wdA_19N7li{D%df=GVcmunB~`XZ8$N?NdlVeo2*gQ#4A*i$=;sIX=?S}a8wFsRu75q zcCO75~ro2K;6&M)Rcs#np##5vRfQ$bCqF9j`g*# zx>N?PThY#+#FN1F7LMyJge%~C0RJBjzm>ypRpCEd^s?)Pw~IRARzW!ZP32y|{s*wI zaO>hNfYG&!=^DwfkYzWpZ-EL5-4q$l=khk4P4}-K4qtOk__@iuqgp+wyOBi#S~ zvimDIje_C4&7uplscXU?{&4us&&YR8-h~H%=QQsBEBhAkzk}m>hl=NRAuCpL_y;)r z11fx$#jtl_pI9k;hd+PDZ}dMY{8X%B5>}f!;Us=DnroVA7#)-Bcwvl5JeFd{eM4_? zpIJMQfD#6kP>rcvP{KpIw|}FNn{>-laY( z)jlhf8er^>hY;Cx?7_Wnd)wZ`uB}^lC62B8&F#1UW?gjlscWuzY8HBg30I(vccG0s z-i8iGRUbo3P`H3>;w$*W)Xa_QlS(`E{ELfw*3LbDfr8T1w4D%(z67q;LpOo#UCFrZCb{jVwU?M>N#H7E54b2^KLxMgv-@_ z+Y!$@32%WRN<#gT9qQm`$dz#gcmmpI1+V@E1$mgNWc-s!27g5fozSwSya<7t7#yAy znV`{VYGLfh+ojrSYjPyjoeecRS5$_x*>L3wXLBgqof=76P0r?I(q8Yh>a%*Qvp&5! z8_sy@(km=-W9+(F4Y7S+(Q^QGX zb#YJ_pEWt0>fTGZCTD;p$2E0ctcYtkyE(lyGJ7)F?Brup=5QN(Lwpjvx?~fa5#514 zx5+GX|4KHt@-EG8ns=sKtYquNSMdz-ElDHSnQ&p5Zskhx)i)b)8>i2*wpH_$M~+0a zZOSltf!Y?IeDfn%7t7k#K^CcX(l(S&!X`t~%;?32!~yk0eHC&Og*1DX_ctRP6t!X; z@GUxz+NTai}v&NGAOfr2C+40z_9Mf1)plTw>n*YZ^Nf9 zh+cmAdp|Rh%s={QJ~{Fk&nG@XV-tn*79V4$#V^2CA4N`B$$ZgFpF~ug0dt!37R)(S zVUd+MB&7J61gKKkDxq)k&AV__**MSzNELa0J;-TulbM)-J0rx=SX3)vIi4$cOSa{b zdvdWPM|#F3Z!pq3KI3SUqoHW;cyF{hqOWg^b_VjBq!veaG?Iw+tn7(qn)C)!s4dj8 z&hwZ)x=nZY`@tNbT|W8lDm`XE^9;B;eq25@+BHwO{i!0xTD?4M4tt4 zM=D_P<8?G5_GKJn|A~C72ARHK(XLTveVL60fHI?~MLiH$=NGcPh3g+p|6}6*gp}CPV65TIDd5{ zvikgi*hq`RX%6cRt2zfJ%=)O=>CBAN`-u)=^XJRhzo67J_aGW|lDu@#iue&V^vF5W zSu4(3a7MKm@Z+96F0|m7!qJRl7RP3AA3JN!J9}R}-_Hk5MBNzT62(-wg~h|e88_`Q z!3JV%zZ?pC^I@AUocB^Tz}D0nSuLe3hGY^Z_Mo}ZWOK1zcXliuAIrLn$Dj@TDR9{$wgKxxa^Y?=K3mU|ZYXxt$%ZC^lAjCe}3Q z1AS>%bo#34$*a~UY}SO+m07rB+qT=bH3#}OWRA&AeOK%8Iw%pIIlXh@2yAe#@a`g~ ztKs$%r>kXIB|s@dqzXr=;PE6{Ro3T|pog+%EA=Q`BZ3PmzzsYMjdR*%;Kk914;6CR zakPL-@_0uJ|73J1jn<(CmVe|ty(bA@_pDuSnmw;EXS*JsbsJ3UH#fH0Z)j}&ndt`O zGwpYDJdA%GcVM5_Gpyo{J20)V%bsP&*>>@Fu*)98@&UvFdjPO|#Ww)^Dpno^_67C@ zb~lGTyma3eaNi^RS=>YSVU(YQkM%I?#wullCI+nR?Nr>yqTw64Ku|!LLd$1{kHh>O z0X$@3W%2GcYr5$pC6f|9wR3CN%*?D=JJ-_Q)s@S2b@BJ1U?pPPSu3*QGy*p%^E)f^5-tT~b`CVT-j zyBmE6N;STvG{;FSRSZiW30O7GsyOW^(?Nlc6JXLRzNG-T@I-4ai`Lbsj}oK>QhW&` zhba6^J+?f^+oEBI+t^g^F?GwS&NeALl931P>x_1*Jri=-%r;Yf$ZU@{<;_(gZzAn- z@VWg0kbMMnuE09eR-{rXnsE}~q5>dxS3;Y#6Oq#KRD4By5Q8~-*@}(At0*%FW-(1w2T3keywSUt zTm8tpsgp|fznin?@^z3LdWFAkam3ms3ZL6yQ%mhJ$3Sx|)=VGvnWkQPB}i{m@tEuD z%VqofIeos!?q{D9?_cVdRwl*PFRoVST78zHh7dt}LN=S_gx#L>TP*&h-5-tmebFep z-{?!ZJqX_${V9(-C{L2eBc@E^*o*Q)S^;1O z!tp0VQ1P8$4pLw%tW&aXB}1TN#$YlUrsEsZy*G`G)c6GNv7iQ z+F4tNEO*-0CpHFy8x!kMLm+q9W)t%!Q)vD#p5}nb6lnISN0P(Y#rKJV_zK?KLT{b1 zBCZ<8Cx-2&6q{Ef^0wzGxoA`CF6pfhq!4Jg*9oK?V=8CG!0c2#f>((s!B?LC$4)wU zAEn(ph$_J!$>2S5Hui+U>u<7WI#Z)lqbYl;Kit)}Qx1pDYwv=mG(D1u-vA#X(TMB3xMlU3Khvm#0XNbGaKWKhgGQi?aL z21wzi;ub7ga%-L~roL#A zZA3J!9uVafiBu9vL3I}fX|gHr`JfkM(B2dJkOIrlM{{HoUZkis`i+~WPJ9ZB?9@XK zJ@m;(#H&B=8f3qe$Tpi^E)n$X{(LZRSi|~ic4=u_)-qvjt$M&q_M(Oou1tmK*UZI{$=r3?CFmQ0X$=t|jx<~vekIN+rCW#dI-Jw%E$O97 zRLo^dLG*Ym$4gN~5T_7zzNP#IUv!H{5I_9N;+1RyIat8a z+E?g}YW#jd>=m!Z^@q;5e!T2@*Ez0#mEK&4=P8Fe%iDjr_`IFk=g))Kv%+3v0OF8; zH&)xC#j4n&L~^o4DeHx|3}v9UxD2qGuYPp^|FKxl6HoL!!F7%rO9T~`#|~%N1BEHJ z54+Zxuv@qq)tTUWXeSa(yfzW*^9mf5cS_LoGW1JFiXdpww-Pl_LI%4(@{xG)zt4Z- zXyOx}NF4n{;;y^MU!4`UVJsPLhdRM)r6?EdX|yMRT`ETIu zGMXS5EN=69ZTL*^Z=8LSkK`#&qs`;7HF^r)Q;wcL^boCQg>NFh`W)i1-$88?MOp9U zw7FbJhB9`b1+(@rNQW+L6k;U8nkfLB! zV;>$HXx26ljEP4JS0B6KhGV!BZLSs;#ai|O*pXq(3)Rb8K{KT?T`{={eNr}5Mr5ZY zfpn(_fe9oP5jdv61=U5Yc8rBQsYuvTYq1!sbH!h_h=Ey0@(#(NGx;5jBds{|XO+IW z+_8N?x+pL721E3KYTcX<5;IV^19|+#CxF$&;;@)R?Qauy;9w1a;w$&CN~NF6_O6wR zWz|Q@x4ct5r&535g2X7bvM#{rT>w}Xai;8I#9IN#8^?$ZC~KlfOb5%`xMRUzH53ZF zuu;S&PfTaqO`%ZOJS}P(YP33Ct;rn2kVxVkYWv#y2j&zT#< zo~m3&Th1bdINoDvcp?N5w(-3deB& zZ}{&!#ntR_)K6CmFY(_Giu3Sm--qA7<-fl#df3h4Pw@M9{P!=BXT4O=;P)Sp7+`|h zKe$1Oxhh)Sl(ET=Y~0u@{@@PW^I7q6wpD`~+hzBBcFWwbrsWXsQSnyq5i#jJsw(F* zEZVzqqu5QpIPUu!+WO*BTW8$YGd#CNeEg7dpE_=64m)_2#}&AIYr&Zs(rcunfn}Js zd{vKZ?;X?*61ocu%JX-lpRb@F<$2QcltWNr5G1JlU8{)9QUiByo7^^t=h6A0p&{jY zmCle5k`=NTDb}Mzc1^IBm5h8b)=QC#C0U_rI7L!)^3jS|lhI>uto2r>%1*_>bhp85 zXifDPEC$45nD9~Y-`Jy?3|ZaikCL<{eO3W{iwcDzjfz4s69rU(l#6oON}aR4X4K2- z^;T`NA|5C^7yqrn+<>5JHx5pFvIo7W{DScm?~ob#;|>Tk5`~kL&N&|G9pB z{XO-6Z^$;>W6&CQ7(QgU+i=YAHN#Ve=M1Ne9mWyklyQskeB-6Y>x{P;KVrPc_$A}l zjo&u@*!ZIHRnw)Wr%cb8PMKaY{S`0in=yaLe7E_S`D^B<%+HxmSw3XB+j7kEHOo_$ z=PaizuUP(S)mr1$HtUde(z?mI*Lv9crtR)VsWINz);QES*|@23Z{zFs3$a#S=Q!c4 zbzbd!*466zoa>Z(xBKVrH$8q&($nF&$a9zHHSd6T&b!ll#QT8vg!f7Bv)&iHf06W( zLkdYrsa0AjZISj$w@9Coz9s#}C;BAcb-v&D3Vx$M?qBJ@R<4zM<(HCRp*huX9*aNXw;$r;r__gtO#czv$D1KM`zWA~D@%Xpn&&U6q&?W+jp~Tx0 z#}m&ag=99lJNcpHlgZbUuXEi2-qmh==;(VN*jnH9hET0}8BpQ7mb&WeKENsalY!Rn<8cxRJ*j_Kfd|l^^0yT| z(jWC!{7b-{TdV$sz~8&jcInT6zK7Mnjp$qXqn=BDHNqTvSN@vOKVcO`v}OmMYsYHT zhHE3RM+b#ppyGl)zsBDI;Y#5Ryv^kY!q0%w9(?b?l^+4O?V!*s`ZeR;52Ceag)4*? zg$3bqd={9Fe`c`Dehd+wL+Eb0{%XUv-|nky@>76=ZlDW&7%Jtj{gGRuJ{+` zeeCAnm%}!n6%Imv>CQ)lKM3~;N8uSfD12Y|C4PSvkiP+TH=rK{^iJ#&{67AEBK(lg zDx_cY)54!U6klD00i^jUGi(#s`vv@iKS4%{1Pz2H@S!7K70dfa_JY)kh_~ef$w1yN5DUy1iyR= zGkR3`G2UWz4`%yE!XJg3g(oo1uM6KqpPv(c4&HhM^Z%UiVer{6gh#=>58|DBKN0?2 z_`L8jaLX~QX&)5+O?XOp8d<7Y@aQ;3z6!iGAv}W@-c3TbroiJfSW6BGmkE1?eURq; z7}WvcyTXOw(TgCfhlNYP?UzC-4}ynp#k+BC6K)qU=f?#hz6$Qs1lv)Q2-oTpBs1364z7$@9_?>B#ubBhrYpcl*v` z+8{sT!mcCpDe0InJ+}|vGjqOUee=$x(_QoP9cV{O?cfpIeqeFo z>~j)8_Q^irIX{HHtK+Mt=Z1l)Z$5!3jR{|34CN*AlSN z>6bJ*UF?{k3}w}^ZBui{7~y@4p~8!#atJeycf2iTgj#rtwPFuG*fAku$2fKsku^t> zzmcR@ODQE7Wa_yHOCB#5;BXB%30sW$xwh<{3gJ3%i~^^35B*&|*9&7T0De0Nj=Bi? za~Gs|5WjZvvq``Xf**H5_g(@X+>YPPh)bsNokuLBA6O4Si+7&ULh*U!>BL#jD^IQE z&#gzx#LxTC%Z2EQ0;3BGn+t5Dd63VXEVss z~w9fZHzaK#h{s6ji5A@72Xu#*7(e`59`yF)P`Jn86KDG;?K@UPl z9pbZk2}XP=sPq$X-W8z9mDm;hcIeRup*63;`f{!C4&fE(!{5Vl#=F)a0~UCvHlYz7 zvI8kn7kq$vcmb%%fX4Mh`>wzW`BmXz#8w}Ie*ahK-ETl+e@oXLl@r!zN&$= z^k5y^f_2OY+o4x@8LQKc(Dv_!CYOauR>3M!*;vJ@*$P&}YFQm>y^kX3Tn~HWQApVh z!kw%EYrxl-0XEYc!t26cAY*?L{tN{xAztr;uI`ZZwEr)K7nq5e znT1)A9cpBD=3q|5z1)bec$vg}%&%QDyLz=aIHkMf!hPv<|4`Mz3wI?izU0uwRfjJ- z$WK-r-h0t51y;TL;3XGvVD%NdE;^XpdEvnW`~iMK573GF0G%oi&{^en{#>Qfrgr#} ziw;tkEiKJCrRxFZm`SH=2o)TY3)>IzYngPj3TrNdwWzR`GFV21Wy)Y#wT(9QT3gw* zeihbVg0vZ?2shK&hvZA5@AmDr9Lj@rHceIB6=KoXvWB=bpOyrj+008v+)|kJ+4Kf09FD56e z_^ma3bIETQBs-;qizzDq1OPz3DFF6=Km$O_Dl&YR0r`)seM8ToVdmb@THo$lGx{zs z@{OarwHHG}7bijh0JP-WhWLNzhOsxXGqwKKCcbUHD+M}&t7mYS>N|dy1)KS{f&33& zUjR^3D|eG`Z3O^eDhB|xPrjI_sm+Y_zw2iY`nF;F2K(Fo3x?UZ_(%?Z9i3hn~f zHM4ed`_?wT>&O4b9`hJ|jg_t8w;jj(H{bdX1Qn1I*7|PW_vQMw0}%cPP-GBJ8+~iz zZ|&O-u=H&=L~O*%Z)fZ1^zEXBZ~pq-b}}?T^bb1+# z!}ahQI#wfu1Xc{V!huNi-MsIXK>u(3u9q&90|+9ID6%~jUwT5>4GtSi112auBP@(6 z79N0N$0dWWCFVH?vFQu~Z@nHI{9~p;;4w?G^9)ws#!2m(-BTs@w>%TzYxN?;8*ow0 zfOv!aU<#?8sWGVArG|84Tt>qA3jNMFlYn1PfABZTAuuzPXq zlw^p>pj3y-T3mDuEPa?18#jG8*(5I{aQVmiG5NBAutH6QseFuKLp!6FFUvGv??^qLfoUU*`|0bL>Al zF>~{DiAj0iJjF@0pr|S(e^r5^UxDES_Dm$ivb%d+plt>-ld#NFV406c_M_ZACdLNN z!xoW+D|?Ubr-5S++C^m%!~f&m+T-1t?Vs-v{T&NH z+<=8%5Ndb&c_V(LyRcY1dj*)C4L+8$q*Cp%IR=EWuZC-Bfsa~>8R9ta~r{9oeNf%AX~jZK^-)z>rsso)a{HzAqGw z#kOrHdFeL`z2{XtVS30&pHB9!ATsEzO2Z>kh>W&9C7FOVDA8g_(VGT-s2HFqc!a#? zG0BJnck-|U_;@^)tDX+CIQt;^t|}O;a?Vs3GumYV8C1w_u!O*03`6@3mzaVwfc$w4z@o`$Jk*9^4x;O(B|uA!k*)bLpRy7A%-k+rwE{f(p!2S{ z;lKmx^g-c#KyFa5cZ7Q?qYO?%vl8^xD;y+xN7I?rpi_amK$~&2E!bu(8_w4Ay527D z&k9qK1QwOcJ!0gGcPCRPi3Vh^`tA$#q)#HeMMWJ&0CskUjEU|mq(5Z zk52`U`@&^i-+6UCxV{tWlyzvw=DbvEQyVhBrH52!r805=lX$w|oJWK-jn~>h4HS37 zS9M=?nK!EIf={69Qna0Gw6FV~DvHsSroIiv;=efSV;ge6qe({&j;T(4(MTtnuJT8y z4V|}35UI!h+qEaXD&!MCP$xlAmi03~5x`s>`%h;$ zd$nyYmABv&Vu^rR+MBY}G4nHm*m?1V3h`nryF*GcNZNo;R$hq8Q`T9`8s&&z0o`*K z#7*?{OFoSwo9b_5O__Yrl8p>K9ifPQzD55ml77n;&DwG?>@K!@utrey{(>J6bEEl(X$J) zOc>|Yl|W*u>DGZs3c=8VQK9~|eUKHU2=U8<$sGIXyG)k*B}L{kwflux4QG7xT42C2 z+n?XFj+9dihqoTxypB={OoPk`x7Q7oN_-=PXcW6K+L#eq?`x^n8#GFAA`f+Pk`KLv z=)T(rC3ry~_7A;X(6vb3D@>O~dA9++zx!na$(nm*6-`ny#nZ)?kvfd=V;1Rw37?F# zTz!U^<6wp_&6?M6O*g2u%)e#%U=(hj6wT`vPmH=^6b$$OMnsvRRD?mh2~b6n2_4t` zc6>tsd)WK@AT-A-mb{X@mOQP|nT`U@73jQImW1z z-So|IgmP86t5^dj^P3N1&~AwdJ*Mf#eo0*7g{@rTt|VfvpyI?UM=ee?gyatCP-C^5 z)Tcf$BL2(KKs0DS{E2qOqO}>nqqO`P_uI(GSM?BJj-W)mSTO##LNxEA;L>*dveVw> z@%2#3<>ghop5tm#`WJ;t`G=SoNu0caD0!aWac~&{2MNBk6^%2x9-~Z?P^h`Jrb~Xo zdd_gQr}dEyZG7dG9lcjYhpk{d_)}7~_VdVH-`pJ2m5ir{SSzQt-E!7og77}d-!)yR z>pM$`7S1Q|9c`q`ihWda${>!N10n#z`~YuXSaI6PtU(6jJ-693=-mXOyTV)h)Gw={ z0eB-PoK>s5kUR&N?28!D*96{%pj=)bMbnj5uT~x&MWnv|p8Jn}eP4UiwL0NbJC6O# zk7L=9yMdRFk8;Dfk(IO6;y=UI87v8SE`#xs*5Za{BoKs`#37SD)SoVhFa3*i>~AIdYRbRm^fTtxctnUFbiS_|Ga428mNXrLUockj2= z4_y4pUkMLaX>a~K8*(T#Y0JBS)UafwvLb9uS@~+q(m{XEe@GJyytn{D)V%0cy=g6a zj%}FoCYN01xQ6uv6lfpo%f0Y?Q2y;6d6V%3K}~GClV==GCqzMr{@$G3nIYP2Klj2i z(DKTJc$#DlFBNY`Q!%l5GRfkYo`I+PtnGaUv~eG=L@P)}3;!1ve_#0TfP7i|8$hgC z%YTR0X7FpLEN*JcK5f;Qr-69h5Dtac4=w9~Qii+9p6Rq8DHwUVV!n}EW5{DT4X@He zJE4lv)96b^Fi$}(+ZcvG22fC(q&I$GeLlvQ-Y^Mh&i0K0EC!RMln_zeT-ClPf$ z==xbeBtXlGjrhcFArfa1e-=T_cSmuJEewVb4^Uf)T$g zXzS8&sp6a+mA*3aPMH)rys(VEI6ugx2lBUzx+1L-R7a)3_h<-Lq@|S?PQn}3=G92$ExNLIF zvKh%bz4#y|EW8w&1g*um&cDCn$>hm9!9KezPD42}#^7DJ3cnC{Z5+0x)A9OoRE1uEV8KH3xJa7CK>|IG!7(GF*1 z_8O>VL^x!>4fM)MVRKiPdpIe@gB*TAx^=vaI$3d^$K^rhZwfYJ2-FYiY~CYWFVgrr zR(J8V8aB=~(+&jZni=q3|2rB+KF##EvufP%He!C1`pVsv>(jl1-0D*!W=eaK$Wq`$ z$L1C}oP+R8>{e(E5~5$%F9G*Icc?}7a}Ly6gUpE!6}Z*FRKGdD@;oHX3)n=oSFmi0mAh)9YI>y{(6yEu!IC7@4Ty-8uTL_ z_2rdGYnnqVt}#C;93HQ)MY8r4G|JcSf2#c(9D*vIa`}>54SG_VkRf#Nc$&CQB=IhdTLZoql@WD4 zF%#syG>)>x(SX|0nZeTKJ}ue*L4+m7k&8eQv;q|*2e^ak1p!23^(CoAS*h2!Q$bxa zOme*tg3+gVBZf+?X@xX%&Qt>^yl<3Xvm)k;jV47!bDATe6DT}X4$WYp(ScgdwNeXJ z1?);oymn$e&gH<~?0O80j5EGfF0(hhV?4)p?IVyLGy*h0~FB>X3+yuit zLx!g3_puZ!$+i5#jYEj($mnccK9|X-dSMl!seksp+`Jf*>R$Tk2Xk0f_TAl)%gv&o zURy=Ya0Lc|=C130jg(`Hq}v-8$RAqJPMNxX zO)O1mTw7LFIGuGS-lJEEtIP0{U28ZOH1;g$&SYu@p#MDF3q9R!x>k<=1m#D&*JP^> zj+cvB==RU8{4QrXso)d5oZ}aK#lK=w`-{Hd2|rXcscyxVUbIa7b013%Dybh_Iyxv% z>93H~kar8`7wOS^T-Y{7)LyYA{(Dh#@Vk%r-J7t})mWO;u}cmi_L_+e-55BYaVlGg zzjl8Q6y`G~cv;oL<~X_6#j1Aata$hG{3Xn>S0&s^>O2okz~siZO;gAn@Er)JOuj4$ z+@&6Agwx(inO<8ew{2o;Xn=>hJ96tDsPuN3w#l&i15o z57jbmK%!p<_%z;(8bD{2cZB~yn2PnTvx%%d@> z$ZFmSp6{X}*g{#d5I2KnHTJ4N^64_a($}fe@kZNp-=jEjg-xPK?K+>_yFtHqzZj!Q z>)M-?AI!`A${eSAqvg%fGE2?ke&Fn}-a+Q5Ko(zT>M$wv(4+m}kE^7D>xR0mc?l{u z|H8Jb86_A{fgn7I(CRno5VTHMmKtuk9B(FNfX-aX;^NIh6KWA%bRsrgvj2~l$q`Z2 z43sSMB?rU~m%4*l=6<56Ge}2u(vJz6sN4&Wx&X6T&)+$yYw1(h1^!mltT+b+_D?r? z*!@G>6P?x6RTqyi<;P*Munh;I=?n&< zeJMqi%s{&8tp9MzfVy;YHcS7ZOq!nRuqBJN`h&#OhC_r+qA|N?a^AgZP>1OEOPhK| zXidRZQ-c+@A*q znd9Q`RSD{(c`_MsFl0=Un|ni48Sa*+A(@sJ1~REq3z7E#nbx@03+9q-ecjJbs(m+) z#>Ewqhp{*CXr#%lNdr1Bo8kx{{t-!PO6sN$>aN9wsGI2N-kZL&*5$)sv+Sm$KbREG zWLoO8y_v7~`DjpW2|3rJ6hg652;t&hWQ$3?jyODxZ3N6^V@6FgkoCIkNnJu1l8n-3 zf%2j`EJ3?9<#$;-Iiu{Y{anDUN~@bgRvzoSg|}_*+T67FdaV6G40AU^Bq=TS0_X!Zdb?lq&?qyn#XvUqNN6o} z?Wi8zDBx(s_H@;5TQjtHaC^D1XHyL7YI<#x;w-oCPKcUo?q z*zJ?!y{O;Fn|~_me;#h!j^H6Rrw&`6=0~Y2;-eD=dxF|&$Ftkc$Y%M7d})Q^ReXc* zDt^@IP*7BOZi`d8d_)RbT2j-FsOtF@hfjog>Wj37{5imWQ;fY60shqu?xqp=RRHvn z3jF%hg9MRH2rqLC*b~99@$AZz@8(Jq2#!t5-}u4`YQGNL6!Gz_v>ADV)yip?C@Mh+Uq`FF6^c-To-hx-%?y5 z5~Kl>imrP^0b3mp{7@NX-&)V|8D+gE+rqDy?O7HxBXfWLc%60C`iHLp&a)!iO#}3@ z(ZG~NsT7@5ktlevX@L`NIs3KB4Mmf`z#>4E_4$jfXCAd`7j!LK$1`5i{u+FjTMk`Y zcR89g&f6i-1rm&qF>>EeCSC(K)WROj8n4+byKx2ufGJUqNQ79daZH$HvYoWx*v3j3 zl|(+d=TXqJ?@>UQeh`sFU3x>{s3hVrbPmti7H|-|99jGU!u7Jrp*9Bh40^!m_9e*W z**Gj4?ePTf;{JY6@iar&#pS+8$_09rjfPNAok=|0H)H&AK&VaQ3QX=WYnoNCQdC?j zSWG-^m``^(Y5W;8Gp-dCnX%ooq@@jI_e0%oHIfdo{D-bR-=o*wKsduv7fh{#+w>lO zsNpp6mizSja5spu;A!FUb=$5>)hU@s(uGvi*jC}`*#Gm0Y`LAZ*eVya_f~NfDB%K> zZ+ydNe-!$sKXtOA2nAwZhxsCi3g5kzM#G`rYtK|O;Ym}?!Jvmd`r(p0kL#B2o^y4( zB;8EgK0I$Cqu%YMty_P)dE8R!g?i65$isUV%FX#Fgv_f9QDj=6amw9HK335Ki)Uy7 zTDW$NTcwLx_p|)N%qO&`Ntsp#Rg2C?XK#48!=?HT0Z;aB7xX&{<(H3{s2R=k{&$~S z`3aQt`Yr$jN_%}b0AEeuU!|#)_Aoukgk94)(Ad9hg`y(300G;ZjV;q$ygG1=`!4WH2 zP~S!;&ZWKU5~(lIm81sHdPt7I`jtO)3~s=r`Ya-T!V8&WkIAZ9tpem)2d&DY^YaH| zJfA1I2G-MvY0n zh>A<&NQz`BQx_kenZHicvYTYXeev}NuC9-MxGvRXqpPqZLIn=b?g68rSx9nRp(#2} zR&c&vIL`@iHwoD9!>}@r>9#r3x&uSgmHpjyz|Uv!=Y5hT?Wxlv#ES;o?X z!A||b9R&n|WYj$gf}i&;K7#=jWGjB{LxpC2?o$e6I8a{4;GOKkQ}NahdG31+?`>mn zvN?w(hI{nyplGz zIg+i{2DGJ90cgeb$>2oYctqIFHfS@T+-A+l3&2_Qjl@i89UJGa!aXvOVpcE0Idj+f z_b1^*>kM7q+D^lK~x{5F2E`7RG$E3LvAo2p$8BERUpr@Rsp4SJ|w#1%OFv(up zXGH|;s=Lb-;GQN6C%umEfst6SBCdy=q;K#jFtv>0OViLd^^nI_n`XL(O_st_ZRvnE zj+!Y+fDVYBICuOCa}FX;yD2%U9+F$Zh)eDHsYDCdN6|)Rmr_B*k3W7HXA#vcBsk}? zoL)rPvDAfN{Hqw^eiA^I#1_h|^C>exqr3w&z_e_GU-BbBt&W7c8jJax6G(qSgvSds0AZka7|9xVjlw7BPQy5Qsjlm2-j+9>w{i9ZBs z$Q1dybDd|khjJBJ0q`$R-O-Ek7dn6Q7LF(cF+y^Rs`1cgz}o6%8h`$llY4tqCnEqp zV-l8NGspYD69>mz3Pq%u*ZDz{%CbP@^d#7bG7A3iQ)}1}1B_q_mf5}J2-v5ka-q)( z<`~uode1YB*`orSJ7>N86)V@kSk&YvRt^rbO%aTF{qbdOs7T3&cqXI6y615c^PcB& zM{gWdEfj9o3lqnCd58=3zG`?>Zo**9bvJme=|bKlu5XKeMNa?a?7lc3Hn)wLL4p*` z_%wRCFno+a{dXj4V8BJExnHkPL$jN9ffTvgqRmA)4DXDftvR6v8AIVWjDA&Eg62k> zpLv{t(`Xa7Xw*8<6f!S+12@wopY%#N1>1{NqTlac9L**E;PidfAO)$`>Ffm@@e}C&`b$i8NKyTfj*aYBHHH@HpBcAIG` z(0@b{`jf7w9)K+rg_FEQ_jr&Ke&%H~=uGJEP%7*>UZ9|glhDzXp=bPHAZBNA^;)=a zBH}?FD_s?RWHRRCCT=>ief_0jO(@|05I3l1%u8pYNM`H98^?b=Le`m)wW#b8s1@ax zAAl~GKWp`Y^H6hn;~u@YoMk*4tC9egExI_S)8j5Ys}%0S3etd)+c3AHY;TJeG~V8> z0^Vi{^DbiR(VP;YttLI~6gls0;5vqfuQox4n{0#3j81g=U@W`@EKhMT9hYmPEzG>- zZ#50ow!Iq~?;S8((vB;UPTZA6JlKM5YsO&98f~yiMPRh_)R7cE1eE?}FSplYX~?v= zHzmpPKLH(25r;2DrPX(U^}%(_$R$~L0d%=Kt6u8!*3`XDnDTz$^N;)5KKDYLa5ZhwFGWdtYKOGnxVo06VxHJs2RhO z;h)2jNg9x|9qVMpI)^UAeU4w-N7to_U){us4^3tst(91NC9YrIItoh)?B}^)Cr}~h z-!O4GbVZMBr}>0e?Fr!A+vlP=sWZA1Q9m4LQ)=z-IfMPd-^P%gkhcqP~Ky zMIqY5eiX$PfZfT2e}~o=eY<;N(BXax^<>A%tpmMxlB;D=c98605SDWFW>A!>u05+e0D7`m?0IvbAPAD3;*jq?maM-P#Saq(;zB z)XNf+-vX{_V^m;z8&23gLv$8cvT)AEUib6f6nhPbXNp{9sp9xYV2U7!Pt~)#w8N-# z?b!BjjYel-DtB!yXBeb2S!K+iiwnELef(8`zvmhxiaQ@nc*VLIIjyYcO$aHp| zLRePt)TJ6|rJn!k53lGf+mUjsAalJ4^0O)5hkBSI4|?~<-ADI}bla&<;qqF=pn~=r z>h5@V+`UvExLUFdO}m zttPu2pFI!56FShwAej^Lfi-}Um}v85^KR2Pgq;LuN1{ zB}F%Vw&Ru&<>;NkASP)5m^!ld*cQ1wQMr9$U*T&M|J`az^W;m0IPj;(_M@exAf*SZZk{x z3s3tI*B;>LYA>v+bqlswn%q;ry|>l>Yj#{${L!1CJEAhYdN1(#2X0MzG>~MLiE&^Q zTMTLr?LELseAxtk1WI0|NUSy4-86D2g^~=s%~hv(C~!Nt)@F@032rH*R^Qxw|=t*>=D##x%7qkW^xP0O+EMI6WtnCFhEh=R<6x-K(%L5$S z#O~TR{!=c-k2O>(}EjS`R8(_XJi=%ZZ9ZP5#1Fp*|W7-*A{Zxxr{rimSK@4@yDe*oA=+= z$dRnc2BF8I&F)iEhf`T0$0eJ+k$OxV**)0||9 z`}C?Ev?Z6y@U6J8NycKGh0gw#s*YWaiq!aE0aW-02MPZc2Wp|vX|i?JqkKm)g-p1M z{U4m1c*3`Ao3H*cY(N4zRuRD+dya_B6(MUR3T=)P9`n zR(}M%DP2|Yi{0u5U+WZmCkw*fx4$|^j7pB9LuyOv_CKyM&>v+@^1U75y5Dh~b!<{X zZ7Ty5f^2Iz7lb`4%YeM$MrNAk@3xfe;9nx_HM;VfWsky;qyu_4u%U4>#g>730*iD_ zY&^0W|6JTgC=K zxuTd|$rGLw)>2>*_O~6gf!fa2sheEF3iN93dJtI~_SsiIf0D6RV%_3C(G=u!hawGI zkz484nh(QYsZO^cuCYEId1%28HBqT)kQq8=yFWHU+T#qd6XD=xs--6!=%fcX|3+s< zNiA1ND?Pk1=iVl6i=TI-GAc4fI--4PQm=gKU+XH@8D9jcRQJxd1q3pcQ}Q&1o@_m8cJ8{Z8*t3}7t#F3l$zkvj*R6KeRs=K-O6rjZTLq0O1lJ9I!Ap#rprL- zD1WA2J{1Fyx1<5WD(OiqsBT=oGWvMrePizb^A#{B;^L!R5i-F_pyqq6D0{Ejqe*5f zZdGb6TZLTc<}3j#vInXdnMF^9Bn>MCM|x-P7)mpXQ+0s>ll3XWn^|&ILY|niY7pu2 z3&yc;cw$zL6761-XWw6s`J{jNA}eed2RwNrd-Q>e$2bOnlWoR$c{ljpRk9;{Z#owU z@8?;kFBV4Om8#{5_(kAKF;b55>vPMU29P4+{J`0Qv5(^DXj}_MWaFkM3ye;hj%eAT zpLBhiqLOKHMOyNiez2>~d1yCG_escmASl@(b6ijsKDBe`*tuOZt~WNlzWKA6QRCS;h6+;29}RIM z+cLc1aYTIv;oVS<1%X}w)u0-p1N5M+#Dw@@5KIqVg11Im<257r)Gl8bZKsRA1@2N2K<7Y|nS$BzmIaT&O-x)I>tU{ENQj^=f5 ziMq|mmL_*(Zqo#NqVU?>g;oOh`<|bJ(IrEj!H6C|-|XoJ_z2Ma=YToNfHq=549#Gd zwevY%b%t7y8N)akmCDTOah|-+=U*zbqTFn~HhQ7{XrF0J7}P2EQ&6kve=nLlXOORw z=Kq1l**P<1RlKG$9kEu32R1f6{43C`vTV^w_?%GOth8W8l4*9FXjZbU$2d^H zHgnTZlY3fu&o;o)X0_?qul%BGRr#~((&QYYUG|ML>DTDaQUX-SA(i223Z-*t(PP5n~^EM8>s&#MTTa#|6r|XYSVp|vw!o<39hYfWD z{x|KOdXD}L{Ts>jXfBz!AlkE>vU%7}@`zt@H1~HP1+BRYIHC;Mfv7EvO_lN8D?lE_ zQ@fv!&y}_Cy-N(np6w#;T5+Nqjw;Rbl_K69na$23msd&^2DTC4b6nY>V~^T?7x_J= zpwFpQldFFe0aZ8v8A)pwh2(N-9_iY60?l1<4`pg))X)IeQ|HsWWav#>UMBgLHcKBf zYA!Z3w~Kx$f$fm2L5f!G45ZAwr|O`$>G?MV`HY3>I2`eYrI9qg;CBt$--AVqXg^AS z)d3TisdYsbLD^JVpY1!f(v9cCUfkD%lMRI)F*0qYjjVFI&33fDzl7Kl9vmgSZ$NHo zo>`zNL_ZpZx;pG6Af*?_I^V*tdpQQ}l*S^gwDI}P135g0i#$@40tSfz`< zZ{_*5R$$7REp;>+yp4=QC;-KbSl(RN+pA!27It^c_Y8a&*Z^JYpwp<(eNsv9l-);m zDkf{!mT2EhjqOJoYY`3?p-lO`15wdiq3d_w$(D%rzM6x!Aw`-H{u_(g7C~bN%m(sV zv*4eoGPP_RS&W0z7I30T8xbPO`~yr;5g8tNYrM!2)IaN26B;L$T5W(6|11U=_R1_-ld$BUn z#RBvJnbSLt0VDByh>S4;=1@TfHiaBKOagJvrlAL2RsYDiJak+ME)vm)>OG5Jsd>QO z$6dt46uHj=0Zg;WNHq42T4tp-Z7`Jd@HEPnsN%Fv|am)X+ z$WlcU@24@js`lOS^VYykO65a80w&39czD3IT=TH*LgWW=hswElgt`tUbwsB@^0F>A z!U+@~S&mqMS0{n?(up>!2W!GY+abayR)cB{>^))_o;MT4d4QD$gkS~gp4_;fmtcW) zf3;jqoxDj8s>7*H+ct8;X(iG5=SzYu7zNLlKZ4iJr&ue_78Y(?LEH|HCBZoS;Z-XI zN8(_hpfJKg*EnIq`zuc-d_b$Ee)78gtfXgK_m{Y z-SND|3p4Fi9(vRWl?Ls@F0>Q&mSR9+)a=!bKL3eaq)Ur~lkdYxWmB)tA5RGD>J}w+ zq`R!GlW1=f+)8g0!wMct9V|(BD96(G$SUcx^vX%;OlhkAMvmg|f0J%b9JY*XENa<~ zli)+i3@|>o*S_|;d-(gph|L5nyx!{mQtJIKw|gof$LYvC6P8PglN{mr+5OAAH;-@J zXKOAW-SJjEO$O`|Mo>5j&+|oG+e)y?%3l!h=(qR(A(I}h=gZ7MM3+CfpCj&t&-LW3=TtQ7z|gW3WcgC&v7Gin%D1x*Oq;!?g{3f zgq#N3dem0&G+m*Aw*B290xSf`T|MGAp)c$Yo;&0GgI7WfudT@r%pPBB|88L;kU9T6 z`Zz_t^6r7R;OzWEVD1f}kyB-kvI_H)e@M zB}_~?$?(DTmT}fIxDvSW+KT|+FOX5;bC<9vTW7CEZ$F-~gY4sKjjyXfHmx0I(=%-c zpTZ#H*gVO4J_AxIRKC<-tZo^gQf&;UHn!8Z+{Lc^^)%&qExzq(`oY7~Mi=(Dr=A9q(9L=nkK*jo;MP*Xz#s>OazA-C|DMwy=jn5t^-Y zNkLk(K(Hqg-*f{7;QNd9(=6>YGDSY%w!u=1q*2oQ^?D-04&7&atY z%LD;XO4FG*{G)MnE1 zmtL!fBV|5Hi3VF~xioO$E*&X+M8{~>ICktI@sVqe>|-+sGbo9ywUL|;=2T*Iw(0z) z#!#8Cy9CSFulA1bYUUg=zL}>CsRCIuTorw7_H>n|f!{p(`{bwMyCYm_QCT7T#zc&9 zUxBl|1Q9_8-B>MwP<7)J^?RcAnGsXX+$49!I#Sg54W#(oYB62Pn%$SxY9`!Ky>xlX zeghf+en>8+*IQPLFvp@}r z3v6Zgcp7H$7Wem&o-m)Foc6Y{t}m06;}1rJH~!*764){M#FfocM=+1@r9P*1#Skzds8t4Q$4@??*l^% z{=`w&FT{T#X(GQ0h8sba20o0u57x-(jKjZuy~t{B&>%z0C3_kkgMu<#BscaqB~tG` zI#{!qo?}K|^Lg|Kj^lttVanujeH@pJ@qVoqJ^FM=r_I*!{-zG`cNp^^mrwoi(#V2> zKB*>yQmpt@nGlv&^eoNH)8Bs;zfRU_K&GomOMvQBNY1o_nt9pQ;@`ZEC$irSZb*E*1XqZ>;|I266GYVhhu6EVt?VeNxmpQ_K6|_@v65>liM=^T#{ih3@ zC#vD307dzY3h)JibNx>A_`i8jUANbKprDEaU+G`POn4v>IUpv0mU;;F@9V!NLBsF> zm_4`KRt!`BOF80+HgB>%HtyW8vQ1`imAdXa%l$G<%CaU53LR3xvIwz`KGBc=Rit)i zw_?t%SsHm5Vs07lLVaFZNK~YzSNAEZX6!WJ_)y1Q_Cfdiw6r9KQHTQ#ZfTG*s-83< zWG%@+KH@nkH;|mX(5$owt;k4z+=xVBViHlezQmvjimDClgKlPtQZi~rjHWZ6f6lJ| zJrxSByo9PRs2matKaV0#ytWFZAGt;8rVSzN=LSj5 zS?!}G-qPHK%2P$J zWtQkfpK-Z%LUp;xLKSyv`+hqR0Fe5>Yb@X%C;|)s_5dG2R6ycEMnJ(pl|Vf}XTS)- zoWQz%F#ZVoaR-hMt_Pk1{tTf65f3o}DFZnMg$)%CbptI30}o>YQvmY{D*+n-2M(tL zR|iiEUjToDpn_0@@QTQaScC+IWPp@{RDe{2)PXdDw1BjO%#AFHtbnY8Y=P{89Dp2+ zoQ7P4T!-9+Jchi4yoY>+;({`QvVgLKa)I)U3WlnLnu1z@T7%kwI)b`@x`UR2R)AK6 z)`2#Hwt%*Sc7gVc4u(#P&WSF9E{Cp#ZieoJ{*FH>GlR>HTZX%XXM(qe_l{4DPmj-y?|`3!e@F0>K#jnNAcCNZpp9UNV1{6e z;E@oX5Sx&kke-m8P=Zj0(2OveFpqG6@PG(}h>$3N=z!>x7@3%sSc2G(1eS!KWQdfX zw1JG8jFpU^>^GSL*&nhhvI}xSau4zV@(A)R3Tz4$iW*96$^gm(Dg&wssuQXkY5+AN zH6b-4wGy=%brSUw^&Sl>jVMhJO%=@rEeNd}tsiX|Z7gjHZ4PY-Z4GS;?HKI_?F}6m z9Vwj%oflmT-2^>=o|WE&K81dW{+|B+yLbP~?YsKU8bbtF1Hk{s{>%0I&ddZl0zd&k zH(*qBpp2+JZbMQv_zF0&;fb{v8XLbCyAdcqfLM zew6gmDsrc;+m%4`F#kj4VE9ATVIpOM61~{y6^A|^O0py$PMeXDZQ#=3oTt;t%1p~*4AdYxT&!qQ4B!PA5kfMIGT z(y{?XOoU9p4`P z^{)e?qhwT4=P^RH^T^rOZC-QhG1|5B*qb0lFG`vGb-~o*d4pS5&AL*0XUbiI^k z%xK~vQOxtqFtpc!eyEXUao`kp>rV+%F^K|EjRG-IBT*G296h}Qk*X#1--{~UBlAP= zBgsb{j`Sn;b5!+6iPclMZ&i`^K|PRP12mJTnsyhPPbCHJ zxU$95N`adrF=7?QJWJH?(v29@y<$TQ9b$Oh`hyY3J%dv7dP*m?rl9OB+Oh1)Qu)ATxL8b&2wrJgzsGhBfCf+p z1cJ~2>p=e7H-iYWQxl;AAZY;2Kxsi{QjGsj>p&qOXlek2zr4*cMI>wV6x3>fI5hzE K8esJIl=(ky4d8 p { + margin-top: 5px; +} + +#types ol li:last-child { + margin-bottom: 5px; +} + +#definition { + position: relative; + display: block; + padding: 5px 0; + padding: 0; + margin: 0.5em; + min-height: 4.72em; +} + +#definition > a > img { + float: left; + padding-right: 6px; + padding-left: 5px; +} + +#definition p + h1 { + margin-top: 3px; +} + +#definition > h1 { + float: left; + color: #103a51; + display: inline-block; + overflow: hidden; + margin-top: 10px; + font-size: 2.0em; +} + +#definition h1 > a { + color: #103a51 !important; + text-decoration: none !important; +} + +#template ol > li > span.permalink > a > i { + transform: rotate(-45deg); +} + +#definition #owner { + color: #103a51; + padding-top: 1.3em; + font-size: 0.8em; + overflow: hidden; +} + +#definition > h3 { + margin-top: 0.85em; + padding: 0; +} + +#definition #owner > a { + color: #103a51; +} + +#definition #owner > a:hover { + text-decoration: none; +} + +#signature { + background-color: #c2d2dc; + min-height: 18px; + font-size: 0.9em; + padding: 8px; + color: #103a51; + border-radius: 0.2em; + margin: 0 0.5rem; +} + +#signature > span.modifier_kind { + display: inline; + float: left; + text-align: left; + width: auto; + position: static; + padding-left: 0; +} + +span.symbol > a { + display: inline-block; +} + +#signature > span.symbol { + text-align: left; + display: inline; + padding-left: 0.7em; +} + +/* Linear super types and known subclasses */ +.hiddenContent { + display: none; +} + +.toggleContainer .toggle { + position: relative; + color: #103a51; + margin-left: 0.3em; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.toggleContainer .toggle > i { + position: absolute; + left: -1.5em; + top: 0em; + font-size: 1.3em; + transition: 0.1s; +} + +.toggleContainer .toggle.open > i { + transform: rotate(90deg); +} + +.toggleContainer .hiddenContent { + margin-top: 1.5em; +} + +#memberfilter > i.arrow { + position: absolute; + top: 0.45em; + left: -0.9em; + color: #fff; + font-size: 1.3em; + opacity: 0; + transition: 0.1s; + cursor: pointer; +} + +#memberfilter > i.arrow.rotate { + transform: rotate(90deg); +} + +#memberfilter:hover > i.arrow { + opacity: 1; +} + +.big-circle { + box-sizing: content-box; + height: 5.7em; + width: 5.7em; + float: left; + color: transparent; +} + +.big-circle:hover { + background-size: 5.7em; +} + +.big-circle.class { + background: url("class.svg") no-repeat center; +} + +.big-circle.class-companion-object { + background: url("class_comp.svg") no-repeat center; +} + +.big-circle.object-companion-class { + background: url("object_comp.svg") no-repeat center; +} + +.big-circle.trait-companion-object { + background: url("trait_comp.svg") no-repeat center; +} + +.big-circle.object-companion-trait { + background: url("object_comp_trait.svg") no-repeat center; +} + +.big-circle.object { + background: url("object.svg") no-repeat center; +} + +.big-circle.trait { + background: url("trait.svg") no-repeat center; +} + +.big-circle.package { + background: url("package.svg") no-repeat center; +} + +body.abstract.type div.big-circle { + background: url("abstract_type.svg") no-repeat center; +} + +body.alias.type div.big-circle { + background: url("abstract_type.svg") no-repeat center; +} + +#template { + margin: 0.9em 0.75em 0.75em; + padding-bottom: 0.5em; +} + +#template h3 { + color: #103a51; + height: 2em; + padding: 1em 1em 2em; + font-size: 1.2em; +} + +#order { + margin-top: 1.5em; +} + +h3 { + color: #103a51; + padding: 5px 10px; + font-size: 1em; + font-weight: bold; +} + +dl.attributes > dt { + display: block; + float: left; + font-style: italic; + font-weight: bold; +} + +dl.attributes > dt.implicit { + font-weight: bold; + color: darkgreen; +} + +dl.attributes > dd { + display: block; + padding-left: 10em; + margin-bottom: 5px; + min-height: 15px; +} + +.values ol li:last-child { + margin-bottom: 5px; +} + +#constructors > h3 { + height: 2em; + padding: 1em 1em 2em; + color: #2C475C; +} + +#inheritedMembers > div.parent > h3 { + height: 17px; + font-style: italic; +} + +#inheritedMembers > div.parent > h3 * { + color: white; +} + +#inheritedMembers > div.conversion > h3 { + height: 2em; + padding: 1em; + font-style: italic; + color: #2C475C; +} + +#groupedMembers > div.group > h3 { + color: #2C475C; + height: 2em; + padding: 1em 1em 2em; +} + +/* Member cells */ +div.members > ol { + list-style: none; +} + +div.members > ol > li { + display: table; + width: 100%; + position: relative; + background-color: #fff; + border-radius: 0.2em; + color: #103a51; + padding: 5px 0 5px; + margin-bottom: 0.4em; + min-height: 3.7em; + border-left: 0.25em solid white; + -webkit-box-shadow: 0 0 10px rgba(0,0,0,0.1); + box-shadow: 0 0 10px rgba(0,0,0,0.1); + transition: 0.1s; +} + +div.members > ol >li.selected, +div.members > ol > li:hover { + background-color: #dae7f0; + border-left-color: #dae7f0; +} + +div.members > ol >li[fullComment=yes].selected, +div.members > ol > li[fullComment=yes]:hover { + cursor: pointer; + border-left: 0.25em solid #72D0EB; +} + +div.members > ol > li:last-child { + padding: 5px 0 5px; +} + +/* Member signatures */ + +#tooltip { + background: #EFD5B5; + border: 1px solid gray; + color: black; + display: none; + padding: 5px; + position: absolute; +} + +.signature { + font-family: "Source Code Pro", "Monaco", "Ubuntu Mono Regular", "Lucida Console", monospace; + font-size: 0.8rem; + line-height: 18px; + clear: both; + display: block; +} + +.modifier_kind { + font-family: "Source Code Pro", "Monaco", "Ubuntu Mono Regular", "Lucida Console", monospace; + font-size: 0.8rem; + padding-right: 0.5em; + text-align: right; + display: table-cell; + white-space: nowrap; + width: 16em; +} + +.symbol { + font-family: "Source Code Pro", "Monaco", "Ubuntu Mono Regular", "Lucida Console", monospace; +} + +a > .symbol > .name { + text-decoration: underline; +} + +a:hover > .symbol > .name { + text-decoration: none; +} + +.signature > a { + text-decoration: none; +} + +.signature > .symbol { + display: inline; +} + +.signature .name { + display: inline-block; + font-weight: bold; +} + +span.symbol > span.name { + font-weight: bold; +} + +#types > ol > li > span.symbol > span.result { + display: none; +} + +#types > ol > li > span.symbol > span.result.alias, +#types > ol > li:hover > span.symbol > span.result, +#types > ol > li.open > span.symbol > span.result { + display: inline; +} + +.symbol > .implicit { + display: inline-block; + font-weight: bold; + text-decoration: underline; + color: darkgreen; +} + +.symbol .shadowed { + color: darkseagreen; +} + +.symbol .params > .implicit { + font-style: italic; +} + +.symbol .deprecated { + text-decoration: line-through; +} + +.symbol .params .default { + font-style: italic; +} + +#template .closed { + cursor: pointer; +} + +#template .opened { + cursor: pointer; +} + +i.unfold-arrow { + font-size: 1em; + position: absolute; + top: 0.55em; + left: 0.7em; + transition: 0.1s; +} + +#template .modifier_kind.opened > i.unfold-arrow { + transform: rotate(90deg); +} + +#template .values .name { + font-weight: 600; + color: #315479; +} + +#template .types .name { + font-weight: 600; + color: darkgreen; +} + +.full-signature-usecase h4 span { + font-size: 0.8rem; +} + +.full-signature-usecase > #signature { + padding-top: 0px; + position: relative; + top: 0; +} + +/* Hide unfold arrow where appropriate */ +#template li[fullComment=no] .modifier_kind > i.unfold-arrow, +div#definition > h4#signature > span.modifier_kind > i.unfold-arrow, +.full-signature-usecase > .signature > .closed > i.unfold-arrow, +.full-signature-usecase > .signature > .opened > i.unfold-arrow { + display: none; +} + +#template .full-signature-usecase > .signature > .closed { + background: none; +} + +#template .full-signature-usecase > .signature > .opened { + background: none; +} + +.full-signature-block { + padding: 5px 0 0; + border-top: 1px solid #EBEBEB; + margin-top: 5px; + margin-bottom: 5px; +} + +#definition .morelinks { + text-align: right; + font-family: "Source Code Pro", "Monaco", "Ubuntu Mono Regular", "Lucida Console", monospace; +} + +#definition .morelinks a { + color: #103a51; +} + +#template .members li .permalink { + position: absolute; + left: 0.25em; + top: 0.95em; +} + +#definition .permalink { + display: none; + color: black; +} + +#definition .permalink a { + color: #103a51; + transform: rotate(-45deg); +} + +#definition > h1 > span > a > i { + font-size: 1.4rem; +} + +#template ol > li > span.permalink > a > i { + color: #fff; +} + +#template .members li .permalink, +#definition .permalink a { + display: none; +} + +#template .members li:hover .permalink, +#definition:hover .permalink a { + display: block; +} + +#template .members li .permalink a, +#definition .permalink a { + text-decoration: none; + font-weight: bold; +} + +/* Comments text formatting */ + +.cmt { + color: #103a51; +} + +.cmt p { + margin: 0.7em 0; +} + +.cmt p:first-child { + margin-top: 0; +} + +.cmt p:last-child { + margin-bottom: 0; +} + +.cmt h3, +.cmt h4, +.cmt h5, +.cmt h6 { + margin-bottom: 0.7em; + margin-top: 1.4em; + display: block; + text-align: left; + font-weight: bold; +} + +.cmt pre { + padding: 0.5em; + border: 0px solid #ddd; + background-color: #fff; + margin: 5px 0; + display: block; + font-family: "Source Code Pro", "Monaco", "Ubuntu Mono Regular", "Lucida Console", monospace; + border-radius: 0.2em; + overflow-x: auto; +} + +.cmt pre span.ano { + color: blue; +} + +.cmt pre span.cmt { + color: green; +} + +.cmt pre span.kw { + font-weight: bold; +} + +.cmt pre span.lit { + color: #c71585; +} + +.cmt pre span.num { + color: #1e90ff; /* dodgerblue */ +} + +.cmt pre span.std { + color: #008080; /* teal */ +} + +.cmt ul { + display: block; + list-style: circle; + padding-left: 20px; +} + +.cmt ol { + display: block; + padding-left:20px; +} + +.cmt ol.decimal { + list-style: decimal; +} + +.cmt ol.lowerAlpha { + list-style: lower-alpha; +} + +.cmt ol.upperAlpha { + list-style: upper-alpha; +} + +.cmt ol.lowerRoman { + list-style: lower-roman; +} + +.cmt ol.upperRoman { + list-style: upper-roman; +} + +.cmt li { + display: list-item; +} + +.cmt code { + font-weight: bold; +} + +.cmt a { + font-style: bold; +} + +.cmt em, .cmt i { + font-style: italic; +} + +.cmt strong, .cmt b { + font-weight: bold; +} + +/* Comments structured layout */ + +.group > div.comment { + display: block; + padding: 0 1.2em 1em; + font-family: "Open Sans"; +} + +p.comment { + display: block; + margin-left: 14.7em; + margin-top: 5px; +} + +.shortcomment { + display: block; + margin: 5px 10px; +} + +.shortcomment > span.badge { + display: block; + position: absolute; + right: 0; + top: 0.7em; +} + +div.fullcommenttop { + padding: 1em 0.8em; +} + +div.fullcomment { + margin: 5px 10px; +} + +#template div.fullcommenttop, +#template div.fullcomment { + display:none; + margin: 0.5em 1em 0 0; +} + +#template .shortcomment { + margin: 5px 0 0 0; + padding: 0; + font-family: "Open Sans"; +} + +div.fullcomment .block { + padding: 5px 0 0; + border-top: 2px solid #fff; + margin-top: 5px; + overflow: hidden; + font-family: "Open Sans"; +} + +div.fullcommenttop .block { + position: relative; + padding: 1em; + margin: 0.5em 0; + border-radius: 0.2em; + background-color: #fff; + -webkit-box-shadow: 0 0 10px rgba(0,0,0,0.1); + box-shadow: 0 0 10px rgba(0,0,0,0.1); +} + +div.fullcommenttop .toggleContainer { + border-left: 0 solid #72D0EB; + transition: 0.1s; + cursor: pointer; +} + +div.fullcommenttop .toggleContainer:hover { + border-left: 0.25em solid #72D0EB; +} + +div#comment, +div#mbrsel, +div#template, +div#footer { + font-size: 0.8em; +} + +#comment { + font-family: "Open Sans"; +} + +#comment > dl { + background: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} + +#comment > dl > div > ol { + list-style-type: none; +} + +div.fullcomment div.block ol li p, +div.fullcomment div.block ol li { + display:inline +} + +div.fullcomment .block > h5 { + font-style: italic; + font-weight: normal; + display: inline-block; +} + +div.fullcomment .comment { + font-family: "Open Sans"; + margin: 5px 0 10px; +} + +div.fullcommenttop .comment:last-child, +div.fullcomment .comment:last-child { + margin-bottom: 0; +} + +div.fullcommenttop dl.paramcmts { + margin-bottom: 0.8em; + padding-bottom: 0.8em; +} + +div.fullcommenttop dl.paramcmts > dt, +div.fullcomment dl.paramcmts > dt { + display: block; + float: left; + font-weight: bold; + min-width: 70px; +} + +div.fullcommenttop dl.paramcmts > dd, +div.fullcomment dl.paramcmts > dd { + display: block; + padding-left: 10px; + margin-bottom: 5px; + margin-left: 70px; + min-height: 15px; +} + +/* Members filter tool */ + +#memberfilter { + position: relative; + display: block; + height: 2.7em; + margin-bottom: 5px; + margin-left: 1.5em; +} + +#memberfilter > .input { + display: block; + position: absolute; + top: 0; + left: -1.65em; + right: -0.2em; + transition: 0.2s; +} + +#memberfilter > .input > input { + color: #fff; + width: 100%; + border-radius: 0.2em; + padding: 0.5em; + background: rgba(255, 255, 255, 0.2); + font-family: "Open Sans"; +} + +#memberfilter > .clear { + display: none; + position: absolute; + top: 0.55em; + color: rgba(255, 255, 255, 0.4); + right: 0; + font-size: 1.2em; +} + +#memberfilter > .clear:hover { + color: #fff; + cursor: pointer; +} + +#mbrsel { + display: block; + padding: 1em 1em 0.5em; + margin: 0.8em; + border-radius: 0.2em; + background-color: #364550; + -webkit-box-shadow: 0 0 10px rgba(0,0,0,0.2); + box-shadow: 0 0 10px rgba(0,0,0,0.2); + position: relative; +} + +#mbrsel > div.toggle { + opacity: 0; + position: absolute; + left: 1.85em; + top: 1.75em; + width: 1em; + height: 1em; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + transition: 0.2s; +} + +#mbrsel:hover > div.toggle { + opacity: 1; +} + +#mbrsel:hover #memberfilter > .input { + left: 0.7em; +} + +#mbrsel > div.toggle > i { + cursor: pointer; + position: absolute; + left: 0; + top: 0; + color: #fff; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +#mbrsel > div.toggle.open > i { + transform: rotate(90deg); +} + +#mbrsel > div#filterby { + display: none; +} + +#mbrsel > div#filterby > div { + margin-bottom: 5px; +} + +#mbrsel > div#filterby > div:last-child { + margin-bottom: 0; +} + +#mbrsel > div#filterby > div > span.filtertype { + color: #fff; + padding: 4px; + margin-right: 1em; + float: left; + display: inline-block; + font-weight: bold; + width: 4.5em; +} + +#mbrsel > div#filterby > div > ol { + display: inline-block; +} + +#mbrsel > div#filterby > div > a { + position:relative; + top: -8px; + font-size: 11px; +} + +#mbrsel > div#filterby > div > ol#linearization { + display: table; + margin-left: 70px; +} + +#mbrsel > div#filterby > div > ol#linearization > li.in { + text-decoration: none; + float: left; + margin-right: 5px; + background-position: right 0px; +} + +#mbrsel > div#filterby > div > ol#linearization > li.in > span{ + float: left; +} + +#mbrsel > div#filterby > div > ol#implicits { + display: table; + margin-left: 70px; +} + +#mbrsel > div#filterby > div > ol#implicits > li { + text-decoration: none; + float: left; + margin: 0.4em 0.4em 0.4em 0; +} + +#mbrsel > div#filterby > div > ol#implicits > li.in { + text-decoration: none; + float: left; +} + +#mbrsel > div#filterby > div > ol#implicits > li.in > span{ + float: left; +} + +#mbrsel > div#filterby > div > ol > li { + line-height: 1.5em; + display: inline-block; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +#mbrsel > div#filterby > div > ol > li.in { + text-decoration: none; + float: left; + margin-right: 5px; + + font-size: 0.8em; + -webkit-border-radius: 0.2em; + border-radius: 0.2em; + padding: 5px 15px; + cursor: pointer; + background: #f16665; + border-bottom: 2px solid #d64546; + color: #fff; + font-weight: 700; +} + +#mbrsel > div#filterby > div > ol > li.in > span{ + float: left; +} + +#mbrsel > div#filterby > div > ol > li.out { + text-decoration: none; + float: left; + padding-right: 10px; + margin-right: 5px; + font-size: 0.8em; + -webkit-border-radius: 0.2em; + border-radius: 0.2em; + padding: 5px 15px; + cursor: pointer; + background: #c2d2dc; + border-bottom: 2px solid rgba(0, 0, 0, 0.1); + color: #103a51; + font-weight: 700; +} + +#mbrsel > div#filterby > div > ol > li.out > span{ + float: left; +} + +.badge { + display: inline-block; + padding: 0.3em 1em; + font-size: 0.8em; + font-weight: bold; + color: #ffffff; + white-space: nowrap; + vertical-align: middle; + background-color: #999999; + -webkit-border-radius: 9px; + -moz-border-radius: 9px; + border-radius: 1em; + font-family: "Open Sans"; +} + +.badge-red { + background-color: #b94a48; + margin-right: 0.8em !important; +} + +/* Media query rules for smaller viewport */ +@media only screen /* Large screen with a small window */ +and (max-width: 650px) +, +screen /* HiDPI device like Nexus 5 */ +and (max-device-width: 360px) +and (max-device-height: 640px) +and (-webkit-device-pixel-ratio: 3) +, +screen /* Most mobile devices */ +and (max-device-width: 480px) +and (orientation: portrait) +, +only screen /* iPhone 6 */ +and (max-device-width: 667px) +and (-webkit-device-pixel-ratio: 2) +{ + body, + body > h4#signature { + min-width: 300px; + } + + #template .modifier_kind { + width: 1px; + padding-left: 2.5em; + } + + span.modifier_kind > span.modifier { + display: none; + } + + #definition { + height: 6em; + } + + #definition > h1 { + font-size: 1em; + margin-right: 0.3em; + } + + #definition > h3 { + float: left; + margin: 0.3em 0; + } + + #definition > #owner { + padding-top: 2.6em; + } + + #definition .morelinks { + text-align: left; + font-size: 0.8em; + } + + .big-circle { + margin-top: 0.6em; + } +} + +/* Media query rules specifically for mobile devices */ +@media +screen /* HiDPI device like Nexus 5 */ +and (max-device-width: 360px) +and (max-device-height: 640px) +and (-webkit-device-pixel-ratio: 3) +, +screen /* Most mobile devices */ +and (max-device-width: 480px) +and (orientation: portrait) +, +only screen /* iPhone 6 */ +and (max-device-width: 667px) +and (-webkit-device-pixel-ratio: 2) +{ + #signature { + font-size: 0.7em; + } + + #definition > h1 { + font-size: 1.3em; + } + + #definition .morelinks { + display: none; + } + + #definition #owner { + padding-top: 0.7em; + } + + #signature > span.modifier_kind { + width: auto; + } + + div.fullcomment dl.attributes > dt { + margin: 0.5em 0; + clear: both; + } + + div.fullcomment dl.attributes > dd { + padding-left: 0; + clear: both; + } + + .big-circle { + width: 3em; + height: 3em; + background-size: 3em !important; + margin: 0.5em; + } + + div#template { + margin-bottom: 0.5em; + } + + div#footer { + font-size: 0.5em; + } + + .shortcomment > span.badge { + display: none; + } +} diff --git a/docs/scaladoc/lib/template.js b/docs/scaladoc/lib/template.js new file mode 100644 index 00000000..a9cc19a6 --- /dev/null +++ b/docs/scaladoc/lib/template.js @@ -0,0 +1,549 @@ +// © 2009–2010 EPFL/LAMP +// code by Gilles Dubochet with contributions by Pedro Furlanetto, Marcin Kubala and Felix Mulder + +var $panzoom = undefined; +$(document).ready(function() { + // Add zoom functionality to type inheritance diagram + $panzoom = $(".diagram-container > .diagram").panzoom({ + increment: 0.1, + minScale: 1, + maxScale: 7, + transition: true, + duration: 200, + contain: 'invert', + easing: "ease-in-out", + $zoomIn: $('#diagram-zoom-in'), + $zoomOut: $('#diagram-zoom-out'), + }); + + var oldWidth = $("div#subpackage-spacer").width() + 1 + "px"; + $("div#packages > ul > li.current").click(function() { + $("div#subpackage-spacer").css({ "width": oldWidth }); + $("li.current-entities").toggle(); + }); + + var controls = { + visibility: { + publicOnly: $("#visbl").find("> ol > li.public"), + all: $("#visbl").find("> ol > li.all") + } + }; + + // Escapes special characters and returns a valid jQuery selector + function escapeJquery(str){ + return str.replace(/([;&,\.\+\*\~':"\!\^#$%@\[\]\(\)=<>\|])/g, '\\$1'); + } + + function toggleVisibilityFilter(ctrlToEnable, ctrToDisable) { + if (ctrlToEnable.hasClass("out")) { + ctrlToEnable.removeClass("out").addClass("in"); + ctrToDisable.removeClass("in").addClass("out"); + filter(); + } + } + + controls.visibility.publicOnly.click(function () { + toggleVisibilityFilter(controls.visibility.publicOnly, controls.visibility.all); + }); + + controls.visibility.all.click(function () { + toggleVisibilityFilter(controls.visibility.all, controls.visibility.publicOnly); + }); + + function exposeMember(jqElem) { + var jqElemParent = jqElem.parent(), + parentName = jqElemParent.attr("name"), + ancestorName = /^([^#]*)(#.*)?$/gi.exec(parentName)[1]; + + // switch visibility filter if necessary + if (jqElemParent.attr("visbl") == "prt") { + toggleVisibilityFilter(controls.visibility.all, controls.visibility.publicOnly); + } + + // toggle appropriate ancestor filter buttons + if (ancestorName) { + $("#filterby li.out[name='" + ancestorName + "']").removeClass("out").addClass("in"); + } + + filter(); + jqElemParent.addClass("selected"); + commentToggleFct(jqElemParent); + $("#content-scroll-container").animate({scrollTop: $("#content-scroll-container").scrollTop() + jqElemParent.offset().top - $("#search").height() - 23 }, 1000); + } + + var isHiddenClass = function (name) { + return name == 'scala.Any' || + name == 'scala.AnyRef'; + }; + + var isHidden = function (elem) { + return $(elem).attr("data-hidden") == 'true'; + }; + + $("#linearization li:gt(0)").filter(function(){ + return isHiddenClass($(this).attr("name")); + }).removeClass("in").addClass("out"); + + $("#implicits li").filter(function(){ + return isHidden(this); + }).removeClass("in").addClass("out"); + + $("#memberfilter > i.arrow").click(function() { + $(this).toggleClass("rotate"); + $("#filterby").toggle(); + }); + + // Pre-filter members + filter(); + + // Member filter box + var input = $("#memberfilter input"); + input.bind("keyup", function(event) { + + switch ( event.keyCode ) { + + case 27: // escape key + input.val(""); + filter(true); + break; + + case 38: // up + input.val(""); + filter(false); + window.scrollTo(0, $("body").offset().top); + input.focus(); + break; + + case 33: //page up + input.val(""); + filter(false); + break; + + case 34: //page down + input.val(""); + filter(false); + break; + + default: + window.scrollTo(0, $("#mbrsel").offset().top - 130); + filter(true); + break; + + } + }); + input.focus(function(event) { + input.select(); + }); + $("#memberfilter > .clear").click(function() { + $("#memberfilter input").attr("value", ""); + $(this).hide(); + filter(); + }); + $(document).keydown(function(event) { + if (event.keyCode == 9) { // tab + $("#index-input", window.parent.document).focus(); + input.attr("value", ""); + return false; + } + }); + + $("#linearization li").click(function(){ + if ($(this).hasClass("in")) { + $(this).removeClass("in"); + $(this).addClass("out"); + } else if ($(this).hasClass("out")) { + $(this).removeClass("out"); + $(this).addClass("in"); + } + filter(); + }); + + $("#implicits li").click(function(){ + if ($(this).hasClass("in")) { + $(this).removeClass("in"); + $(this).addClass("out"); + } else if ($(this).hasClass("out")) { + $(this).removeClass("out"); + $(this).addClass("in"); + } + filter(); + }); + + $("#mbrsel > div > div.ancestors > ol > li.hideall").click(function() { + $("#linearization li.in").removeClass("in").addClass("out"); + $("#linearization li:first").removeClass("out").addClass("in"); + $("#implicits li.in").removeClass("in").addClass("out"); + + if ($(this).hasClass("out") && $("#mbrsel > div > div.ancestors > ol > li.showall").hasClass("in")) { + $(this).removeClass("out").addClass("in"); + $("#mbrsel > div > div.ancestors > ol > li.showall").removeClass("in").addClass("out"); + } + + filter(); + }) + $("#mbrsel > div > div.ancestors > ol > li.showall").click(function() { + var filteredLinearization = + $("#linearization li.out").filter(function() { + return ! isHiddenClass($(this).attr("name")); + }); + filteredLinearization.removeClass("out").addClass("in"); + + var filteredImplicits = + $("#implicits li.out").filter(function() { + return ! isHidden(this); + }); + filteredImplicits.removeClass("out").addClass("in"); + + if ($(this).hasClass("out") && $("#mbrsel > div > div.ancestors > ol > li.hideall").hasClass("in")) { + $(this).removeClass("out").addClass("in"); + $("#mbrsel > div > div.ancestors > ol > li.hideall").removeClass("in").addClass("out"); + } + + filter(); + }); + $("#order > ol > li.alpha").click(function() { + if ($(this).hasClass("out")) + orderAlpha(); + }) + $("#order > ol > li.inherit").click(function() { + if ($(this).hasClass("out")) + orderInherit(); + }); + $("#order > ol > li.group").click(function() { + if ($(this).hasClass("out")) + orderGroup(); + }); + $("#groupedMembers").hide(); + + initInherit(); + + // Create tooltips + $(".extype").add(".defval").tooltip({ + tip: "#tooltip", + position: "top center", + predelay: 500, + onBeforeShow: function(ev) { + $(this.getTip()).text(this.getTrigger().attr("name")); + } + }); + + /* Add toggle arrows */ + $("#template li[fullComment=yes] .modifier_kind").addClass("closed"); + + function commentToggleFct(element){ + $("#template li.selected").removeClass("selected"); + element.toggleClass("open"); + var signature = element.find(".modifier_kind") + var shortComment = element.find(".shortcomment"); + var fullComment = element.find(".fullcomment"); + var vis = $(":visible", fullComment); + signature.toggleClass("closed").toggleClass("opened"); + if (vis.length > 0) { + if (!isMobile()) { + shortComment.slideDown(100); + fullComment.slideUp(100); + } else { + fullComment.hide(); + shortComment.show(); + } + } + else { + if (!isMobile()) { + shortComment.slideUp(100); + fullComment.slideDown(100); + } else { + shortComment.hide(); + fullComment.show(); + } + } + }; + + $("#template li[fullComment=yes]").click(function() { + var sel = window.getSelection().toString(); + if (!sel) commentToggleFct($(this)); + }); + + /* Linear super types and known subclasses */ + function toggleShowContentFct(e){ + e.toggleClass("open"); + var content = $(".hiddenContent", e); + if(content.is(':visible')) { + if (!isMobile()) content.slideUp(100); + else content.hide(); + } else { + if (!isMobile()) content.slideDown(100); + else content.show(); + } + }; + + $(".toggleContainer:not(.diagram-container):not(.full-signature-block)").click(function() { + toggleShowContentFct($(this)); + }); + + $(".toggleContainer.full-signature-block").click(function() { + toggleShowContentFct($(this)); + return false; + }); + + if ($("#order > ol > li.group").length == 1) { orderGroup(); }; + + function findElementByHash(locationHash) { + var temp = locationHash.replace('#', ''); + var memberSelector = '#' + escapeJquery(temp); + return $(memberSelector); + } + + // highlight and jump to selected member if an anchor is provided + if (window.location.hash) { + var jqElem = findElementByHash(window.location.hash); + if (jqElem.length > 0) + exposeMember(jqElem); + } + + $("#template span.permalink").click(function(e) { + e.preventDefault(); + var href = $("a", this).attr("href"); + if (href.indexOf("#") != -1) { + var hash = href.split("#").pop() + try { + window.history.pushState({}, "", "#" + hash) + } catch (e) { + // fallback for file:// URLs, has worse scrolling behavior + location.hash = hash; + } + exposeMember(findElementByHash(hash)) + } + return false; + }); + + $("#mbrsel-input").on("input", function() { + if ($(this).val().length > 0) + $("#memberfilter > .clear").show(); + else + $("#memberfilter > .clear").hide(); + }); +}); + +function orderAlpha() { + $("#order > ol > li.alpha").removeClass("out").addClass("in"); + $("#order > ol > li.inherit").removeClass("in").addClass("out"); + $("#order > ol > li.group").removeClass("in").addClass("out"); + $("#template > div.parent").hide(); + $("#template > div.conversion").hide(); + $("#mbrsel > div.ancestors").show(); + filter(); +}; + +function orderInherit() { + $("#order > ol > li.inherit").removeClass("out").addClass("in"); + $("#order > ol > li.alpha").removeClass("in").addClass("out"); + $("#order > ol > li.group").removeClass("in").addClass("out"); + $("#template > div.parent").show(); + $("#template > div.conversion").show(); + $("#mbrsel > div.ancestors").hide(); + filter(); +}; + +function orderGroup() { + $("#order > ol > li.group").removeClass("out").addClass("in"); + $("#order > ol > li.alpha").removeClass("in").addClass("out"); + $("#order > ol > li.inherit").removeClass("in").addClass("out"); + $("#template > div.parent").hide(); + $("#template > div.conversion").hide(); + $("#mbrsel > div.ancestors").show(); + filter(); +}; + +/** Prepares the DOM for inheritance-based display. To do so it will: + * - hide all statically-generated parents headings; + * - copy all members from the value and type members lists (flat members) to corresponding lists nested below the + * parent headings (inheritance-grouped members); + * - initialises a control variable used by the filter method to control whether filtering happens on flat members + * or on inheritance-grouped members. */ +function initInherit() { + // inheritParents is a map from fully-qualified names to the DOM node of parent headings. + var inheritParents = new Object(); + var groupParents = new Object(); + $("#inheritedMembers > div.parent").each(function(){ + inheritParents[$(this).attr("name")] = $(this); + }); + $("#inheritedMembers > div.conversion").each(function(){ + inheritParents[$(this).attr("name")] = $(this); + }); + $("#groupedMembers > div.group").each(function(){ + groupParents[$(this).attr("name")] = $(this); + }); + + $("#types > ol > li").each(function(){ + var mbr = $(this); + this.mbrText = mbr.find("> .fullcomment .cmt").text(); + var qualName = mbr.attr("name"); + var owner = qualName.slice(0, qualName.indexOf("#")); + var name = qualName.slice(qualName.indexOf("#") + 1); + var inheritParent = inheritParents[owner]; + if (inheritParent != undefined) { + var types = $("> .types > ol", inheritParent); + if (types.length == 0) { + inheritParent.append("

    "); + types = $("> .types > ol", inheritParent); + } + var clone = mbr.clone(); + clone[0].mbrText = this.mbrText; + types.append(clone); + } + var group = mbr.attr("group") + var groupParent = groupParents[group]; + if (groupParent != undefined) { + var types = $("> .types > ol", groupParent); + if (types.length == 0) { + groupParent.append("
      "); + types = $("> .types > ol", groupParent); + } + var clone = mbr.clone(); + clone[0].mbrText = this.mbrText; + types.append(clone); + } + }); + + $(".values > ol > li").each(function(){ + var mbr = $(this); + this.mbrText = mbr.find("> .fullcomment .cmt").text(); + var qualName = mbr.attr("name"); + var owner = qualName.slice(0, qualName.indexOf("#")); + var name = qualName.slice(qualName.indexOf("#") + 1); + var inheritParent = inheritParents[owner]; + if (inheritParent != undefined) { + var values = $("> .values > ol", inheritParent); + if (values.length == 0) { + inheritParent.append("

      Value Members

        "); + values = $("> .values > ol", inheritParent); + } + var clone = mbr.clone(); + clone[0].mbrText = this.mbrText; + values.append(clone); + } + var group = mbr.attr("group") + var groupParent = groupParents[group]; + if (groupParent != undefined) { + var values = $("> .values > ol", groupParent); + if (values.length == 0) { + groupParent.append("
          "); + values = $("> .values > ol", groupParent); + } + var clone = mbr.clone(); + clone[0].mbrText = this.mbrText; + values.append(clone); + } + }); + $("#inheritedMembers > div.parent").each(function() { + if ($("> div.members", this).length == 0) { $(this).remove(); }; + }); + $("#inheritedMembers > div.conversion").each(function() { + if ($("> div.members", this).length == 0) { $(this).remove(); }; + }); + $("#groupedMembers > div.group").each(function() { + if ($("> div.members", this).length == 0) { $(this).remove(); }; + }); +}; + +/* filter used to take boolean scrollToMember */ +function filter() { + var query = $.trim($("#memberfilter input").val()).toLowerCase(); + query = query.replace(/[-[\]{}()*+?.,\\^$|#]/g, "\\$&").replace(/\s+/g, "|"); + var queryRegExp = new RegExp(query, "i"); + var privateMembersHidden = $("#visbl > ol > li.public").hasClass("in"); + var orderingAlphabetic = $("#order > ol > li.alpha").hasClass("in"); + var orderingInheritance = $("#order > ol > li.inherit").hasClass("in"); + var orderingGroups = $("#order > ol > li.group").hasClass("in"); + var hiddenSuperclassElementsLinearization = orderingInheritance ? $("#linearization > li:gt(0)") : $("#linearization > li.out"); + var hiddenSuperclassesLinearization = hiddenSuperclassElementsLinearization.map(function() { + return $(this).attr("name"); + }).get(); + var hiddenSuperclassElementsImplicits = orderingInheritance ? $("#implicits > li") : $("#implicits > li.out"); + var hiddenSuperclassesImplicits = hiddenSuperclassElementsImplicits.map(function() { + return $(this).attr("name"); + }).get(); + + var hideInheritedMembers; + + if (orderingAlphabetic) { + $("#allMembers").show(); + $("#inheritedMembers").hide(); + $("#groupedMembers").hide(); + hideInheritedMembers = true; + $("#allMembers > .members").each(filterFunc); + } else if (orderingGroups) { + $("#groupedMembers").show(); + $("#inheritedMembers").hide(); + $("#allMembers").hide(); + hideInheritedMembers = true; + $("#groupedMembers > .group > .members").each(filterFunc); + $("#groupedMembers > div.group").each(function() { + $(this).show(); + if ($("> div.members", this).not(":hidden").length == 0) { + $(this).hide(); + } else { + $(this).show(); + } + }); + } else if (orderingInheritance) { + $("#inheritedMembers").show(); + $("#groupedMembers").hide(); + $("#allMembers").hide(); + hideInheritedMembers = false; + $("#inheritedMembers > .parent > .members").each(filterFunc); + $("#inheritedMembers > .conversion > .members").each(filterFunc); + } + + + function filterFunc() { + var membersVisible = false; + var members = $(this); + members.find("> ol > li").each(function() { + var mbr = $(this); + if (privateMembersHidden && mbr.attr("visbl") == "prt") { + mbr.hide(); + return; + } + var name = mbr.attr("name"); + // Owner filtering must not happen in "inherited from" member lists + if (hideInheritedMembers) { + var ownerIndex = name.indexOf("#"); + if (ownerIndex < 0) { + ownerIndex = name.lastIndexOf("."); + } + var owner = name.slice(0, ownerIndex); + for (var i = 0; i < hiddenSuperclassesLinearization.length; i++) { + if (hiddenSuperclassesLinearization[i] == owner) { + mbr.hide(); + return; + } + }; + for (var i = 0; i < hiddenSuperclassesImplicits.length; i++) { + if (hiddenSuperclassesImplicits[i] == owner) { + mbr.hide(); + return; + } + }; + } + if (query && !(queryRegExp.test(name) || queryRegExp.test(this.mbrText))) { + mbr.hide(); + return; + } + mbr.show(); + membersVisible = true; + }); + + if (membersVisible) + members.show(); + else + members.hide(); + }; + + return false; +}; + +/** Check if user agent is associated with a known mobile browser */ +function isMobile() { + return /Android|webOS|Mobi|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent); +} diff --git a/docs/scaladoc/lib/tools.tooltip.js b/docs/scaladoc/lib/tools.tooltip.js new file mode 100644 index 00000000..0af34eca --- /dev/null +++ b/docs/scaladoc/lib/tools.tooltip.js @@ -0,0 +1,14 @@ +/* + * tools.tooltip 1.1.3 - Tooltips done right. + * + * Copyright (c) 2009 Tero Piirainen + * http://flowplayer.org/tools/tooltip.html + * + * Dual licensed under MIT and GPL 2+ licenses + * http://www.opensource.org/licenses + * + * Launch : November 2008 + * Date: ${date} + * Revision: ${revision} + */ +(function(c){var d=[];c.tools=c.tools||{};c.tools.tooltip={version:"1.1.3",conf:{effect:"toggle",fadeOutSpeed:"fast",tip:null,predelay:0,delay:30,opacity:1,lazy:undefined,position:["top","center"],offset:[0,0],cancelDefault:true,relative:false,oneInstance:true,events:{def:"mouseover,mouseout",input:"focus,blur",widget:"focus mouseover,blur mouseout",tooltip:"mouseover,mouseout"},api:false},addEffect:function(e,g,f){b[e]=[g,f]}};var b={toggle:[function(e){var f=this.getConf(),g=this.getTip(),h=f.opacity;if(h<1){g.css({opacity:h})}g.show();e.call()},function(e){this.getTip().hide();e.call()}],fade:[function(e){this.getTip().fadeIn(this.getConf().fadeInSpeed,e)},function(e){this.getTip().fadeOut(this.getConf().fadeOutSpeed,e)}]};function a(f,g){var p=this,k=c(this);f.data("tooltip",p);var l=f.next();if(g.tip){l=c(g.tip);if(l.length>1){l=f.nextAll(g.tip).eq(0);if(!l.length){l=f.parent().nextAll(g.tip).eq(0)}}}function o(u){var t=g.relative?f.position().top:f.offset().top,s=g.relative?f.position().left:f.offset().left,v=g.position[0];t-=l.outerHeight()-g.offset[0];s+=f.outerWidth()+g.offset[1];var q=l.outerHeight()+f.outerHeight();if(v=="center"){t+=q/2}if(v=="bottom"){t+=q}v=g.position[1];var r=l.outerWidth()+f.outerWidth();if(v=="center"){s-=r/2}if(v=="left"){s-=r}return{top:t,left:s}}var i=f.is(":input"),e=i&&f.is(":checkbox, :radio, select, :button"),h=f.attr("type"),n=g.events[h]||g.events[i?(e?"widget":"input"):"def"];n=n.split(/,\s*/);if(n.length!=2){throw"Tooltip: bad events configuration for "+h}f.bind(n[0],function(r){if(g.oneInstance){c.each(d,function(){this.hide()})}var q=l.data("trigger");if(q&&q[0]!=this){l.hide().stop(true,true)}r.target=this;p.show(r);n=g.events.tooltip.split(/,\s*/);l.bind(n[0],function(){p.show(r)});if(n[1]){l.bind(n[1],function(){p.hide(r)})}});f.bind(n[1],function(q){p.hide(q)});if(!c.browser.msie&&!i&&!g.predelay){f.mousemove(function(){if(!p.isShown()){f.triggerHandler("mouseover")}})}if(g.opacity<1){l.css("opacity",g.opacity)}var m=0,j=f.attr("title");if(j&&g.cancelDefault){f.removeAttr("title");f.data("title",j)}c.extend(p,{show:function(r){if(r){f=c(r.target)}clearTimeout(l.data("timer"));if(l.is(":animated")||l.is(":visible")){return p}function q(){l.data("trigger",f);var t=o(r);if(g.tip&&j){l.html(f.data("title"))}r=r||c.Event();r.type="onBeforeShow";k.trigger(r,[t]);if(r.isDefaultPrevented()){return p}t=o(r);l.css({position:"absolute",top:t.top,left:t.left});var s=b[g.effect];if(!s){throw'Nonexistent effect "'+g.effect+'"'}s[0].call(p,function(){r.type="onShow";k.trigger(r)})}if(g.predelay){clearTimeout(m);m=setTimeout(q,g.predelay)}else{q()}return p},hide:function(r){clearTimeout(l.data("timer"));clearTimeout(m);if(!l.is(":visible")){return}function q(){r=r||c.Event();r.type="onBeforeHide";k.trigger(r);if(r.isDefaultPrevented()){return}b[g.effect][1].call(p,function(){r.type="onHide";k.trigger(r)})}if(g.delay&&r){l.data("timer",setTimeout(q,g.delay))}else{q()}return p},isShown:function(){return l.is(":visible, :animated")},getConf:function(){return g},getTip:function(){return l},getTrigger:function(){return f},bind:function(q,r){k.bind(q,r);return p},onHide:function(q){return this.bind("onHide",q)},onBeforeShow:function(q){return this.bind("onBeforeShow",q)},onShow:function(q){return this.bind("onShow",q)},onBeforeHide:function(q){return this.bind("onBeforeHide",q)},unbind:function(q){k.unbind(q);return p}});c.each(g,function(q,r){if(c.isFunction(r)){p.bind(q,r)}})}c.prototype.tooltip=function(e){var f=this.eq(typeof e=="number"?e:0).data("tooltip");if(f){return f}var g=c.extend(true,{},c.tools.tooltip.conf);if(c.isFunction(e)){e={onBeforeShow:e}}else{if(typeof e=="string"){e={tip:e}}}e=c.extend(true,g,e);if(typeof e.position=="string"){e.position=e.position.split(/,?\s/)}if(e.lazy!==false&&(e.lazy===true||this.length>20)){this.one("mouseover",function(h){f=new a(c(this),e);f.show(h);d.push(f)})}else{this.each(function(){f=new a(c(this),e);d.push(f)})}return e.api?f:this}})(jQuery); \ No newline at end of file diff --git a/docs/scaladoc/lib/trait.svg b/docs/scaladoc/lib/trait.svg new file mode 100644 index 00000000..207a89f3 --- /dev/null +++ b/docs/scaladoc/lib/trait.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + t + + + + + + + diff --git a/docs/scaladoc/lib/trait_comp.svg b/docs/scaladoc/lib/trait_comp.svg new file mode 100644 index 00000000..8c83dec1 --- /dev/null +++ b/docs/scaladoc/lib/trait_comp.svg @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + t + + + + + + + + diff --git a/docs/scaladoc/lib/trait_diagram.png b/docs/scaladoc/lib/trait_diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..88983254ce3a4295951e4d3af927d50b50a3146d GIT binary patch literal 3882 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 literal 0 HcmV?d00001 diff --git a/gradle.properties b/gradle.properties index e169b231..e9837498 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ -docsDir = doc +docsDir = docs scaladocFolder = scaladoc From 2c2d657893138325c10f66e2170a57483ea9fe66 Mon Sep 17 00:00:00 2001 From: Giacomo Date: Mon, 27 Aug 2018 18:37:49 +0200 Subject: [PATCH 91/91] add product backlog after sprint 3 --- backlog/Product-backlog.csv | 28 +++++++++--------- backlog/Sprint-3.csv | 59 ++++++++++++++++++++----------------- 2 files changed, 46 insertions(+), 41 deletions(-) diff --git a/backlog/Product-backlog.csv b/backlog/Product-backlog.csv index b04b46c4..f368bfcc 100644 --- a/backlog/Product-backlog.csv +++ b/backlog/Product-backlog.csv @@ -1,24 +1,24 @@ ,,,Size estimated at sprint,,, Priority,Item,Initial Size Estimated,1,2,3,4 1,Design e creazione architettura di base del sistema,44,0,0,0,0 -2,Interfaccia menù principale,6,1,1,-,- +2,Interfaccia menù principale,6,1,1,0,0 3,Visualizzazione cellule del livello,13,0,0,0,0 -4,Gestione movimento cellule del livello,11,6,3,-,- +4,Gestione movimento cellule del livello,11,6,3,0,- 5,Cellule devono reagire a input utente,8,0,0,0,0 6,Caricamento definizione livello e cellule da file,8,4,0,0,0 7,Gestione collisioni tra cellule,10,10,0,0,0 8,Spawn cellule durante movimento,6,6,0,0,0 -9,Eliminazione cellule quando troppo piccole,2,2,0,-,- -10,Gestione fine partita,7,7,3,-,- +9,Eliminazione cellule quando troppo piccole,2,2,0,0,0 +10,Gestione fine partita,7,7,3,0,0 11,Gestione gravità,16,16,0,0,0 -12,Design texture livello e cellule,6,6,2,-,- -13,Schermata selezione livelli,3,3,1,-,- -14,Definizione progressione giocatore tra livelli,2,2,1,-,- +12,Design texture livello e cellule,6,6,2,0,0 +13,Schermata selezione livelli,3,3,1,0,0 +14,Definizione progressione giocatore tra livelli,2,2,1,1,- 15,Modalità Simulazione,2,2,0,0,0 -16,Implementazione Intelligenza Artificiale,40,40,40,-,- -17,Implementazione Multigiocatore,50,50,50,-,- -18,Creazione animazioni,4,4,2,-,- -19,Gestione effetti sonori,6,6,6,-,- -20,Gestione impostazioni di gioco,8,8,8,-,- -21,Editor Livelli,12,12,12,-,- -22,Statistiche di gioco,6,6,6,-,- \ No newline at end of file +16,Implementazione Intelligenza Artificiale,40,40,40,15,- +17,Implementazione Multigiocatore,50,50,50,13,- +18,Creazione animazioni,4,4,2,2,- +19,Gestione effetti sonori,6,6,6,6,- +20,Gestione impostazioni di gioco,8,8,8,8,- +21,Editor Livelli,12,12,12,18,- +22,Statistiche di gioco,6,6,6,6,- \ No newline at end of file diff --git a/backlog/Sprint-3.csv b/backlog/Sprint-3.csv index 99d6674c..22d730a2 100644 --- a/backlog/Sprint-3.csv +++ b/backlog/Sprint-3.csv @@ -1,28 +1,33 @@ Item,Sprint Task,Volunteer,Initial Estimate of Effort,Final Effort,Remaining Effort -Editor Livelli,"Fornire all'editor livelli: tipologie di cellule, tipologie di mappe, regole di vittorie e di rimbalzo",Andrea Procucci,2,, -,Salvataggio del livello creato su file json e definizione del punto di salvataggio livelli,Andrea Procucci,2,, -,Creazione nuova scena con canvas,Marco Galassi,7,, -,Creazione screen per mostrare le istruzioni all'utente,Marco Galassi,3,, -,Design dell'UI e delle operazioni possibili per l'utente,Marco Galassi,7,, -Definizione progressione giocatore tra livelli,Creazione punto di salvataggio progressi utente,Andrea Procucci,2,, -,Reagire ai risultati delle partite ,Andrea Procucci,2,, -,Aggiornamento stato del giocatore sulla base dei risultati delle partite,Andrea Procucci,1,, -Creazione Intelligenza Artficiale,"Creazione entità, componenti e proprietà",Andrea Placuzzi + Giacomo Venturini,1,, -Implementazione Intelligenza Artificiale in Scala,IA che insegue il player (senza perdita di massa),Andrea Placuzzi,5,, -,IA che insegue il player ed evita le cellule più grandi (senza perdita di massa),Andrea Placuzzi,10,, -,IA che perde massa,Andrea Placuzzi,15,, -Implementazione Intelligenza Artificiale in Prolog,IA che insegue il player (senza perdita di massa),Giacomo Venturini,5,, -,IA che insegue il player ed evita le cellule più grandi (senza perdita di massa),Giacomo Venturini,10,, -,IA che perde massa,Giacomo Venturini,15,, -Gestione movimento cellule,Rimozione code smell,Giacomo Venturini,2,, -,Test per verificatre la correttezza dei rimbalzi nei livelli circolari,Giacomo Venturini,1,, -Multigiocatore a 2 giocatori,Creazione classi per comunicazione (akka),Davide Giacomini,15,, -,Setup websocket,Davide Giacomini,5,, -,Implementazione server (primo client che chiede setup),Davide Giacomini,21,, -,"Implementazione client (disattivazione game loop, invio input, ricezione dati per draw entità)",Davide Giacomini,8,, -,Test latenza,Davide Giacomini,1,, -Gestione telecamera,"Creare supporto per telecamera, inizialmente fissa per le simulazioni",Marco Galassi,2,, -,Fare in modo che la telecamera segua sempre la cellula del giocatore,Marco Galassi,1,, -Implementazione cellule antimateria,Supporto cellule antimateria,Andrea Placuzzi,1,, -Gestione vittoria/sconfitta,Mostrare all'utente l'esito della partita in un nuovo screen,Marco Galassi + Giacomo Venturini,2,, -Aggiornamento sistema di eliminazion cellule,Rimuovere tutte le cellule che non sono completamente all'interno della mappa,Andrea Procucci,5,, \ No newline at end of file +Editor Livelli,"Fornire all'editor livelli: tipologie di cellule, tipologie di mappe, regole di vittorie e di rimbalzo",Andrea Procucci,2,2,2 +,Salvataggio del livello creato su file json e definizione del punto di salvataggio livelli,Andrea Procucci,2,2,1 +,Creazione nuova scena con canvas,Marco Galassi,7,7,2 +,Creazione screen per mostrare le istruzioni all'utente,Marco Galassi,3,3,3 +,Design dell'UI e delle operazioni possibili per l'utente,Marco Galassi,15,15,10 +Definizione progressione giocatore tra livelli,Creazione punto di salvataggio progressi utente,Andrea Procucci,2,2,0 +,Reagire ai risultati delle partite ,Andrea Procucci,2,2,0 +,Aggiornamento stato del giocatore sulla base dei risultati delle partite,Andrea Procucci,1,2,0 +Creazione Intelligenza Artficiale,"Creazione entità, componenti e proprietà",Andrea Placuzzi + Giacomo Venturini,1,1,0 +Implementazione Intelligenza Artificiale in Scala,IA che insegue il player (senza perdita di massa),Andrea Placuzzi,5,5,0 +,IA che insegue il player ed evita le cellule più grandi (senza perdita di massa),Andrea Placuzzi,10,10,3 +,IA che perde massa,Andrea Placuzzi,15,10,10 +Implementazione Intelligenza Artificiale in Prolog,IA che insegue il player (senza perdita di massa),Giacomo Venturini,5,8,2 +,IA che insegue il player ed evita le cellule più grandi (senza perdita di massa),Giacomo Venturini,10,Aborted,Aborted +,IA che perde massa,Giacomo Venturini,15,Aborted,Aborted +Gestione movimento cellule,Rimozione code smell,Giacomo Venturini,2,2,0 +,Test per verificatre la correttezza dei rimbalzi nei livelli circolari,Giacomo Venturini,1,2,0 +Multigiocatore a n giocatori,"Design cominicazione client-server, lobby, client, server, attori",Davide Giacomini,15,15,0 +,Creazione scena di inserimento dati,Marco Galassi + Davide Giacomini,4,4,1 +,Implementazione server (primo client che chiede setup),Davide Giacomini,21,21,2 +,"Implementazione client (disattivazione game loop, invio input, ricezione dati per draw entità)",Davide Giacomini,8,12,2 +,Implementazione delle interazioni tra view e controller (logica temporale del collegamento tra utenti),Marco Galassi + Davide Giacomini,12,12,2 +,Creazione lobby server/client,Marco Galassi,4,4,0 +,Validation and performance testing,Davide Giacomini,1,8,6 +Gestione telecamera,"Creare supporto per telecamera, inizialmente fissa per le simulazioni",Marco Galassi,2,2,2 +,Fare in modo che la telecamera segua sempre la cellula del giocatore,Marco Galassi,1,1,1 +Implementazione cellule antimateria,Supporto cellule antimateria,Andrea Placuzzi,1,1,0 +Gestione vittoria/sconfitta,Mostrare all'utente l'esito della partita in un nuovo screen,Marco Galassi + Giacomo Venturini,2,2,0 +Aggiornamento sistema di eliminazion cellule,Rimuovere tutte le cellule che non sono completamente all'interno della mappa,Andrea Procucci,5,5,0 +Collisioni,"Modificare la politica di scambio di dimensione, senza perdita di dimensione durante la partita",Andrea Placuzzi,-,5,0 +End Game System,"Aggiungere nuove condizioni di vittoria, rivedendo se necessario la vecchia implementazione",Giacomo Venturini,-,2,0 +,Testing,Giacomo Venturini,-,1,0 \ No newline at end of file