Testing out JmonkeyEngine to make a game in Scala with Akka Actors within a pure FP layer
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
package wow.doge.mygame.state
import com.jme3.app.Application import wow.doge.mygame.implicits._ import wow.doge.mygame.components.TestComponent import com.jme3.scene.shape.Box import com.jme3.scene.Geometry import com.jme3.material.Material import com.jme3.math.ColorRGBA import com.jme3.asset.AssetManager import com.jme3.math.Vector3f class TestAppState( // private var _entity: Option[EntityData] = Some(new DefaultEntityData())
) extends MyBaseState { var geom: Option[Geometry] = None
// def entity = _entity
// override def initialize(app: Application): Unit = {
// super.initialize(app)
// }
override def init() = { entityData .createEntity() .withComponents(TestComponent()) // entityData.setComponents(x, TestComponent())
val es = entityData.getEntities(classOf[TestComponent]) println(es) val b = new Box(1, 1, 1) geom = Some(new Geometry("Box", b))
val mat = MyMaterial( assetManager = assetManager, path = "Common/MatDefs/Misc/Unshaded.j3md" ) geom.foreach(e => { e.setMaterial(mat) rootNode.attachChild(e) }) }
override def update(tpf: Float) = { geom.foreach(_.rotate(0, 0.5f * tpf, 0)) geom.foreach(_.move(new Vector3f(0, 1 * tpf, 0))) }
override def cleanup(app: Application): Unit = { // _entity.map(_.close())
// _entity = None
}
override def onEnable(): Unit = {}
override def onDisable(): Unit = {}
}
object MyMaterial { def apply( color: String = "Color", colorType: com.jme3.math.ColorRGBA = ColorRGBA.Blue, assetManager: AssetManager, path: String ): Material = { val mat = new Material(assetManager, path) mat.setColor(color, colorType) mat } }
|