public static bool DeclareVar(VarType type, string name, string value) { switch (type) { case VarType.Integer: int newInt; EngineVar newIntVar = new EngineVar(); newIntVar.name = name; newIntVar.type = VarType.Integer; if (int.TryParse(value, out newInt)) { newIntVar.value = value; RegisterVar(newIntVar); } else { Logger.Put("Invalid var declaration!"); } return(true); case VarType.Boolean: bool newBool; EngineVar newBoolVar = new EngineVar(); newBoolVar.name = name; newBoolVar.type = VarType.Boolean; if (bool.TryParse(value, out newBool)) { newBoolVar.value = value; RegisterVar(newBoolVar); } else { Logger.Put("Invalid var declaration!"); } return(true); case VarType.String: EngineVar newStringVar = new EngineVar(); newStringVar.name = name; newStringVar.type = VarType.String; newStringVar.value = value; return(true); default: Logger.Put("Invalid var type!"); break; } return(false); }
public bool Execute(string[] cmdArgs) { if (cmdArgs.Length == 3) { EngineVar newVar = new EngineVar(); string varType = cmdArgs[0]; switch (varType) { case "int": if (!CommandManager.DeclareVar(VarType.Integer, cmdArgs[1], cmdArgs[2])) { return(false); } break; case "string": if (!CommandManager.DeclareVar(VarType.String, cmdArgs[1], cmdArgs[2])) { return(false); } break; case "bool": if (!CommandManager.DeclareVar(VarType.Boolean, cmdArgs[1], cmdArgs[2])) { return(false); } break; } if (newVar.type == VarType.String) { Logger.PutLine("Created new var $" + cmdArgs[1] + " with value \"" + cmdArgs[2] + "\"!"); } else { Logger.PutLine("Created new var $" + cmdArgs[1] + " with value " + cmdArgs[2] + "!"); } return(true); } return(false); }
public static void RegisterVar(EngineVar varToRegister) { registeredVars.Add(varToRegister.name, varToRegister); }