Skip to content

Commit 833d322

Browse files
improvements
1 parent 9d05864 commit 833d322

5 files changed

Lines changed: 20 additions & 7 deletions

File tree

Code/ContextSystem/Contexts/GlobalVariableContext.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,16 @@ public override Result VerifyCurrentState()
4747

4848
protected override IEnumerator<float> Execute()
4949
{
50+
_variableContext.CreateLocalVariable = false;
51+
5052
using var definitionEnumerator = _variableContext.Run();
5153
while (definitionEnumerator.MoveNext()) yield return definitionEnumerator.Current;
52-
VariableIndex.AddGlobalVariable(_variableContext.DefinedVariable ?? throw new TosoksFuckedUpException());
54+
55+
if (_variableContext.DefinedVariable is null)
56+
{
57+
throw new TosoksFuckedUpException();
58+
}
59+
60+
VariableIndex.AddGlobalVariable(_variableContext.DefinedVariable);
5361
}
5462
}

Code/ContextSystem/Contexts/VariableDefinition/VariableDefinitionContext.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ namespace SER.Code.ContextSystem.Contexts.VariableDefinition;
1717
public abstract class VariableDefinitionContext : YieldingContext
1818
{
1919
public Variable? DefinedVariable;
20+
public bool CreateLocalVariable = true;
2021
}
2122

2223
public abstract class VariableDefinitionContext<TVarToken, TValue, TVariable>(TVarToken varToken) : VariableDefinitionContext
@@ -134,16 +135,17 @@ protected override IEnumerator<float> Execute()
134135
}
135136

136137
DefinedVariable = Variable.Create(varToken.Name, tValue);
137-
Script.AddLocalVariable(DefinedVariable);
138138
}
139139
else if (_parser is not null)
140140
{
141141
DefinedVariable = Variable.Create(varToken.Name, Value.Parse(_parser(), Script));
142-
Script.AddLocalVariable(DefinedVariable);
143142
}
144143
else
145144
{
146145
throw new AndrzejFuckedUpException();
147146
}
147+
148+
if (CreateLocalVariable)
149+
Script.AddLocalVariable(DefinedVariable);
148150
}
149151
}

Code/FlagSystem/Flags/CustomCommandFlag.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ public override Result OnScriptRunning(Script scr)
163163
return true;
164164
}
165165

166-
return $"A script using '{Name}' flag cannot be ran by any other mean than a custom command.";
166+
return $"Tried to run script by other mean than the '{Command.Command}' command, which is not allowed.";
167167
}
168168

169169
public class CustomCommand : ICommand, IUsageProvider, IHelpProvider

Code/FlagSystem/Flags/OnEventFlag.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ namespace SER.Code.FlagSystem.Flags;
88
[UsedImplicitly]
99
public class OnEventFlag : Flag
1010
{
11+
private string _event;
12+
1113
public override string Description =>
1214
"Binds a script to an in-game event. When the event happens, the script will execute. " +
1315
"Events can sometimes also carry information of their own, ";
@@ -25,7 +27,8 @@ public class OnEventFlag : Flag
2527
return "Too many arguments, only event name is allowed";
2628
}
2729

28-
if (EventHandler.ConnectEvent(inlineArgs.First(), ScriptName).HasErrored(out var error))
30+
_event = inlineArgs.First();
31+
if (EventHandler.ConnectEvent(_event, ScriptName).HasErrored(out var error))
2932
{
3033
return error;
3134
}
@@ -42,7 +45,7 @@ public override Result OnScriptRunning(Script scr)
4245
return true;
4346
}
4447

45-
return $"A script using '{Name}' flag cannot be ran by any other mean than an event.";
48+
return $"Tried to run script by other mean than the '{_event}' event, which is not allowed.";
4649
}
4750

4851
public override Argument[] Arguments => [];

Code/FlagSystem/ScriptFlagHandler.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ public static Result DoFlagsApproveExecution(Script scr)
7070
{
7171
if (flag.OnScriptRunning(scr).HasErrored(out var error))
7272
{
73-
Result rs = $"Script '{scr.Name}' cannot run due to flag '{flag.Name}'.";
73+
Result rs = $"Flag '{flag.Name}' disallows script execution.";
7474
return rs + error;
7575
}
7676
}

0 commit comments

Comments
 (0)