change title screen background
This commit is contained in:
parent
2935b7c85c
commit
a2cef30a50
13
P3D.sln
13
P3D.sln
|
@ -1,7 +1,7 @@
|
||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
# Visual Studio 15
|
# Visual Studio 15
|
||||||
VisualStudioVersion = 15.0.27130.2026
|
VisualStudioVersion = 15.0.27130.2036
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "P3D", "P3D\P3D.vbproj", "{2AAF65BE-C81D-4663-ABF4-E2E09B16E12F}"
|
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "P3D", "P3D\P3D.vbproj", "{2AAF65BE-C81D-4663-ABF4-E2E09B16E12F}"
|
||||||
EndProject
|
EndProject
|
||||||
|
@ -19,6 +19,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TearUp", "lib\tools\TearUp\
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TearDown", "lib\tools\TearDown\TearDown.csproj", "{0AE314A4-6005-48C7-BCD4-33E4C5057CFD}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TearDown", "lib\tools\TearDown\TearDown.csproj", "{0AE314A4-6005-48C7-BCD4-33E4C5057CFD}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GameDevCommon", "lib\game-dev-common\src\GameDevCommon\GameDevCommon.csproj", "{087378EE-7591-47CE-979F-6824FC0606EF}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
@ -75,6 +77,14 @@ Global
|
||||||
{0AE314A4-6005-48C7-BCD4-33E4C5057CFD}.Release|Any CPU.Build.0 = Release|Any CPU
|
{0AE314A4-6005-48C7-BCD4-33E4C5057CFD}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
{0AE314A4-6005-48C7-BCD4-33E4C5057CFD}.ReleaseNoContent|Any CPU.ActiveCfg = Release|Any CPU
|
{0AE314A4-6005-48C7-BCD4-33E4C5057CFD}.ReleaseNoContent|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{0AE314A4-6005-48C7-BCD4-33E4C5057CFD}.ReleaseNoContent|Any CPU.Build.0 = Release|Any CPU
|
{0AE314A4-6005-48C7-BCD4-33E4C5057CFD}.ReleaseNoContent|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{087378EE-7591-47CE-979F-6824FC0606EF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{087378EE-7591-47CE-979F-6824FC0606EF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{087378EE-7591-47CE-979F-6824FC0606EF}.DebugNoContent|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{087378EE-7591-47CE-979F-6824FC0606EF}.DebugNoContent|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{087378EE-7591-47CE-979F-6824FC0606EF}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{087378EE-7591-47CE-979F-6824FC0606EF}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{087378EE-7591-47CE-979F-6824FC0606EF}.ReleaseNoContent|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{087378EE-7591-47CE-979F-6824FC0606EF}.ReleaseNoContent|Any CPU.Build.0 = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
@ -86,6 +96,7 @@ Global
|
||||||
{3B2AEA8E-4384-48D8-B26B-2C67466A1352} = {7877D883-AA51-4C27-ADA5-C4F85F86F4EE}
|
{3B2AEA8E-4384-48D8-B26B-2C67466A1352} = {7877D883-AA51-4C27-ADA5-C4F85F86F4EE}
|
||||||
{417FEA8A-9334-4938-9370-519EF1551B05} = {7877D883-AA51-4C27-ADA5-C4F85F86F4EE}
|
{417FEA8A-9334-4938-9370-519EF1551B05} = {7877D883-AA51-4C27-ADA5-C4F85F86F4EE}
|
||||||
{0AE314A4-6005-48C7-BCD4-33E4C5057CFD} = {7877D883-AA51-4C27-ADA5-C4F85F86F4EE}
|
{0AE314A4-6005-48C7-BCD4-33E4C5057CFD} = {7877D883-AA51-4C27-ADA5-C4F85F86F4EE}
|
||||||
|
{087378EE-7591-47CE-979F-6824FC0606EF} = {3CE8099E-129D-40F9-8D23-005DFF32E2A2}
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
SolutionGuid = {8FE3951F-DE18-41FF-A035-32DF597A91F2}
|
SolutionGuid = {8FE3951F-DE18-41FF-A035-32DF597A91F2}
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 397 B |
Binary file not shown.
After Width: | Height: | Size: 477 B |
Binary file not shown.
After Width: | Height: | Size: 2.0 KiB |
Binary file not shown.
After Width: | Height: | Size: 271 B |
Binary file not shown.
After Width: | Height: | Size: 1.0 KiB |
Binary file not shown.
After Width: | Height: | Size: 241 B |
|
@ -1,4 +1,5 @@
|
||||||
Imports System.Windows.Forms
|
Imports System.Windows.Forms
|
||||||
|
Imports GameDevCommon
|
||||||
|
|
||||||
''' <summary>
|
''' <summary>
|
||||||
''' Controls the game's main workflow.
|
''' Controls the game's main workflow.
|
||||||
|
@ -6,6 +7,7 @@
|
||||||
Public Class GameController
|
Public Class GameController
|
||||||
|
|
||||||
Inherits Microsoft.Xna.Framework.Game
|
Inherits Microsoft.Xna.Framework.Game
|
||||||
|
Implements IGame
|
||||||
|
|
||||||
''' <summary>
|
''' <summary>
|
||||||
''' The current version of the game.
|
''' The current version of the game.
|
||||||
|
@ -50,6 +52,8 @@ Public Class GameController
|
||||||
Public FPSMonitor As FPSMonitor
|
Public FPSMonitor As FPSMonitor
|
||||||
Public Shared UpdateChecked As Boolean = False
|
Public Shared UpdateChecked As Boolean = False
|
||||||
|
|
||||||
|
Private _componentManager As ComponentManager
|
||||||
|
|
||||||
Public Sub New()
|
Public Sub New()
|
||||||
Graphics = New GraphicsDeviceManager(Me)
|
Graphics = New GraphicsDeviceManager(Me)
|
||||||
Content.RootDirectory = "Content"
|
Content.RootDirectory = "Content"
|
||||||
|
@ -66,15 +70,18 @@ Public Class GameController
|
||||||
If GameHacked = True Then
|
If GameHacked = True Then
|
||||||
Security.HackerAlerts.Activate()
|
Security.HackerAlerts.Activate()
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
_componentManager = New ComponentManager()
|
||||||
|
GameInstanceProvider.SetInstance(Me)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Protected Overrides Sub Initialize()
|
Protected Overrides Sub Initialize()
|
||||||
|
_componentManager.LoadComponents()
|
||||||
Core.Initialize(Me)
|
Core.Initialize(Me)
|
||||||
MyBase.Initialize()
|
MyBase.Initialize()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Protected Overrides Sub LoadContent()
|
Protected Overrides Sub LoadContent()
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Protected Overrides Sub UnloadContent()
|
Protected Overrides Sub UnloadContent()
|
||||||
|
@ -131,6 +138,14 @@ Public Class GameController
|
||||||
NetworkPlayer.ScreenRegionChanged()
|
NetworkPlayer.ScreenRegionChanged()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Public Function GetGame() As Game Implements IGame.GetGame
|
||||||
|
Return Me
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Function GetComponentManager() As ComponentManager Implements IGame.GetComponentManager
|
||||||
|
Return _componentManager
|
||||||
|
End Function
|
||||||
|
|
||||||
Private Shared GameHacked As Boolean = False 'Temp value that stores if a hacking file was detected at game start.
|
Private Shared GameHacked As Boolean = False 'Temp value that stores if a hacking file was detected at game start.
|
||||||
|
|
||||||
''' <summary>
|
''' <summary>
|
||||||
|
|
|
@ -528,7 +528,7 @@ Public Class OverworldCamera
|
||||||
If Core.GameOptions.ViewBobbing = False Then
|
If Core.GameOptions.ViewBobbing = False Then
|
||||||
Return 0.0F
|
Return 0.0F
|
||||||
End If
|
End If
|
||||||
If Screen.Level.Riding = True Then
|
If Screen.Level?.Riding = True Then
|
||||||
Return CSng(Math.Sin(_bobbingTemp) * 0.012)
|
Return CSng(Math.Sin(_bobbingTemp) * 0.012)
|
||||||
Else
|
Else
|
||||||
If Core.Player.IsRunning() = True Then
|
If Core.Player.IsRunning() = True Then
|
||||||
|
|
|
@ -11044,6 +11044,24 @@
|
||||||
<Content Include="Content\Data\smashrockitems.dat">
|
<Content Include="Content\Data\smashrockitems.dat">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
|
<Content Include="Content\GUI\MainMenu\clouds.png">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="Content\GUI\MainMenu\ground.png">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="Content\GUI\MainMenu\hooh.png">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="Content\GUI\MainMenu\hoohParticles.png">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="Content\GUI\MainMenu\lugia.png">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="Content\GUI\MainMenu\lugiaParticle.png">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
<Content Include="Content\Localization\Tokens_de.dat">
|
<Content Include="Content\Localization\Tokens_de.dat">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
|
@ -27452,11 +27470,19 @@
|
||||||
<Compile Include="Screens\MainMenu\IntroScreen.vb" />
|
<Compile Include="Screens\MainMenu\IntroScreen.vb" />
|
||||||
<Compile Include="Screens\MainMenu\JoinServerScreen.vb" />
|
<Compile Include="Screens\MainMenu\JoinServerScreen.vb" />
|
||||||
<Compile Include="Screens\MainMenu\MainMenuCamera.vb" />
|
<Compile Include="Screens\MainMenu\MainMenuCamera.vb" />
|
||||||
|
<Compile Include="Screens\MainMenu\MainMenuEntity.vb" />
|
||||||
<Compile Include="Screens\MainMenu\NewGameCamera.vb" />
|
<Compile Include="Screens\MainMenu\NewGameCamera.vb" />
|
||||||
<Compile Include="Screens\MainMenu\NewNewGameScreen.vb" />
|
<Compile Include="Screens\MainMenu\NewNewGameScreen.vb" />
|
||||||
<Compile Include="Screens\MainMenu\OfflineGameWarningScreen.vb" />
|
<Compile Include="Screens\MainMenu\OfflineGameWarningScreen.vb" />
|
||||||
<Compile Include="Screens\MainMenu\PauseScreen.vb" />
|
<Compile Include="Screens\MainMenu\PauseScreen.vb" />
|
||||||
<Compile Include="Screens\MainMenu\PressStartScreen.vb" />
|
<Compile Include="Screens\MainMenu\PressStartScreen.vb" />
|
||||||
|
<Compile Include="Screens\MainMenu\Scene\Clouds.vb" />
|
||||||
|
<Compile Include="Screens\MainMenu\Scene\Ground.vb" />
|
||||||
|
<Compile Include="Screens\MainMenu\Scene\LugiaParticle.vb" />
|
||||||
|
<Compile Include="Screens\MainMenu\Scene\Lugia.vb" />
|
||||||
|
<Compile Include="Screens\MainMenu\Scene\HoOh.vb" />
|
||||||
|
<Compile Include="Screens\MainMenu\Scene\HoOhParticle.vb" />
|
||||||
|
<Compile Include="Screens\MainMenu\Scene\MainMenuCamera.vb" />
|
||||||
<Compile Include="Screens\MainMenu\SplashScreen.vb" />
|
<Compile Include="Screens\MainMenu\SplashScreen.vb" />
|
||||||
<Compile Include="Screens\MapPreview\MapPreviewCamera.vb" />
|
<Compile Include="Screens\MapPreview\MapPreviewCamera.vb" />
|
||||||
<Compile Include="Screens\MapPreview\MapPreviewScreen.vb" />
|
<Compile Include="Screens\MapPreview\MapPreviewScreen.vb" />
|
||||||
|
@ -27557,6 +27583,12 @@
|
||||||
<Compile Include="World\Terrain.vb" />
|
<Compile Include="World\Terrain.vb" />
|
||||||
<Compile Include="World\World.vb" />
|
<Compile Include="World\World.vb" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\lib\game-dev-common\src\GameDevCommon\GameDevCommon.csproj">
|
||||||
|
<Project>{087378ee-7591-47ce-979f-6824fc0606ef}</Project>
|
||||||
|
<Name>GameDevCommon</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
||||||
<Import Condition=" '$(Configuration)' != 'DebugNoContent' Or '$(Configuration)' != 'ReleaseNoContent' " Project="$(MSBuildExtensionsPath)\MonoGame\v3.0\MonoGame.Content.Builder.targets" />
|
<Import Condition=" '$(Configuration)' != 'DebugNoContent' Or '$(Configuration)' != 'ReleaseNoContent' " Project="$(MSBuildExtensionsPath)\MonoGame\v3.0\MonoGame.Content.Builder.targets" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
|
|
@ -723,7 +723,9 @@
|
||||||
Data = IO.File.ReadAllText(GameController.GamePath & "\Save\" & filePrefix & "\Player.dat").SplitAtNewline()
|
Data = IO.File.ReadAllText(GameController.GamePath & "\Save\" & filePrefix & "\Player.dat").SplitAtNewline()
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Screen.Level.Riding = False
|
If Not Screen.Level Is Nothing Then
|
||||||
|
Screen.Level.Riding = False
|
||||||
|
End If
|
||||||
|
|
||||||
For Each Line As String In Data
|
For Each Line As String In Data
|
||||||
If Line <> "" And Line.Contains("|") = True Then
|
If Line <> "" And Line.Contains("|") = True Then
|
||||||
|
@ -848,7 +850,6 @@
|
||||||
TempSurfSkin = Value
|
TempSurfSkin = Value
|
||||||
Case "surfing"
|
Case "surfing"
|
||||||
startSurfing = CBool(Value)
|
startSurfing = CBool(Value)
|
||||||
Screen.Level.Surfing = CBool(Value)
|
|
||||||
Case "bp"
|
Case "bp"
|
||||||
BP = CInt(Value)
|
BP = CInt(Value)
|
||||||
Case "gtsstars"
|
Case "gtsstars"
|
||||||
|
@ -867,7 +868,7 @@
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
|
|
||||||
If IsGameJoltSave = True And Screen.Level.Surfing = False Then
|
If IsGameJoltSave = True And startSurfing = False Then
|
||||||
Skin = GameJolt.Emblem.GetPlayerSpriteFile(GameJolt.Emblem.GetPlayerLevel(GameJoltSave.Points), GameJoltSave.GameJoltID, GameJoltSave.Gender)
|
Skin = GameJolt.Emblem.GetPlayerSpriteFile(GameJolt.Emblem.GetPlayerLevel(GameJoltSave.Points), GameJoltSave.GameJoltID, GameJoltSave.Gender)
|
||||||
Select Case GameJoltSave.Gender
|
Select Case GameJoltSave.Gender
|
||||||
Case "0"
|
Case "0"
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
Namespace Screens.MainMenu
|
||||||
|
|
||||||
|
Public Class MainMenuEntity
|
||||||
|
|
||||||
|
Inherits GameDevCommon.Rendering.Base3DObject(Of VertexPositionNormalTexture)
|
||||||
|
|
||||||
|
Public Position As Vector3
|
||||||
|
Public Rotation As Vector3
|
||||||
|
Public ToBeRemoved As Boolean
|
||||||
|
|
||||||
|
Public Sub New(position As Vector3)
|
||||||
|
Me.Position = position
|
||||||
|
Me.Rotation = Vector3.Zero
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Protected Overrides Sub CreateWorld()
|
||||||
|
World = Matrix.CreateRotationX(Rotation.X) *
|
||||||
|
Matrix.CreateRotationY(Rotation.Y) *
|
||||||
|
Matrix.CreateRotationZ(Rotation.Z) *
|
||||||
|
Matrix.CreateTranslation(Position)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
|
|
||||||
|
End Namespace
|
|
@ -1,4 +1,7 @@
|
||||||
''' <summary>
|
Imports GameDevCommon.Drawing
|
||||||
|
Imports P3D.Screens.MainMenu
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
''' The "Press {BUTTON} to start" screen.
|
''' The "Press {BUTTON} to start" screen.
|
||||||
''' </summary>
|
''' </summary>
|
||||||
Public Class PressStartScreen
|
Public Class PressStartScreen
|
||||||
|
@ -9,8 +12,6 @@ Public Class PressStartScreen
|
||||||
Private _introDelay As Single = 4.0F
|
Private _introDelay As Single = 4.0F
|
||||||
Private _logoFade As Single = 1.0F
|
Private _logoFade As Single = 1.0F
|
||||||
|
|
||||||
'Private _mainMenuMaps As DataModel.Json.Game.MainMenuMapModel()
|
|
||||||
|
|
||||||
Private _logoTexture As Texture2D = Nothing
|
Private _logoTexture As Texture2D = Nothing
|
||||||
Private _shineTexture As Texture2D = Nothing
|
Private _shineTexture As Texture2D = Nothing
|
||||||
|
|
||||||
|
@ -20,6 +21,13 @@ Public Class PressStartScreen
|
||||||
|
|
||||||
Private target As RenderTarget2D
|
Private target As RenderTarget2D
|
||||||
|
|
||||||
|
Private _shader As GameDevCommon.Rendering.Shader
|
||||||
|
Private _entities As List(Of MainMenuEntity) = New List(Of MainMenuEntity)()
|
||||||
|
Private _camera As Screens.MainMenu.Scene.MainMenuCamera
|
||||||
|
Private _fromColor As Color
|
||||||
|
Private _toColor As Color
|
||||||
|
Private _textColor As Color
|
||||||
|
|
||||||
Dim tempF As Single = 0F
|
Dim tempF As Single = 0F
|
||||||
Dim tempG As Single = 0F
|
Dim tempG As Single = 0F
|
||||||
|
|
||||||
|
@ -35,17 +43,7 @@ Public Class PressStartScreen
|
||||||
|
|
||||||
GameModeManager.SetGameModePointer("Kolben")
|
GameModeManager.SetGameModePointer("Kolben")
|
||||||
|
|
||||||
Effect = New BasicEffect(GraphicsDevice)
|
|
||||||
Effect.FogEnabled = True
|
|
||||||
|
|
||||||
SkyDome = New SkyDome()
|
|
||||||
Camera = New MainMenuCamera()
|
|
||||||
|
|
||||||
Core.Player.Skin = "Hilbert"
|
Core.Player.Skin = "Hilbert"
|
||||||
World.IsMainMenu = True
|
|
||||||
Level = New Level()
|
|
||||||
ChangeLevel()
|
|
||||||
Level.World.Initialize(Level.EnvironmentType, Level.WeatherType)
|
|
||||||
|
|
||||||
If IO.Directory.Exists(GameController.GamePath & "\Save\") = False Then
|
If IO.Directory.Exists(GameController.GamePath & "\Save\") = False Then
|
||||||
IO.Directory.CreateDirectory(GameController.GamePath & "\Save\")
|
IO.Directory.CreateDirectory(GameController.GamePath & "\Save\")
|
||||||
|
@ -60,20 +58,71 @@ Public Class PressStartScreen
|
||||||
_shineRenderer = New SpriteBatch(GraphicsDevice)
|
_shineRenderer = New SpriteBatch(GraphicsDevice)
|
||||||
_backgroundRenderer = New SpriteBatch(GraphicsDevice)
|
_backgroundRenderer = New SpriteBatch(GraphicsDevice)
|
||||||
|
|
||||||
target = New RenderTarget2D(GraphicsDevice, windowSize.Width, windowSize.Height, False, SurfaceFormat.Color, DepthFormat.Depth24Stencil8)
|
target = New RenderTarget2D(GraphicsDevice, 1200, 680, False, SurfaceFormat.Color, DepthFormat.Depth24Stencil8)
|
||||||
|
|
||||||
'crappy fix
|
'crappy fix
|
||||||
Screens.MainMenu.NewNewGameScreen.CharacterSelectionScreen.SelectedSkin = ""
|
Screens.MainMenu.NewNewGameScreen.CharacterSelectionScreen.SelectedSkin = ""
|
||||||
Core.Player.Unload()
|
Core.Player.Unload()
|
||||||
|
|
||||||
|
_shader = New GameDevCommon.Rendering.BasicShader()
|
||||||
|
CType(_shader.Effect, BasicEffect).LightingEnabled = False
|
||||||
|
_camera = New Scene.MainMenuCamera()
|
||||||
|
|
||||||
|
Dim dayTime = World.GetTime
|
||||||
|
|
||||||
|
Select Case dayTime
|
||||||
|
Case World.DayTime.Morning
|
||||||
|
_fromColor = New Color(246, 170, 109)
|
||||||
|
_toColor = New Color(248, 248, 248)
|
||||||
|
_textColor = Color.Black
|
||||||
|
Case World.DayTime.Day
|
||||||
|
_fromColor = New Color(120, 160, 248)
|
||||||
|
_toColor = New Color(248, 248, 248)
|
||||||
|
_textColor = Color.Black
|
||||||
|
Case World.DayTime.Evening
|
||||||
|
_fromColor = New Color(32, 64, 168)
|
||||||
|
_toColor = New Color(40, 80, 88)
|
||||||
|
_textColor = Color.White
|
||||||
|
Case World.DayTime.Night
|
||||||
|
_fromColor = New Color(32, 64, 168)
|
||||||
|
_toColor = New Color(0, 0, 0)
|
||||||
|
_textColor = Color.White
|
||||||
|
End Select
|
||||||
|
|
||||||
|
If dayTime = World.DayTime.Day OrElse dayTime = World.DayTime.Morning Then
|
||||||
|
Dim clouds = New Scene.Clouds()
|
||||||
|
clouds.LoadContent()
|
||||||
|
_entities.Add(clouds)
|
||||||
|
|
||||||
|
Dim hooh = New Scene.HoOh(_entities)
|
||||||
|
hooh.LoadContent()
|
||||||
|
_entities.Add(hooh)
|
||||||
|
Else
|
||||||
|
Dim ground = New Scene.Ground()
|
||||||
|
ground.LoadContent()
|
||||||
|
_entities.Add(ground)
|
||||||
|
|
||||||
|
Dim lugia = New Scene.Lugia(_entities)
|
||||||
|
lugia.LoadContent()
|
||||||
|
_entities.Add(lugia)
|
||||||
|
End If
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Overrides Sub Update()
|
Public Overrides Sub Update()
|
||||||
Lighting.UpdateLighting(Effect)
|
|
||||||
|
|
||||||
Camera.Update()
|
For i = 0 To _entities.Count - 1
|
||||||
Level.Update()
|
If i < _entities.Count Then
|
||||||
SkyDome.Update()
|
_entities(i).Update()
|
||||||
Level.World.Initialize(Level.EnvironmentType, Level.WeatherType)
|
If _entities(i).ToBeRemoved Then
|
||||||
|
_entities(i).Dispose()
|
||||||
|
_entities.RemoveAt(i)
|
||||||
|
i -= 1
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
_camera.Update()
|
||||||
|
|
||||||
If _introDelay > 0F Then
|
If _introDelay > 0F Then
|
||||||
_introDelay -= 0.1F
|
_introDelay -= 0.1F
|
||||||
|
@ -112,20 +161,38 @@ Public Class PressStartScreen
|
||||||
|
|
||||||
Public Overrides Sub Draw()
|
Public Overrides Sub Draw()
|
||||||
If _blurHandler Is Nothing Then
|
If _blurHandler Is Nothing Then
|
||||||
_blurHandler = New Resources.Blur.BlurHandler(windowSize.Width, windowSize.Height)
|
_blurHandler = New Resources.Blur.BlurHandler(target.Width, target.Height)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
GraphicsDevice.SetRenderTarget(target)
|
GraphicsDevice.SetRenderTarget(target)
|
||||||
GraphicsDevice.Clear(BackgroundColor)
|
GraphicsDevice.ResetFull()
|
||||||
|
GraphicsDevice.Clear(_fromColor)
|
||||||
|
|
||||||
SkyDome.Draw(45.0F)
|
|
||||||
Level.Draw()
|
' DRAW HERE
|
||||||
|
_backgroundRenderer.Begin()
|
||||||
|
|
||||||
|
_backgroundRenderer.DrawGradient(New Rectangle(0, CType(target.Height / 2, Integer), target.Width, CType(target.Height / 4, Integer)),
|
||||||
|
_fromColor, _toColor, False, 1, 10)
|
||||||
|
_backgroundRenderer.DrawRectangle(New Rectangle(0, CType(target.Height / 4 * 3, Integer), target.Width, CType(target.Height / 4, Integer)),
|
||||||
|
_toColor)
|
||||||
|
|
||||||
|
_backgroundRenderer.End()
|
||||||
|
|
||||||
|
GraphicsDevice.ResetFull()
|
||||||
|
_shader.Prepare(_camera)
|
||||||
|
For Each entity In _entities
|
||||||
|
_shader.Render(entity)
|
||||||
|
Next
|
||||||
|
|
||||||
GraphicsDevice.SetRenderTarget(Nothing)
|
GraphicsDevice.SetRenderTarget(Nothing)
|
||||||
|
|
||||||
|
|
||||||
_backgroundRenderer.Begin()
|
_backgroundRenderer.Begin()
|
||||||
Dim blurred = _blurHandler.Perform(target)
|
Dim blurred = _blurHandler.Perform(target)
|
||||||
_backgroundRenderer.Draw(blurred, New Rectangle(0, 0, windowSize.Width, windowSize.Height), Color.White)
|
_backgroundRenderer.Draw(blurred, New Rectangle(0, 0, windowSize.Width, windowSize.Height), Color.White)
|
||||||
|
|
||||||
|
'_backgroundRenderer.Draw(target, New Rectangle(0, 0, windowSize.Width, windowSize.Height), Color.White)
|
||||||
_backgroundRenderer.End()
|
_backgroundRenderer.End()
|
||||||
|
|
||||||
If IsCurrentScreen() Then
|
If IsCurrentScreen() Then
|
||||||
|
@ -135,7 +202,7 @@ Public Class PressStartScreen
|
||||||
End If
|
End If
|
||||||
_shineRenderer.Begin(SpriteSortMode.Texture, BlendState.Additive)
|
_shineRenderer.Begin(SpriteSortMode.Texture, BlendState.Additive)
|
||||||
|
|
||||||
_logoRenderer.Draw(_logoTexture, New Rectangle(CInt(ScreenSize.Width / 2) - 400, CInt(160 * _fadeIn), 768, 282), New Color(255, 255, 255, CInt(255 * _logoFade)))
|
_logoRenderer.Draw(_logoTexture, New Rectangle(CInt(ScreenSize.Width / 2) - 350, CInt(160 * _fadeIn), 700, 300), New Color(255, 255, 255, CInt(255 * _logoFade)))
|
||||||
_shineRenderer.Draw(_shineTexture, New Rectangle(CInt(ScreenSize.Width / 2 - 250 + Math.Sin(tempF) * 240.0F), CInt(-100 + Math.Sin(tempG) * 10.0F + CInt(160 * _fadeIn)), 512, 512), New Color(255, 255, 255, CInt(255 * _logoFade)))
|
_shineRenderer.Draw(_shineTexture, New Rectangle(CInt(ScreenSize.Width / 2 - 250 + Math.Sin(tempF) * 240.0F), CInt(-100 + Math.Sin(tempG) * 10.0F + CInt(160 * _fadeIn)), 512, 512), New Color(255, 255, 255, CInt(255 * _logoFade)))
|
||||||
|
|
||||||
If _fadeIn = 0F Then
|
If _fadeIn = 0F Then
|
||||||
|
@ -150,11 +217,11 @@ Public Class PressStartScreen
|
||||||
Dim textSize As Vector2 = FontManager.GameJoltFont.MeasureString(text)
|
Dim textSize As Vector2 = FontManager.GameJoltFont.MeasureString(text)
|
||||||
|
|
||||||
GetFontRenderer().DrawString(FontManager.GameJoltFont, text, New Vector2(windowSize.Width / 2.0F - textSize.X / 2.0F,
|
GetFontRenderer().DrawString(FontManager.GameJoltFont, text, New Vector2(windowSize.Width / 2.0F - textSize.X / 2.0F,
|
||||||
windowSize.Height / 2.0F - textSize.Y / 2.0F + 100), Color.White)
|
windowSize.Height - textSize.Y - 50), _textColor)
|
||||||
|
|
||||||
If ControllerHandler.IsConnected() Then
|
If ControllerHandler.IsConnected() Then
|
||||||
SpriteBatch.Draw(TextureManager.GetTexture("GUI\GamePad\xboxControllerButtonA"), New Rectangle(CInt(windowSize.Width / 2 - textSize.X / 2 + FontManager.GameJoltFont.MeasureString("Press ").X),
|
SpriteBatch.Draw(TextureManager.GetTexture("GUI\GamePad\xboxControllerButtonA"), New Rectangle(CInt(windowSize.Width / 2 - textSize.X / 2 + FontManager.GameJoltFont.MeasureString("Press ").X),
|
||||||
CInt(windowSize.Height / 2 - textSize.Y / 2 + 98), 40, 40), Color.White)
|
CInt(windowSize.Height - textSize.Y - 50), 40, 40), Color.White)
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
@ -165,20 +232,6 @@ Public Class PressStartScreen
|
||||||
Canvas.DrawRectangle(windowSize, New Color(0, 0, 0, CInt(255 * _fadeIn)))
|
Canvas.DrawRectangle(windowSize, New Color(0, 0, 0, CInt(255 * _fadeIn)))
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub ChangeLevel()
|
|
||||||
Dim levelCount As Integer = 0
|
|
||||||
For Each levelPath As String In System.IO.Directory.GetFiles(GameController.GamePath & "\Content\Data\maps\mainmenu\")
|
|
||||||
Dim levelFile As String = System.IO.Path.GetFileName(levelPath)
|
|
||||||
If levelFile.StartsWith("mainmenu") = True And levelFile.EndsWith(".dat") = True Then
|
|
||||||
levelCount += 1
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
|
|
||||||
Dim levelID As Integer = Core.Random.Next(0, levelCount)
|
|
||||||
|
|
||||||
Level.Load("mainmenu\mainmenu" & levelID & ".dat")
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Public Overrides Sub ChangeTo()
|
Public Overrides Sub ChangeTo()
|
||||||
Core.Player.Unload()
|
Core.Player.Unload()
|
||||||
Core.Player.Skin = "Hilbert"
|
Core.Player.Skin = "Hilbert"
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
Imports GameDevCommon.Rendering
|
||||||
|
Imports GameDevCommon.Rendering.Composers
|
||||||
|
Imports GameDevCommon.Rendering.Texture
|
||||||
|
|
||||||
|
Namespace Screens.MainMenu.Scene
|
||||||
|
|
||||||
|
Public Class Clouds
|
||||||
|
|
||||||
|
Inherits MainMenuEntity
|
||||||
|
|
||||||
|
Public Sub New()
|
||||||
|
MyBase.New(New Vector3(0, -13, 0))
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Overrides Sub LoadContent()
|
||||||
|
Texture = TextureManager.LoadDirect("GUI\MainMenu\clouds.png")
|
||||||
|
|
||||||
|
MyBase.LoadContent()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Overrides Sub Update()
|
||||||
|
Position.X += 0.2F
|
||||||
|
If Position.X >= 32.0F Then
|
||||||
|
Position.X = 0F
|
||||||
|
End If
|
||||||
|
|
||||||
|
CreateWorld()
|
||||||
|
MyBase.Update()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Protected Overrides Sub CreateGeometry()
|
||||||
|
|
||||||
|
Dim vertices = RectangleComposer.Create(320, 22, New TextureRectangle(0, 0, 10, 1))
|
||||||
|
VertexTransformer.Rotate(vertices, New Vector3(MathHelper.PiOver2, 0, 0))
|
||||||
|
Geometry.AddVertices(vertices)
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
|
|
||||||
|
End Namespace
|
|
@ -0,0 +1,43 @@
|
||||||
|
Imports GameDevCommon.Rendering
|
||||||
|
Imports GameDevCommon.Rendering.Composers
|
||||||
|
Imports GameDevCommon.Rendering.Texture
|
||||||
|
|
||||||
|
Namespace Screens.MainMenu.Scene
|
||||||
|
|
||||||
|
Public Class Ground
|
||||||
|
|
||||||
|
Inherits MainMenuEntity
|
||||||
|
|
||||||
|
Public Sub New()
|
||||||
|
MyBase.New(New Vector3(0, -13, 0))
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Overrides Sub LoadContent()
|
||||||
|
Texture = TextureManager.LoadDirect("GUI\MainMenu\ground.png")
|
||||||
|
|
||||||
|
MyBase.LoadContent()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Overrides Sub Update()
|
||||||
|
Position.X += 0.2F
|
||||||
|
If Position.X >= 32.0F Then
|
||||||
|
Position.X = 0F
|
||||||
|
End If
|
||||||
|
|
||||||
|
Position.Y = -50
|
||||||
|
|
||||||
|
CreateWorld()
|
||||||
|
MyBase.Update()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Protected Overrides Sub CreateGeometry()
|
||||||
|
|
||||||
|
Dim vertices = RectangleComposer.Create(320, 96, New TextureRectangle(0, 0, 10, 1))
|
||||||
|
VertexTransformer.Rotate(vertices, New Vector3(MathHelper.PiOver2, 0, 0))
|
||||||
|
Geometry.AddVertices(vertices)
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
|
|
||||||
|
End Namespace
|
|
@ -0,0 +1,97 @@
|
||||||
|
Imports GameDevCommon.Rendering
|
||||||
|
Imports GameDevCommon.Rendering.Composers
|
||||||
|
Imports GameDevCommon.Rendering.Texture
|
||||||
|
|
||||||
|
Namespace Screens.MainMenu.Scene
|
||||||
|
|
||||||
|
Public Class HoOh
|
||||||
|
|
||||||
|
Inherits MainMenuEntity
|
||||||
|
|
||||||
|
Private Shared _random As Random = New Random()
|
||||||
|
|
||||||
|
Private _entities As List(Of MainMenuEntity)
|
||||||
|
Private _textures As Texture2D()
|
||||||
|
Private _textureIndex As Integer = 0
|
||||||
|
Private _animationDelay As Integer = 10
|
||||||
|
|
||||||
|
Public Sub New(entities As List(Of MainMenuEntity))
|
||||||
|
MyBase.New(New Vector3(0, -13, 1))
|
||||||
|
Rotation.Y = -0.2F
|
||||||
|
_entities = entities
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Overrides Sub LoadContent()
|
||||||
|
Dim t = TextureManager.LoadDirect("GUI\MainMenu\hooh.png")
|
||||||
|
Dim colors = New Color(80 * 48 - 1) {}
|
||||||
|
Dim textures = New List(Of Texture2D)
|
||||||
|
|
||||||
|
For x = 0 To 4
|
||||||
|
|
||||||
|
t.GetData(0, New Rectangle(x * 80, 0, 80, 48), colors, 0, colors.Length)
|
||||||
|
Dim tex = New Texture2D(GraphicsDevice, 80, 48)
|
||||||
|
tex.SetData(colors)
|
||||||
|
textures.Add(tex)
|
||||||
|
|
||||||
|
Next
|
||||||
|
|
||||||
|
_textures = textures.ToArray()
|
||||||
|
|
||||||
|
Texture = _textures(_textureIndex)
|
||||||
|
|
||||||
|
MyBase.LoadContent()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Overrides Sub Update()
|
||||||
|
_animationDelay -= 1
|
||||||
|
If _animationDelay = 0 Then
|
||||||
|
_animationDelay = 8
|
||||||
|
_textureIndex += 1
|
||||||
|
If _textureIndex = _textures.Length Then
|
||||||
|
_textureIndex = 0
|
||||||
|
End If
|
||||||
|
|
||||||
|
Texture = _textures(_textureIndex)
|
||||||
|
|
||||||
|
For i = 0 To _random.Next(1, 4)
|
||||||
|
|
||||||
|
Dim particle = New HoOhParticle(Position +
|
||||||
|
New Vector3(6, GetParticleY() * 10, 0) +
|
||||||
|
New Vector3(_random.Next(-3, 4), _random.Next(-3, 4), 0), _random.Next(0, 4))
|
||||||
|
particle.LoadContent()
|
||||||
|
_entities.Add(particle)
|
||||||
|
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
|
||||||
|
CreateWorld()
|
||||||
|
MyBase.Update()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Protected Overrides Sub CreateGeometry()
|
||||||
|
|
||||||
|
Dim vertices = RectangleComposer.Create(37, 22)
|
||||||
|
VertexTransformer.Rotate(vertices, New Vector3(MathHelper.PiOver2, 0, 0))
|
||||||
|
Geometry.AddVertices(vertices)
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Function GetParticleY() As Integer
|
||||||
|
Select Case _textureIndex
|
||||||
|
Case 0
|
||||||
|
Return 1
|
||||||
|
Case 1
|
||||||
|
Return 0
|
||||||
|
Case 2
|
||||||
|
Return -1
|
||||||
|
Case 3
|
||||||
|
Return 1
|
||||||
|
Case 4
|
||||||
|
Return 1
|
||||||
|
End Select
|
||||||
|
Return 0
|
||||||
|
End Function
|
||||||
|
|
||||||
|
End Class
|
||||||
|
|
||||||
|
End Namespace
|
|
@ -0,0 +1,61 @@
|
||||||
|
Imports GameDevCommon.Rendering
|
||||||
|
Imports GameDevCommon.Rendering.Composers
|
||||||
|
Imports GameDevCommon.Rendering.Texture
|
||||||
|
|
||||||
|
Namespace Screens.MainMenu.Scene
|
||||||
|
|
||||||
|
Public Class HoOhParticle
|
||||||
|
|
||||||
|
Inherits MainMenuEntity
|
||||||
|
|
||||||
|
Private Shared _particleTexture As Texture2D
|
||||||
|
Private Shared _particleTextures As Dictionary(Of Integer, Texture2D) = New Dictionary(Of Integer, Texture2D)()
|
||||||
|
|
||||||
|
Private ReadOnly _texVariant As Integer
|
||||||
|
|
||||||
|
Public Sub New(position As Vector3, texVariant As Integer)
|
||||||
|
MyBase.New(position)
|
||||||
|
_texVariant = texVariant
|
||||||
|
IsOpaque = False
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Overrides Sub LoadContent()
|
||||||
|
If _particleTexture Is Nothing Then
|
||||||
|
_particleTexture = TextureManager.LoadDirect("GUI\MainMenu\hoohParticles.png")
|
||||||
|
For i = 0 To 3
|
||||||
|
Dim colors = New Color(5 * 5 - 1) {}
|
||||||
|
_particleTexture.GetData(0, New Rectangle(i * 5, 0, 5, 5), colors, 0, colors.Length)
|
||||||
|
Dim tex = New Texture2D(GraphicsDevice, 5, 5)
|
||||||
|
tex.SetData(colors)
|
||||||
|
_particleTextures.Add(i, tex)
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
|
||||||
|
Texture = _particleTextures(_texVariant)
|
||||||
|
|
||||||
|
MyBase.LoadContent()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Overrides Sub Update()
|
||||||
|
Position.X += 1
|
||||||
|
Alpha -= 0.02F
|
||||||
|
|
||||||
|
If Alpha <= 0F Then
|
||||||
|
ToBeRemoved = True
|
||||||
|
End If
|
||||||
|
|
||||||
|
CreateWorld()
|
||||||
|
MyBase.Update()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Protected Overrides Sub CreateGeometry()
|
||||||
|
|
||||||
|
Dim vertices = RectangleComposer.Create(4, 4)
|
||||||
|
VertexTransformer.Rotate(vertices, New Vector3(MathHelper.PiOver2, 0, 0))
|
||||||
|
Geometry.AddVertices(vertices)
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
|
|
||||||
|
End Namespace
|
|
@ -0,0 +1,79 @@
|
||||||
|
Imports GameDevCommon.Rendering
|
||||||
|
Imports GameDevCommon.Rendering.Composers
|
||||||
|
Imports GameDevCommon.Rendering.Texture
|
||||||
|
|
||||||
|
Namespace Screens.MainMenu.Scene
|
||||||
|
|
||||||
|
Public Class Lugia
|
||||||
|
|
||||||
|
Inherits MainMenuEntity
|
||||||
|
|
||||||
|
Private Shared _random As Random = New Random()
|
||||||
|
|
||||||
|
Private _entities As List(Of MainMenuEntity)
|
||||||
|
Private _textures As Texture2D()
|
||||||
|
Private _textureIndex As Integer = 0
|
||||||
|
Private _animationDelay As Integer = 10
|
||||||
|
|
||||||
|
Public Sub New(entities As List(Of MainMenuEntity))
|
||||||
|
MyBase.New(New Vector3(0, -13, 1))
|
||||||
|
Rotation.Y = -0.2F
|
||||||
|
_entities = entities
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Overrides Sub LoadContent()
|
||||||
|
Dim t = TextureManager.LoadDirect("GUI\MainMenu\lugia.png")
|
||||||
|
Dim colors = New Color(80 * 48 - 1) {}
|
||||||
|
Dim textures = New List(Of Texture2D)
|
||||||
|
|
||||||
|
For x = 0 To 3
|
||||||
|
|
||||||
|
t.GetData(0, New Rectangle(x * 80, 0, 80, 48), colors, 0, colors.Length)
|
||||||
|
Dim tex = New Texture2D(GraphicsDevice, 80, 48)
|
||||||
|
tex.SetData(colors)
|
||||||
|
textures.Add(tex)
|
||||||
|
|
||||||
|
Next
|
||||||
|
|
||||||
|
_textures = textures.ToArray()
|
||||||
|
|
||||||
|
Texture = _textures(_textureIndex)
|
||||||
|
|
||||||
|
MyBase.LoadContent()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Overrides Sub Update()
|
||||||
|
_animationDelay -= 1
|
||||||
|
If _animationDelay = 0 Then
|
||||||
|
_animationDelay = 12
|
||||||
|
_textureIndex += 1
|
||||||
|
If _textureIndex = _textures.Length Then
|
||||||
|
_textureIndex = 0
|
||||||
|
End If
|
||||||
|
|
||||||
|
Texture = _textures(_textureIndex)
|
||||||
|
|
||||||
|
For i = 0 To _random.Next(1, 4)
|
||||||
|
|
||||||
|
Dim particle = New LugiaParticle(Position + New Vector3(10, -5, 0))
|
||||||
|
particle.LoadContent()
|
||||||
|
_entities.Add(particle)
|
||||||
|
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
|
||||||
|
CreateWorld()
|
||||||
|
MyBase.Update()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Protected Overrides Sub CreateGeometry()
|
||||||
|
|
||||||
|
Dim vertices = RectangleComposer.Create(37, 22)
|
||||||
|
VertexTransformer.Rotate(vertices, New Vector3(MathHelper.PiOver2, 0, 0))
|
||||||
|
Geometry.AddVertices(vertices)
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
|
|
||||||
|
End Namespace
|
|
@ -0,0 +1,54 @@
|
||||||
|
Imports GameDevCommon.Rendering
|
||||||
|
Imports GameDevCommon.Rendering.Composers
|
||||||
|
Imports GameDevCommon.Rendering.Texture
|
||||||
|
|
||||||
|
Namespace Screens.MainMenu.Scene
|
||||||
|
|
||||||
|
Public Class LugiaParticle
|
||||||
|
|
||||||
|
Inherits MainMenuEntity
|
||||||
|
|
||||||
|
Private Shared _particleTexture As Texture2D
|
||||||
|
Dim _phase As Single
|
||||||
|
|
||||||
|
Public Sub New(position As Vector3)
|
||||||
|
MyBase.New(position)
|
||||||
|
IsOpaque = False
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Overrides Sub LoadContent()
|
||||||
|
If _particleTexture Is Nothing Then
|
||||||
|
_particleTexture = TextureManager.LoadDirect("GUI\MainMenu\lugiaParticle.png")
|
||||||
|
End If
|
||||||
|
|
||||||
|
Texture = _particleTexture
|
||||||
|
|
||||||
|
MyBase.LoadContent()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Overrides Sub Update()
|
||||||
|
_phase += 0.4F
|
||||||
|
|
||||||
|
Position.X += 1.2F
|
||||||
|
Position.Y += CType(Math.Sin(_phase), Single)
|
||||||
|
Alpha -= 0.01F
|
||||||
|
|
||||||
|
If Alpha <= 0F Then
|
||||||
|
ToBeRemoved = True
|
||||||
|
End If
|
||||||
|
|
||||||
|
CreateWorld()
|
||||||
|
MyBase.Update()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Protected Overrides Sub CreateGeometry()
|
||||||
|
|
||||||
|
Dim vertices = RectangleComposer.Create(8, 8)
|
||||||
|
VertexTransformer.Rotate(vertices, New Vector3(MathHelper.PiOver2, 0, 0))
|
||||||
|
Geometry.AddVertices(vertices)
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
|
|
||||||
|
End Namespace
|
|
@ -0,0 +1,24 @@
|
||||||
|
Namespace Screens.MainMenu.Scene
|
||||||
|
|
||||||
|
Public Class MainMenuCamera
|
||||||
|
|
||||||
|
Inherits GameDevCommon.Rendering.PerspectiveCamera
|
||||||
|
|
||||||
|
Public Sub New()
|
||||||
|
Pitch = 0
|
||||||
|
FOV = 45
|
||||||
|
Position = New Vector3(0, 0, 100)
|
||||||
|
|
||||||
|
CreateView()
|
||||||
|
CreateProjection()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Overrides Sub Update()
|
||||||
|
Yaw = -0.1F
|
||||||
|
|
||||||
|
CreateView()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
|
|
||||||
|
End Namespace
|
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue