这篇教程C++ ERR_FAIL_NULL函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中ERR_FAIL_NULL函数的典型用法代码示例。如果您正苦于以下问题:C++ ERR_FAIL_NULL函数的具体用法?C++ ERR_FAIL_NULL怎么用?C++ ERR_FAIL_NULL使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了ERR_FAIL_NULL函数的25个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: switchvoid ARVROrigin::_notification(int p_what) { switch (p_what) { case NOTIFICATION_ENTER_TREE: { set_process_internal(true); }; break; case NOTIFICATION_EXIT_TREE: { set_process_internal(false); }; break; case NOTIFICATION_INTERNAL_PROCESS: { // get our ARVRServer ARVRServer *arvr_server = ARVRServer::get_singleton(); ERR_FAIL_NULL(arvr_server); // set our world origin to our node transform arvr_server->set_world_origin(get_global_transform()); // check if we have a primary interface Ref<ARVRInterface> arvr_interface = arvr_server->get_primary_interface(); if (arvr_interface.is_valid() && tracked_camera != NULL) { // get our positioning transform for our headset Transform t = arvr_interface->get_transform_for_eye(ARVRInterface::EYE_MONO, Transform()); // now apply this to our camera tracked_camera->set_transform(t); }; }; break; default: break; };};
开发者ID:bigscorpions,项目名称:godot,代码行数:30,
示例2: ERR_FAIL_NULLvoid EditorResourcePreview::queue_edited_resource_preview(const Ref<Resource> &p_res, Object *p_receiver, const StringName &p_receiver_func, const Variant &p_userdata) { ERR_FAIL_NULL(p_receiver); ERR_FAIL_COND(!p_res.is_valid()); preview_mutex->lock(); String path_id = "ID:" + itos(p_res->get_instance_id()); if (cache.has(path_id) && cache[path_id].last_hash == p_res->hash_edited_version()) { cache[path_id].order = order++; p_receiver->call_deferred(p_receiver_func, path_id, cache[path_id].preview, p_userdata); preview_mutex->unlock(); return; } cache.erase(path_id); //erase if exists, since it will be regen //print_line("send to thread "+p_path); QueueItem item; item.function = p_receiver_func; item.id = p_receiver->get_instance_id(); item.resource = p_res; item.path = path_id; item.userdata = p_userdata; queue.push_back(item); preview_mutex->unlock(); preview_sem->post();}
开发者ID:rrrfffrrr,项目名称:godot,代码行数:31,
示例3: ERR_FAIL_NULLvoid Object::disconnect(const StringName& p_signal, Object *p_to_object, const StringName& p_to_method) { ERR_FAIL_NULL(p_to_object); Signal *s = signal_map.getptr(p_signal); if (!s) { ERR_EXPLAIN("Nonexistent signal: "+p_signal); ERR_FAIL_COND(!s); } if (s->lock>0) { ERR_EXPLAIN("Attempt to disconnect signal '"+p_signal+"' while emitting (locks: "+itos(s->lock)+")"); ERR_FAIL_COND(s->lock>0); } Signal::Target target(p_to_object->get_instance_ID(),p_to_method); if (!s->slot_map.has(target)) { ERR_EXPLAIN("Disconnecting nonexistent signal '"+p_signal+"', slot: "+itos(target._id)+":"+target.method); ERR_FAIL(); } p_to_object->connections.erase(s->slot_map[target].cE); s->slot_map.erase(target); if (s->slot_map.empty() && ObjectTypeDB::has_signal(get_type_name(),p_signal )) { //not user signal, delete signal_map.erase(p_signal); }}
开发者ID:Brickcaster,项目名称:godot,代码行数:28,
示例4: ERR_FAIL_NULLvoid Node::move_child(Node *p_child,int p_pos) { ERR_FAIL_NULL(p_child); ERR_EXPLAIN("Invalid new child position: "+itos(p_pos)); ERR_FAIL_INDEX( p_pos, data.children.size()+1 ); ERR_EXPLAIN("child is not a child of this node."); ERR_FAIL_COND(p_child->data.parent!=this); ERR_FAIL_COND(data.blocked>0); data.children.remove( p_child->data.pos ); data.children.insert( p_pos, p_child ); if (data.tree) { data.tree->tree_changed(); } data.blocked++; //new pos first for (int i=0;i<data.children.size();i++) { data.children[i]->data.pos=i; } // notification second move_child_notify(p_child); for (int i=0;i<data.children.size();i++) { data.children[i]->notification( NOTIFICATION_MOVED_IN_PARENT ); } data.blocked--;}
开发者ID:Martho42,项目名称:godot,代码行数:32,
示例5: ERR_FAIL_NULLvoid Camera2D::set_custom_viewport(Node *p_viewport) { ERR_FAIL_NULL(p_viewport); if (is_inside_tree()) { remove_from_group(group_name); remove_from_group(canvas_group_name); } custom_viewport = Object::cast_to<Viewport>(p_viewport); if (custom_viewport) { custom_viewport_id = custom_viewport->get_instance_id(); } else { custom_viewport_id = 0; } if (is_inside_tree()) { if (custom_viewport) viewport = custom_viewport; else viewport = get_viewport(); RID vp = viewport->get_viewport_rid(); group_name = "__cameras_" + itos(vp.get_id()); canvas_group_name = "__cameras_c" + itos(canvas.get_id()); add_to_group(group_name); add_to_group(canvas_group_name); }}
开发者ID:jejung,项目名称:godot,代码行数:29,
示例6: ERR_FAIL_NULLvoid ARVROrigin::set_world_scale(float p_world_scale) { // get our ARVRServer ARVRServer *arvr_server = ARVRServer::get_singleton(); ERR_FAIL_NULL(arvr_server); arvr_server->set_world_scale(p_world_scale);};
开发者ID:bigscorpions,项目名称:godot,代码行数:7,
示例7: ERR_FAIL_NULLvoid RayCast::add_exception(const Object* p_object){ ERR_FAIL_NULL(p_object); CollisionObject *co=((Object*)p_object)->cast_to<CollisionObject>(); if (!co) return; add_exception_rid(co->get_rid());}
开发者ID:AwsomeGameEngine,项目名称:godot,代码行数:8,
示例8: ERR_FAIL_NULLvoid Skeleton::unbind_child_node_from_bone(int p_bone, Node *p_node) { ERR_FAIL_NULL(p_node); ERR_FAIL_INDEX(p_bone, bones.size()); uint32_t id = p_node->get_instance_id(); bones.write[p_bone].nodes_bound.erase(id);}
开发者ID:dataxerik,项目名称:godot,代码行数:8,
示例9: ERR_FAIL_NULLvoid RayCast2D::remove_exception(const Object* p_object){ ERR_FAIL_NULL(p_object); CollisionObject2D *co=((Object*)p_object)->cast_to<CollisionObject2D>(); if (!co) return; remove_exception_rid(co->get_rid());}
开发者ID:3miu,项目名称:godot,代码行数:8,
示例10: ERR_FAIL_NULLvoid Range::share(Range *p_range) { ERR_FAIL_NULL(p_range); p_range->_ref_shared(shared); p_range->_changed_notify(); p_range->_value_changed_notify();}
开发者ID:GalanCM,项目名称:godot,代码行数:8,
示例11: ERR_FAIL_NULLvoid RayCast2D::add_exception(const Object *p_object) { ERR_FAIL_NULL(p_object); const CollisionObject2D *co = Object::cast_to<CollisionObject2D>(p_object); if (!co) return; add_exception_rid(co->get_rid());}
开发者ID:KellyThomas,项目名称:godot,代码行数:8,
示例12: get_parentvoid BTCompositeNode::add_child_node(BTNode& child, Vector<BehaviorTree::Node*>& node_hierarchy) { BTNode* p_parent = get_parent() ? get_parent()->cast_to<BTNode>() : NULL; ERR_EXPLAIN("Parent node is not a BTNode."); ERR_FAIL_NULL(p_parent); if (p_parent) { node_hierarchy.push_back(get_behavior_node()); p_parent->add_child_node(child, node_hierarchy); }}
开发者ID:AntonioModer,项目名称:godot_behavior_tree,代码行数:9,
示例13: ERR_FAIL_NULLvoid PopupPanel::set_child_rect(Control *p_child) { ERR_FAIL_NULL(p_child); Ref<StyleBox> p = get_stylebox("panel"); p_child->set_area_as_parent_rect(); for (int i = 0; i < 4; i++) { p_child->set_margin(Margin(i), p->get_margin(Margin(i))); }}
开发者ID:Max-Might,项目名称:godot,代码行数:9,
示例14: ERR_FAIL_NULLvoid SoftBody::remove_collision_exception_with(Node *p_node) { ERR_FAIL_NULL(p_node); CollisionObject *collision_object = Object::cast_to<CollisionObject>(p_node); if (!collision_object) { ERR_EXPLAIN("Collision exception only works between two CollisionObject"); } ERR_FAIL_COND(!collision_object); PhysicsServer::get_singleton()->soft_body_remove_collision_exception(physics_rid, collision_object->get_rid());}
开发者ID:KellyThomas,项目名称:godot,代码行数:9,
示例15: godot_arvr_set_controller_axisvoid GDAPI godot_arvr_set_controller_axis(godot_int p_controller_id, godot_int p_axis, godot_real p_value, godot_bool p_can_be_negative) { ARVRServer *arvr_server = ARVRServer::get_singleton(); ERR_FAIL_NULL(arvr_server); InputDefault *input = (InputDefault *)Input::get_singleton(); ERR_FAIL_NULL(input); ARVRPositionalTracker *tracker = arvr_server->find_by_type_and_id(ARVRServer::TRACKER_CONTROLLER, p_controller_id); if (tracker != NULL) { int joyid = tracker->get_joy_id(); if (joyid != -1) { InputDefault::JoyAxis jx; jx.min = p_can_be_negative ? -1 : 0; jx.value = p_value; input->joy_axis(joyid, p_axis, jx); } }}
开发者ID:Ranakhamis,项目名称:godot,代码行数:18,
示例16: ERR_FAIL_NULLvoid PhysicsBody::remove_collision_exception_with(Node* p_node) { ERR_FAIL_NULL(p_node); PhysicsBody *physics_body = p_node->cast_to<PhysicsBody>(); if (!physics_body) { ERR_EXPLAIN("Collision exception only works between two objects of PhysicsBody type"); } ERR_FAIL_COND(!physics_body); PhysicsServer::get_singleton()->body_remove_collision_exception(get_rid(),physics_body->get_rid());}
开发者ID:hiltonm,项目名称:godot,代码行数:10,
示例17: ERR_FAIL_NULLvoid VisualServerRaster::request_frame_drawn_callback(Object *p_where, const StringName &p_method, const Variant &p_userdata) { ERR_FAIL_NULL(p_where); FrameDrawnCallbacks fdc; fdc.object = p_where->get_instance_id(); fdc.method = p_method; fdc.param = p_userdata; frame_drawn_callbacks.push_back(fdc);}
开发者ID:Paulloz,项目名称:godot,代码行数:10,
示例18: ERR_FAIL_NULLvoid Array::sort_custom(Object *p_obj,const StringName& p_function){ ERR_FAIL_NULL(p_obj); SortArray<Variant,_ArrayVariantSortCustom> avs; avs.compare.obj=p_obj; avs.compare.func=p_function; avs.sort(_p->array.ptr(),_p->array.size());}
开发者ID:AMG194,项目名称:godot,代码行数:10,
示例19: ERR_FAIL_NULLvoid Node::set_editable_instance(Node* p_node,bool p_editable) { ERR_FAIL_NULL(p_node); ERR_FAIL_COND(!is_a_parent_of(p_node)); NodePath p = get_path_to(p_node); if (!p_editable) data.editable_instances.erase(p); else data.editable_instances[p]=true;}
开发者ID:GovanifY,项目名称:godot,代码行数:11,
示例20: ERR_FAIL_NULLvoid ARVRInterface::set_is_primary(bool p_is_primary) { ARVRServer *arvr_server = ARVRServer::get_singleton(); ERR_FAIL_NULL(arvr_server); if (p_is_primary) { ERR_FAIL_COND(!is_initialized()); arvr_server->set_primary_interface(this); } else { arvr_server->clear_primary_interface_if(this); };};
开发者ID:UgisBrekis,项目名称:godot,代码行数:12,
示例21: godot_arvr_remove_controllervoid GDAPI godot_arvr_remove_controller(godot_int p_controller_id) { ARVRServer *arvr_server = ARVRServer::get_singleton(); ERR_FAIL_NULL(arvr_server); InputDefault *input = (InputDefault *)Input::get_singleton(); ERR_FAIL_NULL(input); ARVRPositionalTracker *remove_tracker = arvr_server->find_by_type_and_id(ARVRServer::TRACKER_CONTROLLER, p_controller_id); if (remove_tracker != NULL) { // unset our joystick if applicable int joyid = remove_tracker->get_joy_id(); if (joyid != -1) { input->joy_connection_changed(joyid, false, "", ""); remove_tracker->set_joy_id(-1); } // remove our tracker from our server arvr_server->remove_tracker(remove_tracker); memdelete(remove_tracker); }}
开发者ID:Ranakhamis,项目名称:godot,代码行数:21,
示例22: ERR_FAIL_NULLvoid ARVRPositionalTracker::set_type(ARVRServer::TrackerType p_type) { if (type != p_type) { type = p_type; hand = ARVRPositionalTracker::TRACKER_HAND_UNKNOWN; ARVRServer *arvr_server = ARVRServer::get_singleton(); ERR_FAIL_NULL(arvr_server); // get a tracker id for our type // note if this is a controller this will be 3 or higher but we may change it later. tracker_id = arvr_server->get_free_tracker_id_for_type(p_type); };};
开发者ID:UgisBrekis,项目名称:godot,代码行数:13,
示例23: godot_arvr_set_controller_transformvoid GDAPI godot_arvr_set_controller_transform(godot_int p_controller_id, godot_transform *p_transform, godot_bool p_tracks_orientation, godot_bool p_tracks_position) { ARVRServer *arvr_server = ARVRServer::get_singleton(); ERR_FAIL_NULL(arvr_server); ARVRPositionalTracker *tracker = arvr_server->find_by_type_and_id(ARVRServer::TRACKER_CONTROLLER, p_controller_id); if (tracker != NULL) { Transform *transform = (Transform *)p_transform; if (p_tracks_orientation) { tracker->set_orientation(transform->basis); } if (p_tracks_position) { tracker->set_rw_position(transform->origin); } }}
开发者ID:Ranakhamis,项目名称:godot,代码行数:15,
示例24: ERR_FAIL_NULLvoid EditorSelection::remove_node(Node *p_node) { ERR_FAIL_NULL(p_node); if (!selection.has(p_node)) return; changed = true; nl_changed = true; Object *meta = selection[p_node]; if (meta) memdelete(meta); selection.erase(p_node); p_node->disconnect("tree_exiting", this, "_node_removed"); //emit_signal("selection_changed");}
开发者ID:93i,项目名称:godot,代码行数:16,
示例25: ERR_FAIL_NULLvoid ARVRServer::remove_tracker(ARVRPositionalTracker *p_tracker) { ERR_FAIL_NULL(p_tracker); int idx = -1; for (int i = 0; i < trackers.size(); i++) { if (trackers[i] == p_tracker) { idx = i; break; }; }; ERR_FAIL_COND(idx == -1); emit_signal("tracker_removed", p_tracker->get_name(), p_tracker->get_type(), p_tracker->get_tracker_id()); trackers.remove(idx);};
开发者ID:d-stewart,项目名称:godot,代码行数:18,
注:本文中的ERR_FAIL_NULL函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ ERR_FATAL函数代码示例 C++ ERR_FAIL_INDEX_V函数代码示例 |