@@ -72,6 +72,8 @@ public LaunchSettings(string[] args)
72
72
_flagMap . Add ( identifier , flag ) ;
73
73
}
74
74
75
+ int startIdx = 0 ;
76
+
75
77
// infer roblox launch uris
76
78
if ( Args . Length >= 1 )
77
79
{
@@ -80,23 +82,31 @@ public LaunchSettings(string[] args)
80
82
if ( arg . StartsWith ( "roblox:" , StringComparison . OrdinalIgnoreCase )
81
83
|| arg . StartsWith ( "roblox-player:" , StringComparison . OrdinalIgnoreCase ) )
82
84
{
85
+ App . Logger . WriteLine ( LOG_IDENT , "Got Roblox player argument" ) ;
83
86
RobloxLaunchMode = LaunchMode . Player ;
84
87
RobloxLaunchArgs = arg ;
88
+ startIdx = 1 ;
85
89
}
86
90
}
87
91
88
92
// parse
89
- for ( int i = 0 ; i < Args . Length ; i ++ )
93
+ for ( int i = startIdx ; i < Args . Length ; i ++ )
90
94
{
91
95
string arg = Args [ i ] ;
92
96
93
97
if ( ! arg . StartsWith ( '-' ) )
98
+ {
99
+ App . Logger . WriteLine ( LOG_IDENT , $ "Invalid argument: { arg } ") ;
94
100
continue ;
101
+ }
95
102
96
103
string identifier = arg [ 1 ..] ;
97
104
98
105
if ( ! _flagMap . TryGetValue ( identifier , out LaunchFlag ? flag ) || flag is null )
106
+ {
107
+ App . Logger . WriteLine ( LOG_IDENT , $ "Unknown argument: { identifier } ") ;
99
108
continue ;
109
+ }
100
110
101
111
flag . Active = true ;
102
112
@@ -119,31 +129,48 @@ public LaunchSettings(string[] args)
119
129
120
130
private void ParsePlayer ( string ? data )
121
131
{
132
+ const string LOG_IDENT = "LaunchSettings::ParsePlayer" ;
133
+
122
134
RobloxLaunchMode = LaunchMode . Player ;
123
135
124
136
if ( ! String . IsNullOrEmpty ( data ) )
137
+ {
138
+ App . Logger . WriteLine ( LOG_IDENT , "Got Roblox launch arguments" ) ;
125
139
RobloxLaunchArgs = data ;
140
+ }
141
+ else
142
+ {
143
+ App . Logger . WriteLine ( LOG_IDENT , "No Roblox launch arguments were provided" ) ;
144
+ }
126
145
}
127
146
128
147
private void ParseStudio ( string ? data )
129
148
{
149
+ const string LOG_IDENT = "LaunchSettings::ParseStudio" ;
150
+
130
151
RobloxLaunchMode = LaunchMode . Studio ;
131
152
132
153
if ( String . IsNullOrEmpty ( data ) )
154
+ {
155
+ App . Logger . WriteLine ( LOG_IDENT , "No Roblox launch arguments were provided" ) ;
133
156
return ;
157
+ }
134
158
135
159
if ( data . StartsWith ( "roblox-studio:" ) )
136
160
{
161
+ App . Logger . WriteLine ( LOG_IDENT , "Got Roblox Studio launch arguments" ) ;
137
162
RobloxLaunchArgs = data ;
138
163
}
139
164
else if ( data . StartsWith ( "roblox-studio-auth:" ) )
140
165
{
166
+ App . Logger . WriteLine ( LOG_IDENT , "Got Roblox Studio Auth launch arguments" ) ;
141
167
RobloxLaunchMode = LaunchMode . StudioAuth ;
142
168
RobloxLaunchArgs = data ;
143
169
}
144
170
else
145
171
{
146
172
// likely a local path
173
+ App . Logger . WriteLine ( LOG_IDENT , "Got Roblox Studio local place file" ) ;
147
174
RobloxLaunchArgs = $ "-task EditFile -localPlaceFile \" { data } \" ";
148
175
}
149
176
}
0 commit comments