Files
PolyphiaGame/Scripts/MainMenu/MainMenu.cs
T
2025-05-12 18:07:43 -07:00

46 lines
1.7 KiB
C#

using Godot;
using System;
public partial class MainMenu : Control {
Options _Options;
Reference _Reference;
public override void _Ready() {
_Reference = GetNode<Reference>("/root/Reference");
_Options = GetNode<Options>( "/root/Options" );
_Reference.MainMenu = this;
}
void _on_settings_button_down() {
_Reference.SettingsFrame.ToggleSettingsVisibility();
}
public async void _on_join_game_pressed() {
SettingsFile sf = _Options._SettingsFile;
GameSettings gs = sf.Game;
string userN = gs.UserName;
string passW = gs.SessionToken;
(bool, Account) User = await _Reference.MistoxNet.TrySession( userN, passW );
if( User.Item1 ) {
_Reference.Lighting.Environment.SsrEnabled = sf.Display.ScreenSpaceReflections;
_Reference.Lighting.Environment.SsaoEnabled = sf.Display.ScreenSpaceAmbiantOcclusion;
_Reference.Lighting.Environment.SdfgiEnabled = sf.Display.GlobalIllumination;
_Reference.GameHandler.Visible = true;
_Reference.GameUI.Visible = true;
Visible = false;
_Options.Host = GetNode<TextEdit>("Host").Text;
_Reference.GameHandler.StartClient();
this.Visible = false;
_Reference.PreGame.Visible = true;
} else {
_Reference.Alert.PerformAlert( "Login failed" );
_Reference.SessionHandler.GetParent<Control>().Visible = true;
}
}
public void _on_start_server_pressed(){
_Reference.GameHandler.StartServer();
_Reference.MainMenu.Visible = false;
}
}