530 lines
22 KiB
VB.net
530 lines
22 KiB
VB.net
Public Class BattleIntroScreen
|
|
|
|
Inherits Screen
|
|
|
|
Dim oldX, oldY As Integer
|
|
|
|
Dim AnimationType As Integer
|
|
Dim Animations As New List(Of Rectangle)
|
|
|
|
Public OldScreen As Screen
|
|
Public NewScreen As Screen
|
|
|
|
Dim ready As Boolean = False
|
|
Dim value As Integer = 0
|
|
|
|
Dim Trainer As Trainer
|
|
|
|
Dim minDelay As Single = 16.0F
|
|
Dim startTime As Date
|
|
Dim duration As TimeSpan
|
|
|
|
Public MusicLoop As String = ""
|
|
|
|
Public Sub New(ByVal OldScreen As Screen, ByVal NewScreen As Screen, ByVal IntroType As Integer)
|
|
Dim musicLoop As String = Screen.Level.CurrentRegion.Split(CChar(","))(0) & "_wild_intro"
|
|
|
|
If BattleSystem.BattleScreen.RoamingBattle = True Then
|
|
If BattleSystem.BattleScreen.RoamingPokemonStorage.MusicLoop <> "" Then
|
|
musicLoop = BattleSystem.BattleScreen.RoamingPokemonStorage.MusicLoop & "_intro"
|
|
End If
|
|
End If
|
|
|
|
If MusicManager.SongExists(musicLoop) = False Then
|
|
musicLoop = "johto_wild_intro"
|
|
End If
|
|
musicLoop = musicLoop
|
|
|
|
Me.Constructor(OldScreen, NewScreen, Nothing, musicLoop, IntroType)
|
|
End Sub
|
|
|
|
Public Sub New(ByVal OldScreen As Screen, ByVal NewScreen As Screen, ByVal IntroType As Integer, ByVal MusicLoop As String)
|
|
If MusicLoop = "" Then
|
|
MusicLoop = Screen.Level.CurrentRegion.Split(CChar(","))(0) & "_wild_intro"
|
|
If MusicManager.SongExists(MusicLoop) = False Then
|
|
If BattleSystem.BattleScreen.RoamingBattle = True Then
|
|
If BattleSystem.BattleScreen.RoamingPokemonStorage.MusicLoop <> "" Then
|
|
MusicLoop = BattleSystem.BattleScreen.RoamingPokemonStorage.MusicLoop & "_intro"
|
|
End If
|
|
End If
|
|
If MusicManager.SongExists(MusicLoop) = False Then
|
|
MusicLoop = "johto_wild_intro"
|
|
End If
|
|
End If
|
|
MusicLoop = MusicLoop
|
|
Else
|
|
MusicLoop = MusicLoop
|
|
End If
|
|
|
|
Me.Constructor(OldScreen, NewScreen, Nothing, MusicLoop, IntroType)
|
|
End Sub
|
|
|
|
Public Sub New(ByVal OldScreen As Screen, ByVal NewScreen As Screen, ByVal Trainer As Trainer, ByVal MusicLoop As String, ByVal IntroType As Integer)
|
|
Me.Constructor(OldScreen, NewScreen, Trainer, MusicLoop, IntroType)
|
|
End Sub
|
|
|
|
Private Sub Constructor(ByVal OldScreen As Screen, ByVal NewScreen As Screen, ByVal Trainer As Trainer, ByVal MusicLoop As String, ByVal IntroType As Integer)
|
|
Me.OldScreen = OldScreen
|
|
Me.NewScreen = NewScreen
|
|
Me.CanChat = False
|
|
Me.CanBePaused = False
|
|
Me.Trainer = Trainer
|
|
Me.MusicLoop = MusicLoop
|
|
|
|
Me.AnimationType = IntroType
|
|
If Screen.Level.IsDark = True And Me.AnimationType > 4 Then
|
|
Me.AnimationType -= 5
|
|
End If
|
|
|
|
Me.Identification = Identifications.BattleIniScreen
|
|
End Sub
|
|
|
|
Public Overrides Sub Draw()
|
|
OldScreen.Draw()
|
|
|
|
Dim c As Color = Color.Black
|
|
If AnimationType > 4 Then
|
|
c = Color.White
|
|
End If
|
|
|
|
Select Case AnimationType
|
|
Case 0, 1, 2, 3, 5, 6, 7, 8
|
|
For Each Animation As Rectangle In Animations
|
|
Canvas.DrawRectangle(Animation, c)
|
|
Next
|
|
Case 4, 9
|
|
For Each Animation As Rectangle In Animations
|
|
Canvas.DrawBorder(value, Animation, c)
|
|
Next
|
|
Case 10
|
|
DrawTrainerIntro()
|
|
Case 11
|
|
DrawFaceshotIntro()
|
|
Case 12
|
|
DrawBlurIntro()
|
|
End Select
|
|
End Sub
|
|
|
|
Dim blurTexture As Texture2D = Nothing
|
|
Dim blurLayers As New List(Of Rectangle)
|
|
Dim whiteLayers As New List(Of Rectangle)
|
|
Dim blurDelay As Single = 0.5F
|
|
Dim currentBlurPosition As New Vector2(0.0F)
|
|
Dim currentBlurIntensity As Single = 10.0F
|
|
Dim currentBlurZoom As Integer = 0
|
|
|
|
Private Sub DrawBlurIntro()
|
|
If Not blurTexture Is Nothing Then
|
|
Dim startIndex As Integer = 0
|
|
If blurLayers.Count > 10 Then
|
|
startIndex = blurLayers.Count - 10
|
|
End If
|
|
|
|
For i = startIndex To blurLayers.Count - 1
|
|
Dim usedZoom As Integer = blurLayers(i).Width - Core.windowSize.Width
|
|
|
|
Dim rot As Single = CSng(Math.Sin(usedZoom * 0.01F) * 0.1F)
|
|
|
|
Dim r As Rectangle = blurLayers(i)
|
|
Dim origin As New Vector2(Core.windowSize.Width / 2.0F, Core.windowSize.Height / 2.0F)
|
|
|
|
Core.SpriteBatch.Draw(blurTexture, New Rectangle(r.X + CInt(r.Width / 2), r.Y + CInt(r.Height / 2), r.Width, r.Height), Nothing, New Color(255, 255, 255, 100), rot, origin, SpriteEffects.None, 0.0F)
|
|
Next
|
|
|
|
For i = 0 To Me.whiteLayers.Count - 1
|
|
Canvas.DrawRectangle(New Rectangle(0, 0, Core.windowSize.Width, Core.windowSize.Height), New Color(255, 255, 255, 50))
|
|
Next
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub UpdateBlurIntro()
|
|
If blurTexture Is Nothing Then
|
|
Dim r As New RenderTarget2D(Core.GraphicsDevice, Core.windowSize.Width, Core.windowSize.Height)
|
|
Core.GraphicsDevice.SetRenderTarget(r)
|
|
|
|
Core.Draw()
|
|
|
|
Core.GraphicsDevice.SetRenderTarget(Nothing)
|
|
|
|
blurTexture = r
|
|
End If
|
|
|
|
blurDelay -= 0.1F
|
|
If blurDelay <= 0.0F Then
|
|
blurDelay = 0.5F
|
|
If Core.Random.Next(0, 75) < Me.currentBlurIntensity Then
|
|
Me.whiteLayers.Add(Core.windowSize)
|
|
End If
|
|
Dim v As New Vector2(Core.Random.Next(CInt(currentBlurPosition.X - currentBlurIntensity), CInt(currentBlurPosition.X + currentBlurIntensity)), Core.Random.Next(CInt(currentBlurPosition.Y - currentBlurIntensity), CInt(currentBlurPosition.Y + currentBlurIntensity)))
|
|
|
|
Me.blurLayers.Add(New Rectangle(CInt(v.X - (currentBlurZoom / 2)), CInt(v.Y - (currentBlurZoom / 2)), Core.windowSize.Width + currentBlurZoom, Core.windowSize.Height + currentBlurZoom))
|
|
|
|
Me.currentBlurIntensity += 2
|
|
Me.currentBlurZoom += 55
|
|
End If
|
|
|
|
If Me.currentBlurIntensity = 80 Or SongOver() = True Then
|
|
ready = True
|
|
End If
|
|
End Sub
|
|
|
|
Dim animationAfterReady As Integer = 0
|
|
Private Sub DrawTrainerIntro()
|
|
Dim barPosition As Vector2 = New Vector2(Trainer.BarImagePosition.X * 128, Trainer.BarImagePosition.Y * 128)
|
|
Dim VSPosition As Vector2 = New Vector2(Trainer.VSImagePosition.X * 128, Trainer.VSImagePosition.Y * 128 + 64)
|
|
|
|
If Trainer.VSImageOrigin <> "VSIntro" Then
|
|
VSPosition.Y -= 64
|
|
End If
|
|
|
|
Dim t1 As Texture2D = TextureManager.GetTexture("GUI\Intro\VSIntro", New Rectangle(CInt(barPosition.X), CInt(barPosition.Y), 128, 64), "")
|
|
Dim t2 As Texture2D = TextureManager.GetTexture("GUI\Intro\" & Trainer.VSImageOrigin, New Rectangle(CInt(VSPosition.X), CInt(VSPosition.Y), Trainer.VSImageSize.Width, Trainer.VSImageSize.Height), "")
|
|
Dim t3 As Texture2D = TextureManager.GetTexture("NPC\" & Trainer.SpriteName, New Rectangle(0, 64, 32, 32))
|
|
Dim t4 As Texture2D = Nothing
|
|
If Trainer.DoubleTrainer = True Then
|
|
t4 = TextureManager.GetTexture("NPC\" & Trainer.SpriteName2, New Rectangle(0, 64, 32, 32))
|
|
End If
|
|
|
|
If Trainer.GameJoltID <> "" Then
|
|
If GameJolt.Emblem.HasDownloadedSprite(Trainer.GameJoltID) = True Then
|
|
Dim t As Texture2D = GameJolt.Emblem.GetOnlineSprite(Trainer.GameJoltID)
|
|
If Not t Is Nothing Then
|
|
Dim spriteSize As New Vector2(t.Width / 3.0F, t.Height / 4.0F)
|
|
t3 = TextureManager.GetTexture(t, New Rectangle(0, CInt(spriteSize.Y * 2), CInt(spriteSize.X), CInt(spriteSize.Y)))
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
Canvas.DrawRectangle(New Rectangle(0, 0, Core.windowSize.Width, CInt(((value / 1140) * Core.windowSize.Height * 1.5F))), Color.Black)
|
|
|
|
For i = -256 To Core.windowSize.Width Step 256
|
|
Dim offset As Integer = value + (animationAfterReady * 7)
|
|
While offset >= 256
|
|
offset -= 256
|
|
End While
|
|
|
|
Core.SpriteBatch.Draw(t1, New Rectangle(CInt(i + offset), CInt(Core.windowSize.Height / 2 - 64), 256, 128), Color.White)
|
|
Next
|
|
|
|
If Trainer.DoubleTrainer = True Then
|
|
Dim t As String = ReplaceIntroName(Trainer.TrainerType) & " " & ReplaceIntroName(Trainer.Name) & " & " & ReplaceIntroName(Trainer.TrainerType2) & " " & ReplaceIntroName(Trainer.Name2)
|
|
Core.SpriteBatch.DrawString(FontManager.InGameFont, t, New Vector2(Core.windowSize.Width - FontManager.InGameFont.MeasureString(t).X - 50, CInt(Core.windowSize.Height / 2 + 20)), Color.White)
|
|
|
|
Core.SpriteBatch.Draw(t3, New Rectangle(Core.windowSize.Width - 540, CInt(Core.windowSize.Height / 2 - 230), 256, 256), Color.White)
|
|
Core.SpriteBatch.Draw(t4, New Rectangle(Core.windowSize.Width - 280, CInt(Core.windowSize.Height / 2 - 230), 256, 256), Color.White)
|
|
Else
|
|
Dim t As String = ReplaceIntroName(Trainer.TrainerType) & " " & ReplaceIntroName(Trainer.Name)
|
|
Core.SpriteBatch.DrawString(FontManager.InGameFont, t, New Vector2(Core.windowSize.Width - FontManager.InGameFont.MeasureString(t).X - 50, CInt(Core.windowSize.Height / 2 + 20)), Color.White)
|
|
|
|
Core.SpriteBatch.Draw(t3, New Rectangle(Core.windowSize.Width - 310, CInt(Core.windowSize.Height / 2 - 230), 256, 256), Color.White)
|
|
End If
|
|
Core.SpriteBatch.Draw(t2, New Rectangle(420 - CInt(CInt(1.29 * value) / 3), CInt(Core.windowSize.Height / 2 - 20) - CInt(CInt(1 * value) / 3), CInt(1.12 * CInt(value / 1.5F)), 1 * CInt(value / 1.5F)), Color.White)
|
|
End Sub
|
|
|
|
Private Function ReplaceIntroName(ByVal Name As String) As String
|
|
Dim n As String = Name.Replace("<rivalname>", Core.Player.RivalName)
|
|
n = n.Replace("<playername>", Core.Player.Name)
|
|
n = n.Replace("<player.name>", Core.Player.Name)
|
|
n = n.Replace("[POKE]", "Poké")
|
|
|
|
Return n
|
|
End Function
|
|
|
|
Dim blackPosition As Integer = 0
|
|
Dim trainerPosition As Integer = 0
|
|
Dim barOffset As Integer = 0
|
|
Dim textPosition As Integer = 0
|
|
|
|
Private Sub DrawFaceshotIntro()
|
|
Dim barPosition As Vector2 = New Vector2(Trainer.BarImagePosition.X * 128, Trainer.BarImagePosition.Y * 128)
|
|
Dim VSPosition As Vector2 = New Vector2(Trainer.VSImagePosition.X * 128, Trainer.VSImagePosition.Y * 128 + 64)
|
|
|
|
Dim t1 As Texture2D = TextureManager.GetTexture("GUI\Intro\VSIntro", New Rectangle(CInt(barPosition.X), CInt(barPosition.Y), 128, 64), "")
|
|
Dim t2 As Texture2D = TextureManager.GetTexture("GUI\Intro\VSIntro", New Rectangle(CInt(VSPosition.X), CInt(VSPosition.Y), 61, 54), "")
|
|
Dim t3 As Texture2D = TextureManager.GetTexture("NPC\" & Trainer.SpriteName, New Rectangle(0, 64, 32, 32))
|
|
Dim t4 As Texture2D = Nothing
|
|
If Trainer.DoubleTrainer = True Then
|
|
t4 = TextureManager.GetTexture("NPC\" & Trainer.SpriteName2, New Rectangle(0, 64, 32, 32))
|
|
End If
|
|
|
|
If Trainer.GameJoltID <> "" Then
|
|
If GameJolt.Emblem.HasDownloadedSprite(Trainer.GameJoltID) = True Then
|
|
Dim t As Texture2D = GameJolt.Emblem.GetOnlineSprite(Trainer.GameJoltID)
|
|
If Not t Is Nothing Then
|
|
Dim spriteSize As New Vector2(t.Width / 3.0F, t.Height / 4.0F)
|
|
t3 = TextureManager.GetTexture(t, New Rectangle(0, CInt(spriteSize.Y * 2), CInt(spriteSize.X), CInt(spriteSize.Y)))
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
For i = -512 To Core.windowSize.Width Step 512
|
|
Dim offset As Integer = barOffset + (animationAfterReady * 7)
|
|
While offset >= 512
|
|
offset -= 512
|
|
End While
|
|
|
|
Core.SpriteBatch.Draw(t1, New Rectangle(CInt(i + offset), CInt(Core.windowSize.Height / 2 - 128), 512, 256), Color.White)
|
|
Next
|
|
|
|
Canvas.DrawRectangle(New Rectangle(0, 0, Core.windowSize.Width, blackPosition), Color.Black)
|
|
Core.SpriteBatch.Draw(t3, New Rectangle(Core.windowSize.Width - trainerPosition, CInt(Core.windowSize.Height / 2) - 96, 256, 224), New Rectangle(0, 0, 32, 28), Color.White)
|
|
Core.SpriteBatch.Draw(t2, New Rectangle(trainerPosition - 61 * 4, CInt(Core.windowSize.Height / 2) - 96, 61 * 4, 54 * 4), Color.White)
|
|
Canvas.DrawRectangle(New Rectangle(0, Core.windowSize.Height - blackPosition, Core.windowSize.Width, blackPosition), Color.Black)
|
|
|
|
If textPosition > 0 Then
|
|
Dim tWidth As Integer = CInt(FontManager.InGameFont.MeasureString(Trainer.TrainerType).X * 3.0F)
|
|
Core.SpriteBatch.DrawString(FontManager.InGameFont, Trainer.TrainerType, New Vector2((textPosition - tWidth).Clamp(-tWidth, CInt(Core.windowSize.Width / 2 - tWidth / 2)), 50), Color.White, 0.0F, New Vector2(0), 3.0F, SpriteEffects.None, 0.0F)
|
|
If textPosition > 300 Then
|
|
tWidth = CInt(FontManager.InGameFont.MeasureString(Trainer.Name).X * 3.0F)
|
|
Core.SpriteBatch.DrawString(FontManager.InGameFont, Trainer.Name, New Vector2((Core.windowSize.Width - (textPosition - 300)).Clamp(CInt(Core.windowSize.Width / 2 - tWidth / 2), Core.windowSize.Width), Core.windowSize.Height - 180), Color.White, 0.0F, New Vector2(0), 3.0F, SpriteEffects.None, 0.0F)
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Public Overrides Sub Update()
|
|
If minDelay > 0.0F Then
|
|
minDelay -= 0.1F
|
|
If minDelay <= 0.0F Then
|
|
minDelay = 0.0F
|
|
End If
|
|
End If
|
|
|
|
If ready = True Then
|
|
animationAfterReady += 1
|
|
If Me.minDelay = 0.0F And SongOver() Then
|
|
Core.SetScreen(Me.NewScreen)
|
|
If Me.NewScreen.GetType() Is GetType(BattleSystem.BattleScreen) Then
|
|
MediaPlayer.IsRepeating = True
|
|
|
|
Dim b As BattleSystem.BattleScreen = CType(Me.NewScreen, BattleSystem.BattleScreen)
|
|
|
|
If b.IsPVPBattle = True Then
|
|
b.InitializePVP(b.Trainer, b.OverworldScreen)
|
|
Else
|
|
If b.IsTrainerBattle = True Then
|
|
b.InitializeTrainer(b.Trainer, b.OverworldScreen, b.defaultMapType)
|
|
Else
|
|
If Screen.Level.IsSafariZone = True Then
|
|
b.InitializeSafari(b.WildPokemon, b.OverworldScreen, b.defaultMapType)
|
|
Else
|
|
If Screen.Level.IsBugCatchingContest = True Then
|
|
b.InitializeBugCatch(b.WildPokemon, b.OverworldScreen, b.defaultMapType)
|
|
Else
|
|
b.InitializeWild(b.WildPokemon, b.OverworldScreen, b.defaultMapType)
|
|
End If
|
|
End If
|
|
End If
|
|
End If
|
|
End If
|
|
End If
|
|
Else
|
|
Select Case AnimationType
|
|
Case 0, 5
|
|
UpdateRectangleIntro()
|
|
Case 1, 6
|
|
UpdateHorizontalBars()
|
|
Case 2, 7
|
|
UpdateVerticalBars()
|
|
Case 3, 8
|
|
UpdateBlockIn()
|
|
Case 4, 9
|
|
UpdateBlockOut()
|
|
Case 10
|
|
UpdateTrainerVS()
|
|
Case 11
|
|
UpdateFaceshotIntro()
|
|
Case 12
|
|
UpdateBlurIntro()
|
|
End Select
|
|
End If
|
|
|
|
ResetCursor()
|
|
End Sub
|
|
|
|
Private Sub UpdateFaceshotIntro()
|
|
Me.barOffset += 14
|
|
Me.blackPosition = (Me.blackPosition + 6).Clamp(0, CInt(Core.windowSize.Height / 2 - 128))
|
|
If blackPosition >= CInt(Core.windowSize.Height / 2 - 128) Then
|
|
trainerPosition = (trainerPosition + 16).Clamp(0, 420)
|
|
If trainerPosition >= 420 Then
|
|
textPosition += CInt(Math.Ceiling(Core.windowSize.Width / 75))
|
|
If textPosition >= CInt(Core.windowSize.Width / 2 - CInt(FontManager.InGameFont.MeasureString(Trainer.Name).X) / 2) + 1200 Then
|
|
Me.ready = True
|
|
End If
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub UpdateRectangleIntro()
|
|
Dim rectangleSize As Integer = Me.GetRectangleSize()
|
|
|
|
Dim fullRecs As Integer = CInt(Math.Ceiling(Core.windowSize.Height / rectangleSize)) * CInt(Math.Ceiling(Core.windowSize.Width / rectangleSize))
|
|
Dim currentRecs As Integer = Animations.Count
|
|
|
|
If fullRecs > currentRecs Then
|
|
Dim validPosition As Boolean = False
|
|
Dim Pos As Vector2
|
|
|
|
While validPosition = False
|
|
Pos = New Vector2(Core.Random.Next(0, CInt(Math.Ceiling((Core.windowSize.Width - rectangleSize) / rectangleSize)) + 1) * rectangleSize, Core.Random.Next(0, CInt(Math.Ceiling((Core.windowSize.Height - rectangleSize) / rectangleSize)) + 1) * rectangleSize)
|
|
|
|
validPosition = True
|
|
|
|
If Animations.Count > 0 Then
|
|
For Each R As Rectangle In Animations
|
|
If R.X = Pos.X And R.Y = Pos.Y Then
|
|
validPosition = False
|
|
Exit For
|
|
End If
|
|
Next
|
|
End If
|
|
End While
|
|
|
|
Animations.Add(New Rectangle(CInt(Pos.X), CInt(Pos.Y), rectangleSize, rectangleSize))
|
|
Else
|
|
ready = True
|
|
End If
|
|
End Sub
|
|
|
|
Private Function GetRectangleSize() As Integer
|
|
Dim blocksOnScreen As Double = 81.6
|
|
|
|
Dim pixelAmount As Double = Core.windowSize.Width * Core.windowSize.Height
|
|
|
|
Dim perRectanglePixels As Double = pixelAmount / blocksOnScreen
|
|
|
|
Return CInt(Math.Ceiling(Math.Sqrt(perRectanglePixels)))
|
|
End Function
|
|
|
|
Private Sub UpdateHorizontalBars()
|
|
If Animations.Count < 20 Then
|
|
If Core.Random.Next(0, 4) = 0 Then
|
|
Dim validPosition As Boolean = False
|
|
Dim Pos As Vector2
|
|
|
|
While validPosition = False
|
|
Pos = New Vector2(0, CInt(Core.windowSize.Height / 20) * Core.Random.Next(0, 20))
|
|
|
|
validPosition = True
|
|
|
|
If Animations.Count > 0 Then
|
|
For Each R As Rectangle In Animations
|
|
If R.X = Pos.X And R.Y = Pos.Y Then
|
|
validPosition = False
|
|
Exit For
|
|
End If
|
|
Next
|
|
End If
|
|
End While
|
|
|
|
Animations.Add(New Rectangle(CInt(Pos.X), CInt(Pos.Y), Core.windowSize.Width, CInt(Core.windowSize.Height / 20)))
|
|
End If
|
|
Else
|
|
ready = True
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub UpdateVerticalBars()
|
|
If Animations.Count < 20 Then
|
|
If Core.Random.Next(0, 4) = 0 Then
|
|
Dim validPosition As Boolean = False
|
|
Dim Pos As Vector2
|
|
|
|
While validPosition = False
|
|
Pos = New Vector2(CInt(Core.windowSize.Width / 20) * Core.Random.Next(0, 20), 0)
|
|
|
|
validPosition = True
|
|
|
|
If Animations.Count > 0 Then
|
|
For Each R As Rectangle In Animations
|
|
If R.X = Pos.X And R.Y = Pos.Y Then
|
|
validPosition = False
|
|
Exit For
|
|
End If
|
|
Next
|
|
End If
|
|
End While
|
|
|
|
Animations.Add(New Rectangle(CInt(Pos.X), CInt(Pos.Y), CInt(Core.windowSize.Width / 20), Core.windowSize.Height))
|
|
End If
|
|
Else
|
|
ready = True
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub UpdateBlockIn()
|
|
If Animations.Count = 0 Then
|
|
Animations.Add(New Rectangle(CInt(Core.windowSize.Width / 2) - 10, CInt(Core.windowSize.Height / 2) - 10, 20, 20))
|
|
Else
|
|
If Animations(0).Width >= Core.windowSize.Width Then
|
|
ready = True
|
|
Else
|
|
Dim a As Rectangle = Animations(0)
|
|
|
|
a.X -= 7
|
|
a.Y -= 7
|
|
|
|
a.Width += 14
|
|
a.Height += 14
|
|
|
|
Animations.RemoveAt(0)
|
|
Animations.Add(a)
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub UpdateBlockOut()
|
|
If Animations.Count = 0 Then
|
|
Animations.Add(New Rectangle(0, 0, Core.windowSize.Width, Core.windowSize.Height))
|
|
Else
|
|
If value >= Core.windowSize.Height / 2 Then
|
|
ready = True
|
|
Else
|
|
value += CInt(Math.Ceiling(Core.windowSize.Height / 300))
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub UpdateTrainerVS()
|
|
value += 7
|
|
If value >= 1140 Then
|
|
ready = True
|
|
End If
|
|
End Sub
|
|
|
|
Public Sub ResetCursor()
|
|
If Core.GameInstance.IsActive = True Then
|
|
Mouse.SetPosition(CInt(Core.windowSize.Width / 2), CInt(Core.windowSize.Height / 2))
|
|
oldX = CInt(Core.windowSize.Width / 2)
|
|
oldY = CInt(Core.windowSize.Height / 2)
|
|
End If
|
|
End Sub
|
|
|
|
Public Overrides Sub ChangeTo()
|
|
Player.Temp.IsInBattle = True
|
|
Player.Temp.BeforeBattlePosition = Screen.Camera.Position
|
|
Player.Temp.BeforeBattleLevelFile = Screen.Level.LevelFile
|
|
Player.Temp.BeforeBattleFacing = Screen.Camera.GetPlayerFacingDirection()
|
|
MusicManager.PlayMusic(MusicLoop)
|
|
MediaPlayer.IsRepeating = False
|
|
|
|
Dim s As MusicManager.CSong = MusicManager.GetSong(MusicLoop, True)
|
|
If Not s Is Nothing Then
|
|
Me.duration = s.Song.Duration
|
|
Else
|
|
Me.duration = New TimeSpan(0)
|
|
End If
|
|
|
|
Me.startTime = Date.Now
|
|
End Sub
|
|
|
|
Private Function SongOver() As Boolean
|
|
Return startTime + duration < Date.Now.AddSeconds(1)
|
|
End Function
|
|
|
|
'Protected Overrides Sub Finalize()
|
|
' If blurTexture IsNot Nothing
|
|
' blurTexture.Dispose()
|
|
' End If
|
|
'End Sub
|
|
End Class |