111 lines
3.7 KiB
VB.net
111 lines
3.7 KiB
VB.net
Namespace BattleSystem
|
|
|
|
Public MustInherit Class QueryObject
|
|
|
|
Public Enum QueryTypes
|
|
CameraMovement
|
|
Textbox
|
|
ToggleMenu
|
|
ToggleEntity
|
|
MathHP
|
|
Delay
|
|
EndBattle
|
|
PlayMusic
|
|
ChoosePokemon
|
|
ScreenFade
|
|
LearnMoves
|
|
InflictStatus
|
|
ChangeHP
|
|
SwitchPokemon
|
|
TriggerNewRound
|
|
RoamingPokemonFled
|
|
DisplayLevelUp
|
|
PlaySound
|
|
MoveAnimation
|
|
AfterFaint
|
|
End Enum
|
|
|
|
Public QueryType As QueryTypes = QueryTypes.CameraMovement
|
|
Public PassThis As Boolean = False
|
|
|
|
Public Pokemon As Pokemon = Nothing
|
|
Public RemoveFainted As Boolean = False
|
|
|
|
Public Sub New(ByVal QueryType As QueryTypes)
|
|
Me.QueryType = QueryType
|
|
End Sub
|
|
|
|
Public Overridable ReadOnly Property IsReady() As Boolean
|
|
Get
|
|
Return True
|
|
End Get
|
|
End Property
|
|
|
|
Public Overridable Sub Update(ByVal BV2Screen As BattleScreen)
|
|
'DO NOTHING
|
|
End Sub
|
|
|
|
Public Overridable Sub Draw(ByVal BV2Screen As BattleScreen)
|
|
'DO NOTHING
|
|
End Sub
|
|
|
|
Public Overridable ReadOnly Property UpdateCamera() As Boolean
|
|
Get
|
|
Return False
|
|
End Get
|
|
End Property
|
|
|
|
Public Overridable Function NeedForPVPData() As Boolean
|
|
Return False
|
|
End Function
|
|
|
|
Public Shared Function FromString(ByVal input As String) As QueryObject
|
|
If input.StartsWith("{") = True And input.EndsWith("}") = True Then
|
|
input = input.Remove(input.Length - 1, 1).Remove(0, 1)
|
|
|
|
Dim Type As String = input.Remove(input.IndexOf("|"))
|
|
Dim Data As String = input.Remove(0, input.IndexOf("|") + 1)
|
|
Try
|
|
Select Case Type
|
|
Case "CAMERA"
|
|
Return CameraQueryObject.FromString(Data)
|
|
Case "DELAY"
|
|
Return DelayQueryObject.FromString(Data)
|
|
Case "ENDBATTLE"
|
|
Return EndBattleQueryObject.FromString(Data)
|
|
Case "MATHHP"
|
|
Return MathHPQueryObject.FromString(Data)
|
|
Case "MUSIC"
|
|
Return PlayMusicQueryObject.FromString(Data)
|
|
Case "SOUND"
|
|
Return PlaySoundQueryObject.FromString(Data)
|
|
Case "FADE"
|
|
Return ScreenFadeQueryObject.FromString(Data)
|
|
Case "TEXT"
|
|
Return TextQueryObject.FromString(Data)
|
|
Case "TOGGLEENTITY"
|
|
Return ToggleEntityQueryObject.FromString(Data)
|
|
Case "TOGGLEMENU"
|
|
Return ToggleMenuQueryObject.FromString(Data)
|
|
Case "TRIGGERNEWROUNDPVP"
|
|
Return TriggerNewRoundPVPQueryObject.FromString(Data)
|
|
Case "FAINT"
|
|
Return AfterFaintQueryObject.FromString(Data)
|
|
End Select
|
|
Catch ex As Exception
|
|
Logger.Debug("QueryObject.vb: Wrong data received, could not convert to [" & Type & "] query object. Return Nothing.")
|
|
Logger.Debug(input)
|
|
Return Nothing
|
|
End Try
|
|
|
|
End If
|
|
Return Nothing
|
|
End Function
|
|
|
|
Public Overrides Function ToString() As String
|
|
Return ""
|
|
End Function
|
|
|
|
End Class
|
|
|
|
End Namespace |