base persistance player

persistance
Théo RENAUD 2 years ago
parent b228d1b486
commit 7186a5e76b

@ -1,15 +0,0 @@
package com.example.shakecraft.data;
import androidx.room.Dao;
import androidx.room.Query;
import com.example.shakecraft.model.Boss;
import java.util.List;
import kotlinx.coroutines.flow.Flow;
@Dao
interface BossDao {
@Query("SELECT * from Boss ")
fun getBoss(): Flow<List<Boss>>
@Query("SELECT * from Boss WHERE name = :name")
fun getBoss(name : String): Flow<Boss>
}

@ -0,0 +1,8 @@
package com.example.shakecraft.data
import androidx.room.Database
import com.example.shakecraft.model.Player
@Database(entities = [Player::class],version = 1)
abstract class DataBase {
}

@ -0,0 +1,15 @@
package com.example.shakecraft.data
import androidx.room.Query
import com.example.shakecraft.model.Boss
import com.example.shakecraft.model.Player
import kotlinx.coroutines.flow.Flow
import java.util.List
interface PlayerDao {
@Query("SELECT * from Player ")
fun getBoss(): Flow<List<Player>>
@Query("SELECT * from Player WHERE name = :name")
fun getBoss(name : String): Flow<Player>
}

@ -8,7 +8,7 @@ import com.example.shakecraft.model.Player
class Stub { class Stub {
fun load() : Player{ fun load() : Player{
val currentPlayer = Player("Winker",0) val currentPlayer = Player()
val items : MutableList<Item> = mutableListOf() val items : MutableList<Item> = mutableListOf()
items.add(Item(type = ITEMS.BEECH_LOG.itemtype, stack = 30)) items.add(Item(type = ITEMS.BEECH_LOG.itemtype, stack = 30))
items.add(Item(type = ITEMS.BRONZE_INGOT.itemtype, stack = 30)) items.add(Item(type = ITEMS.BRONZE_INGOT.itemtype, stack = 30))

@ -4,18 +4,11 @@ import androidx.room.ColumnInfo
import androidx.room.Entity import androidx.room.Entity
import androidx.room.PrimaryKey import androidx.room.PrimaryKey
@Entity(tableName="Boss")
data class Boss ( data class Boss (
@PrimaryKey(autoGenerate = true) val id: Int = 0,
@ColumnInfo(name = "name")
var name: String, var name: String,
@ColumnInfo(name = "life")
var life: Int, var life: Int,
@ColumnInfo(name = "maxlife")
var maxlife: Int, var maxlife: Int,
@ColumnInfo(name = "image")
var image: Int, var image: Int,
@ColumnInfo(name = "xpreward")
var xpReward: Int, var xpReward: Int,
val possibleLoot: List<Pair<Item, Double>>, val possibleLoot: List<Pair<Item, Double>>,
){ ){

@ -1,11 +1,25 @@
package com.example.shakecraft.model package com.example.shakecraft.model
import androidx.room.ColumnInfo
import androidx.room.Entity
import androidx.room.ForeignKey
import androidx.room.PrimaryKey
import com.example.shakecraft.R import com.example.shakecraft.R
import com.example.shakecraft.model.Generator.Companion.generateTreasure import com.example.shakecraft.model.Generator.Companion.generateTreasure
class Player(val pseudo: String, var xp: Int = 0) { @Entity(tableName="Player")
var level: Int = 1 class Player() {
@PrimaryKey(autoGenerate = true)
val id : Int = 0
@ColumnInfo(name = "name")
val pseudo: String = "Unknow"
@ColumnInfo(name = "level")
var level: Int = 0
@ColumnInfo(name = "xp")
var xp: Int = 0
@ColumnInfo(name = "image")
val image: Int = R.drawable.player_image val image: Int = R.drawable.player_image
@ColumnInfo(index = true)
var items: MutableList<Item> = mutableListOf() var items: MutableList<Item> = mutableListOf()
var rank: String = "Beginner" var rank: String = "Beginner"

Loading…
Cancel
Save