예제 #1
0
    public override void _Ready()
    {
        hostWindow          = GetNode <WindowDialog>("HostWindow");
        joinWindow          = GetNode <WindowDialog>("JoinWindow");
        hostPortEdit        = (LineEdit)hostWindow.FindNode("PortEdit");
        joinHostEdit        = (LineEdit)joinWindow.FindNode("HostEdit");
        joinPortEdit        = (LineEdit)joinWindow.FindNode("PortEdit");
        easyModeCheckButton = (CheckButton)FindNode("EasyModeCheckButton");

        hostPortEdit.Text           = GameSettings.Instance.ServerPort.ToString();
        joinHostEdit.Text           = GameSettings.Instance.ClientHost;
        joinPortEdit.Text           = GameSettings.Instance.ClientPort.ToString();
        easyModeCheckButton.Pressed = GameSettings.Instance.Easy;

        FindNode("ExitButton").Connect("pressed", this, nameof(OnExitButtonPressed));
        FindNode("SettingsButton").Connect("pressed", this, nameof(OnSettingsButtonPressed));
        FindNode("NewGameButton").Connect("pressed", this, nameof(OnNewGameButtonPressed));
        FindNode("HostGameButton").Connect("pressed", this, nameof(OnHostGameButtonPressed));
        FindNode("JoinGameButton").Connect("pressed", this, nameof(OnJoinGameButtonPressed));
        easyModeCheckButton.Connect("toggled", this, nameof(OnEasyModeCheckButtonPressed));

        joinWindow.Connect("popup_hide", this, nameof(OnJoinWindoPopupHide));
        joinWindow.FindNode("CancelButton").Connect("pressed", this, nameof(OnJoinWindowCancelButtonPressed));
        joinWindow.FindNode("JoinButton").Connect("pressed", this, nameof(OnJoinWindowJoinButtonPressed));
        hostWindow.Connect("popup_hide", this, nameof(OnHostWindowPopupHide));
        hostWindow.FindNode("HostButton").Connect("pressed", this, nameof(OnHostWindowHostButtonPressed));

        Signals.PlayerUpdatedEvent += OnPlayerUpdated;
        GetTree().Connect("server_disconnected", this, nameof(OnServerDisconnected));
        GetTree().Connect("connection_failed", this, nameof(OnConnectionFailed));
    }
예제 #2
0
 void OnJoinWindowCancelButtonPressed()
 {
     joining = false;
     Client.Instance.CloseConnection();
     ((Button)joinWindow.FindNode("CancelButton")).Disabled = true;
     ((Button)joinWindow.FindNode("JoinButton")).Text       = "Join";
 }