fysxasteroids/engine/VariablesCommands.cc

43 lines
885 B
C++

#include "Variables.h"
#include "SoundBaseGlobal.h"
namespace Engine {
bool Cmd_Set (const std::vector<std::string> args) {
if (args.size() != 2) {
CommandSetErrorString ("Usage: set <name> <value>\nSets variables <name> to value <value>.");
return false;
}
// special variable sound_volume
if (args[0] == "effects_volume") {
SetEffectsVolume(atof(args[1].c_str()));
return true;
}
// special variable music_volume
if (args[0] == "music_volume") {
SetMusicVolume(atof(args[1].c_str()));
return true;
}
Variable *test = GetVariable (args[0]);
if (test) {
test->SetStringValue (args[1]);
test->SetFloatValue (atof (args[1].c_str()));
test->SetBoolValueFromString (args[1]);
return true;
}
CommandSetErrorString ("Variable '" + args[0] +"' not found!");
return false;
}
void Variables::OnRegisterCommands () {
AddCommand ("set", Cmd_Set);
}
}