добавил Игры, нужно разобраться с передачей команд в игру
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
unit uCreateGame;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
System.SysUtils, System.Types, System.UITypes, System.Classes,
|
||||
System.Variants,
|
||||
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Edit,
|
||||
FMX.EditBox, FMX.SpinBox, FMX.ListBox, FMX.StdCtrls,
|
||||
FMX.Controls.Presentation,
|
||||
System.Generics.Collections, IOUtils;
|
||||
|
||||
type
|
||||
TfCreateGame = class(TForm)
|
||||
Button1: TButton;
|
||||
Label1: TLabel;
|
||||
cbGames: TComboBox;
|
||||
Label2: TLabel;
|
||||
sbWebServerPort: TSpinBox;
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure Button1Click(Sender: TObject);
|
||||
private
|
||||
{ Private declarations }
|
||||
public
|
||||
{ Public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
fCreateGame: TfCreateGame;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.fmx}
|
||||
|
||||
uses uGeneral;
|
||||
|
||||
function GetGameFolders(const ARootDir: string): TArray<string>;
|
||||
var
|
||||
gamesPath: string;
|
||||
folders: TStringDynArray;
|
||||
i: Integer;
|
||||
begin
|
||||
// Ôîðìèðóåì ïîëíûé ïóòü ê ïàïêå ñ èãðàìè
|
||||
gamesPath := IncludeTrailingPathDelimiter(ARootDir) + 'games';
|
||||
|
||||
// Ïðîâåðÿåì ñóùåñòâîâàíèå ïàïêè
|
||||
if not TDirectory.Exists(gamesPath) then
|
||||
begin
|
||||
SetLength(Result, 0);
|
||||
Exit;
|
||||
end;
|
||||
|
||||
// Ïîëó÷àåì ñïèñîê ïîäïàïîê
|
||||
folders := TDirectory.GetDirectories(gamesPath);
|
||||
SetLength(Result, Length(folders));
|
||||
|
||||
// Èçâëåêàåì òîëüêî èìåíà ïàïîê (áåç ïîëíîãî ïóòè)
|
||||
for i := 0 to High(folders) do
|
||||
Result[i] := ExtractFileName(ExcludeTrailingPathDelimiter(folders[i]));
|
||||
end;
|
||||
|
||||
procedure TfCreateGame.Button1Click(Sender: TObject);
|
||||
begin
|
||||
if cbGames.Text = '' then
|
||||
Exit;
|
||||
TTW_Bot.frOBS1.addGame(cbGames.Text, round(sbWebServerPort.Value));
|
||||
close;
|
||||
end;
|
||||
|
||||
procedure TfCreateGame.FormCreate(Sender: TObject);
|
||||
var
|
||||
gameFolders: TArray<string>;
|
||||
folder: string;
|
||||
begin
|
||||
// Ïîëó÷àåì ñïèñîê èãðîâûõ ïàïîê
|
||||
gameFolders := GetGameFolders(ExtractFilePath(ParamStr(0)));
|
||||
// Óêàæèòå âàø êîðíåâîé ïóòü
|
||||
|
||||
// Çàïîëíÿåì ñïèñîê (íàïðèìåð, TComboBox)
|
||||
cbGames.Items.BeginUpdate;
|
||||
try
|
||||
cbGames.Items.Clear;
|
||||
for folder in gameFolders do
|
||||
cbGames.Items.Add(folder);
|
||||
finally
|
||||
cbGames.Items.EndUpdate;
|
||||
end;
|
||||
|
||||
if cbGames.Items.Count > 0 then
|
||||
cbGames.ItemIndex := 0;
|
||||
end;
|
||||
|
||||
end.
|
||||
Reference in New Issue
Block a user