From 2f4bc9dba6b910ac633eb5afc79b645ed9b6d3d0 Mon Sep 17 00:00:00 2001 From: Nacho Date: Sat, 4 Jan 2025 16:42:50 +0100 Subject: [PATCH] Added temporary domain objects --- .../github/nacabaro/vbhelper/daos/DiMDao.kt | 16 ++++++ .../nacabaro/vbhelper/daos/DiMProgressDao.kt | 11 +++++ .../UserMonstersTransformationHistoryDao.kt | 11 +++++ .../vbhelper/dtos/MonsterDataCombined.kt | 4 ++ .../TemporaryBECharacterData.kt | 42 ++++++++++++++++ .../TemporaryCharacterData.kt | 49 +++++++++++++++++++ .../TemporaryTransformationHistory.kt | 13 +++++ 7 files changed, 146 insertions(+) create mode 100644 app/src/main/java/com/github/nacabaro/vbhelper/daos/DiMDao.kt create mode 100644 app/src/main/java/com/github/nacabaro/vbhelper/daos/DiMProgressDao.kt create mode 100644 app/src/main/java/com/github/nacabaro/vbhelper/daos/UserMonstersTransformationHistoryDao.kt create mode 100644 app/src/main/java/com/github/nacabaro/vbhelper/dtos/MonsterDataCombined.kt create mode 100644 app/src/main/java/com/github/nacabaro/vbhelper/temporary_domain/TemporaryBECharacterData.kt create mode 100644 app/src/main/java/com/github/nacabaro/vbhelper/temporary_domain/TemporaryCharacterData.kt create mode 100644 app/src/main/java/com/github/nacabaro/vbhelper/temporary_domain/TemporaryTransformationHistory.kt diff --git a/app/src/main/java/com/github/nacabaro/vbhelper/daos/DiMDao.kt b/app/src/main/java/com/github/nacabaro/vbhelper/daos/DiMDao.kt new file mode 100644 index 0000000..a2e7d84 --- /dev/null +++ b/app/src/main/java/com/github/nacabaro/vbhelper/daos/DiMDao.kt @@ -0,0 +1,16 @@ +package com.github.nacabaro.vbhelper.daos + +import androidx.room.Dao +import androidx.room.Insert +import androidx.room.Query +import com.github.nacabaro.vbhelper.domain.Dim +import kotlinx.coroutines.flow.Flow + +@Dao +interface DiMDao { + @Insert + suspend fun insertNewDim(dim: Dim) + + @Query("SELECT * FROM Dim") + fun getAllDims(): Flow> +} \ No newline at end of file diff --git a/app/src/main/java/com/github/nacabaro/vbhelper/daos/DiMProgressDao.kt b/app/src/main/java/com/github/nacabaro/vbhelper/daos/DiMProgressDao.kt new file mode 100644 index 0000000..7f6c913 --- /dev/null +++ b/app/src/main/java/com/github/nacabaro/vbhelper/daos/DiMProgressDao.kt @@ -0,0 +1,11 @@ +package com.github.nacabaro.vbhelper.daos + +import androidx.room.Dao +import androidx.room.Upsert +import com.github.nacabaro.vbhelper.domain.DimProgress + +@Dao +interface DiMProgressDao { + @Upsert + suspend fun updateDimProgress(vararg dimProgress: DimProgress) +} \ No newline at end of file diff --git a/app/src/main/java/com/github/nacabaro/vbhelper/daos/UserMonstersTransformationHistoryDao.kt b/app/src/main/java/com/github/nacabaro/vbhelper/daos/UserMonstersTransformationHistoryDao.kt new file mode 100644 index 0000000..fff417d --- /dev/null +++ b/app/src/main/java/com/github/nacabaro/vbhelper/daos/UserMonstersTransformationHistoryDao.kt @@ -0,0 +1,11 @@ +package com.github.nacabaro.vbhelper.daos + +import androidx.room.Dao +import androidx.room.Insert +import com.github.nacabaro.vbhelper.temporary_domain.TemporaryTransformationHistory + +@Dao +interface UserMonstersTransformationHistoryDao { + @Insert + fun insertTransformations(vararg transformations: TemporaryTransformationHistory) +} \ No newline at end of file diff --git a/app/src/main/java/com/github/nacabaro/vbhelper/dtos/MonsterDataCombined.kt b/app/src/main/java/com/github/nacabaro/vbhelper/dtos/MonsterDataCombined.kt new file mode 100644 index 0000000..cebf6f4 --- /dev/null +++ b/app/src/main/java/com/github/nacabaro/vbhelper/dtos/MonsterDataCombined.kt @@ -0,0 +1,4 @@ +package com.github.nacabaro.vbhelper.dtos + +class MonsterDataCombined { +} \ No newline at end of file diff --git a/app/src/main/java/com/github/nacabaro/vbhelper/temporary_domain/TemporaryBECharacterData.kt b/app/src/main/java/com/github/nacabaro/vbhelper/temporary_domain/TemporaryBECharacterData.kt new file mode 100644 index 0000000..cff7c7e --- /dev/null +++ b/app/src/main/java/com/github/nacabaro/vbhelper/temporary_domain/TemporaryBECharacterData.kt @@ -0,0 +1,42 @@ +package com.github.nacabaro.vbhelper.temporary_domain + +import androidx.room.Entity +import androidx.room.ForeignKey +import androidx.room.PrimaryKey +import com.github.cfogrady.vbnfc.be.FirmwareVersion +import com.github.cfogrady.vbnfc.data.NfcCharacter + +@Entity( + foreignKeys = [ + ForeignKey( + entity = TemporaryCharacterData::class, + parentColumns = ["id"], + childColumns = ["userId"], + onDelete = ForeignKey.CASCADE + ) + ] +) +data class TemporaryBECharacterData ( + @PrimaryKey(autoGenerate = true) val id: Int, + val trainingHp: UShort, + val trainingAp: UShort, + val trainingBp: UShort, + val remainingTrainingTimeInMinutes: UShort, + val itemEffectMentalStateValue: Byte, + val itemEffectMentalStateMinutesRemaining: Byte, + val itemEffectActivityLevelValue: Byte, + val itemEffectActivityLevelMinutesRemaining: Byte, + val itemEffectVitalPointsChangeValue: Byte, + val itemEffectVitalPointsChangeMinutesRemaining: Byte, + val abilityRarity: NfcCharacter.AbilityRarity, + val abilityType: UShort, + val abilityBranch: UShort, + val abilityReset: Byte, + val rank: Byte, + val itemType: Byte, + val itemMultiplier: Byte, + val itemRemainingTime: Byte, + val otp0: String, + val otp1: String, + var characterCreationFirmwareVersion: FirmwareVersion, +) \ No newline at end of file diff --git a/app/src/main/java/com/github/nacabaro/vbhelper/temporary_domain/TemporaryCharacterData.kt b/app/src/main/java/com/github/nacabaro/vbhelper/temporary_domain/TemporaryCharacterData.kt new file mode 100644 index 0000000..640328d --- /dev/null +++ b/app/src/main/java/com/github/nacabaro/vbhelper/temporary_domain/TemporaryCharacterData.kt @@ -0,0 +1,49 @@ +package com.github.nacabaro.vbhelper.temporary_domain + +import androidx.room.Entity +import androidx.room.PrimaryKey +import com.github.cfogrady.vbnfc.data.NfcCharacter + +/* +dimId=16, +charIndex=8, +stage=4, +attribute=Free, +ageInDays=0, +nextAdventureMissionStage=9, +mood=99, +vitalPoints=9999, +transformationCountdown=1101, +injuryStatus=None, +trophies=0, +currentPhaseBattlesWon=19, +currentPhaseBattlesLost=4, +totalBattlesWon=36, +totalBattlesLost=10, +activityLevel=0, +heartRateCurrent=71, +*/ + + +@Entity +data class TemporaryCharacterData ( + @PrimaryKey(autoGenerate = true) val id: Int, + val dimId: UShort, + var charIndex: UShort, + var stage: Byte, + var attribute: NfcCharacter.Attribute, + var ageInDays: Byte, + var nextAdventureMissionStage: Byte, // next adventure mission stage on the character's dim + var mood: Byte, + var vitalPoints: UShort, + var transformationCountdown: UShort, + var injuryStatus: NfcCharacter.InjuryStatus, + var trophies: UShort, + var currentPhaseBattlesWon: UShort, + var currentPhaseBattlesLost: UShort, + var totalBattlesWon: UShort, + var totalBattlesLost: UShort, + var activityLevel: Byte, + var heartRateCurrent: UByte, + var transformationHistory: Int +) \ No newline at end of file diff --git a/app/src/main/java/com/github/nacabaro/vbhelper/temporary_domain/TemporaryTransformationHistory.kt b/app/src/main/java/com/github/nacabaro/vbhelper/temporary_domain/TemporaryTransformationHistory.kt new file mode 100644 index 0000000..4b23364 --- /dev/null +++ b/app/src/main/java/com/github/nacabaro/vbhelper/temporary_domain/TemporaryTransformationHistory.kt @@ -0,0 +1,13 @@ +package com.github.nacabaro.vbhelper.temporary_domain + +import androidx.room.Entity + +@Entity +// Bit lazy, will correct later... +data class TemporaryTransformationHistory ( + val monId: Int, + val toCharIndex: Byte, + val yearsSince1988: Byte, + val month: Byte, + val day: Byte +)