コード例 #1
0
ファイル: formula_callable.hpp プロジェクト: Marjoe/frogatto
	variant query_value_by_slot(int slot) const {
		return get_value_by_slot(slot);
	}
コード例 #2
0
variant playable_custom_object::get_value(const std::string& key) const
{
	if(key.substr(0, 11) == "difficulty_") {
		return variant(difficulty::from_string(key.substr(11)));		
	} else if(key == "difficulty") {
		return get_value_by_slot(CUSTOM_OBJECT_PLAYER_DIFFICULTY);
	} else if(key == "can_interact") {
		return get_value_by_slot(CUSTOM_OBJECT_PLAYER_CAN_INTERACT);
	} else if(key == "underwater_controls") {
		return get_value_by_slot(CUSTOM_OBJECT_PLAYER_UNDERWATER_CONTROLS);
	} else if(key == "ctrl_mod_key") {
		return get_value_by_slot(CUSTOM_OBJECT_PLAYER_CTRL_MOD_KEY);
	} else if(key == "ctrl_keys") {
		return get_value_by_slot(CUSTOM_OBJECT_PLAYER_CTRL_KEYS);
	} else if(key == "ctrl_mice") {
		return get_value_by_slot(CUSTOM_OBJECT_PLAYER_CTRL_MICE);
	} else if(key == "ctrl_tilt") {
		return get_value_by_slot(CUSTOM_OBJECT_PLAYER_CTRL_TILT);
	} else if(key == "ctrl_x") {
		return get_value_by_slot(CUSTOM_OBJECT_PLAYER_CTRL_X);
	} else if(key == "ctrl_y") {
		return get_value_by_slot(CUSTOM_OBJECT_PLAYER_CTRL_Y);
	} else if(key == "ctrl_reverse_ab") {
		return get_value_by_slot(CUSTOM_OBJECT_PLAYER_CTRL_REVERSE_AB);
	} else if(key == "control_scheme") {
		return get_value_by_slot(CUSTOM_OBJECT_PLAYER_CONTROL_SCHEME);
	}

	for(int n = 0; n < sizeof(ctrl)/sizeof(*ctrl); ++n) {
		if(key == ctrl[n]) {
			return variant(control_status(static_cast<controls::CONTROL_ITEM>(n)));
		}
	}

	if(key == "ctrl_user") {
		return control_status_user();
	}

	if(key == "player") {
		return variant::from_bool(true);
	} else if(key == "vertical_look") {
		return get_value_by_slot(CUSTOM_OBJECT_PLAYER_VERTICAL_LOOK);
	}

	return custom_object::get_value(key);
}