本文整理汇总了C++中PoolStringArray::push_back方法的典型用法代码示例。如果您正苦于以下问题:C++ PoolStringArray::push_back方法的具体用法?C++ PoolStringArray::push_back怎么用?C++ PoolStringArray::push_back使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PoolStringArray
的用法示例。
在下文中一共展示了PoolStringArray::push_back方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: mono_array_to_PoolStringArray
PoolStringArray mono_array_to_PoolStringArray(MonoArray *p_array) {
PoolStringArray ret;
int length = mono_array_length(p_array);
for (int i = 0; i < length; i++) {
MonoString *elem = mono_array_get(p_array, MonoString *, i);
ret.push_back(mono_string_to_godot(elem));
}
return ret;
}
示例2: get_stored_values
Dictionary InstancePlaceholder::get_stored_values(bool p_with_order) {
Dictionary ret;
PoolStringArray order;
for (List<PropSet>::Element *E = stored_values.front(); E; E = E->next()) {
ret[E->get().name] = E->get().value;
if (p_with_order)
order.push_back(E->get().name);
};
if (p_with_order)
ret[".order"] = order;
return ret;
};
示例3: get_connected_inputs
PoolStringArray MIDIDriverCoreMidi::get_connected_inputs() {
PoolStringArray list;
for (int i = 0; i < connected_sources.size(); i++) {
MIDIEndpointRef source = connected_sources[i];
CFStringRef ref = NULL;
char name[256];
MIDIObjectGetStringProperty(source, kMIDIPropertyDisplayName, &ref);
CFStringGetCString(ref, name, sizeof(name), kCFStringEncodingUTF8);
CFRelease(ref);
list.push_back(name);
}
return list;
}
示例4: get_drag_data_fw
Variant EditorAutoloadSettings::get_drag_data_fw(const Point2& p_point, Control *p_control) {
if (autoload_cache.size() <= 1)
return false;
PoolStringArray autoloads;
TreeItem *next = tree->get_next_selected(NULL);
while (next) {
autoloads.push_back(next->get_text(0));
next = tree->get_next_selected(next);
}
if (autoloads.size() == 0 || autoloads.size() == autoload_cache.size())
return Variant();
VBoxContainer *preview = memnew( VBoxContainer );
int max_size = MIN(PREVIEW_LIST_MAX_SIZE, autoloads.size());
for (int i = 0; i < max_size; i++) {
Label *label = memnew( Label(autoloads[i]) );
label->set_self_modulate(Color(1,1,1,Math::lerp(1, 0, float(i)/PREVIEW_LIST_MAX_SIZE)));
preview->add_child(label);
}
tree->set_drop_mode_flags(Tree::DROP_MODE_INBETWEEN);
tree->set_drag_preview(preview);
Dictionary drop_data;
drop_data["type"] = "autoload";
drop_data["autoloads"] = autoloads;
return drop_data;
}
示例5: update_tree
void ConnectionsDock::update_tree() {
tree->clear();
if (!selectedNode)
return;
TreeItem *root = tree->create_item();
List<MethodInfo> node_signals;
selectedNode->get_signal_list(&node_signals);
//node_signals.sort_custom<_ConnectionsDockMethodInfoSort>();
bool did_script = false;
StringName base = selectedNode->get_class();
while (base) {
List<MethodInfo> node_signals;
Ref<Texture> icon;
String name;
if (!did_script) {
Ref<Script> scr = selectedNode->get_script();
if (scr.is_valid()) {
scr->get_script_signal_list(&node_signals);
if (scr->get_path().is_resource_file())
name = scr->get_path().get_file();
else
name = scr->get_class();
if (has_icon(scr->get_class(), "EditorIcons")) {
icon = get_icon(scr->get_class(), "EditorIcons");
}
}
} else {
ClassDB::get_signal_list(base, &node_signals, true);
if (has_icon(base, "EditorIcons")) {
icon = get_icon(base, "EditorIcons");
}
name = base;
}
TreeItem *pitem = NULL;
if (node_signals.size()) {
pitem = tree->create_item(root);
pitem->set_text(0, name);
pitem->set_icon(0, icon);
pitem->set_selectable(0, false);
pitem->set_editable(0, false);
pitem->set_custom_bg_color(0, get_color("prop_subsection", "Editor"));
node_signals.sort();
}
for (List<MethodInfo>::Element *E = node_signals.front(); E; E = E->next()) {
MethodInfo &mi = E->get();
String signaldesc;
signaldesc = mi.name + "(";
PoolStringArray argnames;
if (mi.arguments.size()) {
signaldesc += " ";
for (int i = 0; i < mi.arguments.size(); i++) {
PropertyInfo &pi = mi.arguments[i];
if (i > 0)
signaldesc += ", ";
String tname = "var";
if (pi.type == Variant::OBJECT && pi.class_name != StringName()) {
tname = pi.class_name.operator String();
} else if (pi.type != Variant::NIL) {
tname = Variant::get_type_name(pi.type);
}
signaldesc += tname + " " + (pi.name == "" ? String("arg " + itos(i)) : pi.name);
argnames.push_back(pi.name + ":" + tname);
}
signaldesc += " ";
}
signaldesc += ")";
TreeItem *item = tree->create_item(pitem);
item->set_text(0, signaldesc);
Dictionary sinfo;
sinfo["name"] = mi.name;
sinfo["args"] = argnames;
item->set_metadata(0, sinfo);
item->set_icon(0, get_icon("Signal", "EditorIcons"));
List<Object::Connection> connections;
selectedNode->get_signal_connection_list(mi.name, &connections);
for (List<Object::Connection>::Element *F = connections.front(); F; F = F->next()) {
//.........这里部分代码省略.........