fix: 装备属性面板避让逻辑 + 多项功能更新

- item_tooltip_view.gd: 新增 avoid_rect 属性,tooltip 与装备窗口重叠时自动推到左侧
- inventory_ui.gd: 悬停装备时传入窗口矩形作为避让区域
- 包含其他累积的功能开发和测试文件
This commit is contained in:
shen
2026-09-21 16:38:59 -07:00
parent 1522a8a1a1
commit c93894313a
5498 changed files with 4558004 additions and 1442 deletions
@@ -0,0 +1,111 @@
/**************************************************************************/
/* sphere_mesh.cpp */
/**************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
/* https://godotengine.org */
/**************************************************************************/
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */
/* "Software"), to deal in the Software without restriction, including */
/* without limitation the rights to use, copy, modify, merge, publish, */
/* distribute, sublicense, and/or sell copies of the Software, and to */
/* permit persons to whom the Software is furnished to do so, subject to */
/* the following conditions: */
/* */
/* The above copyright notice and this permission notice shall be */
/* included in all copies or substantial portions of the Software. */
/* */
/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */
/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/**************************************************************************/
// THIS FILE IS GENERATED. EDITS WILL BE LOST.
#include <godot_cpp/classes/sphere_mesh.hpp>
#include <godot_cpp/core/class_db.hpp>
#include <godot_cpp/core/engine_ptrcall.hpp>
#include <godot_cpp/core/error_macros.hpp>
namespace godot {
void SphereMesh::set_radius(float p_radius) {
static GDExtensionMethodBindPtr _gde_method_bind = ::godot::gdextension_interface::classdb_get_method_bind(SphereMesh::get_class_static()._native_ptr(), StringName("set_radius")._native_ptr(), 373806689);
CHECK_METHOD_BIND(_gde_method_bind);
double p_radius_encoded;
PtrToArg<double>::encode(p_radius, &p_radius_encoded);
::godot::internal::_call_native_mb_no_ret(_gde_method_bind, _owner, &p_radius_encoded);
}
float SphereMesh::get_radius() const {
static GDExtensionMethodBindPtr _gde_method_bind = ::godot::gdextension_interface::classdb_get_method_bind(SphereMesh::get_class_static()._native_ptr(), StringName("get_radius")._native_ptr(), 1740695150);
CHECK_METHOD_BIND_RET(_gde_method_bind, (0.0));
return ::godot::internal::_call_native_mb_ret<double>(_gde_method_bind, _owner);
}
void SphereMesh::set_height(float p_height) {
static GDExtensionMethodBindPtr _gde_method_bind = ::godot::gdextension_interface::classdb_get_method_bind(SphereMesh::get_class_static()._native_ptr(), StringName("set_height")._native_ptr(), 373806689);
CHECK_METHOD_BIND(_gde_method_bind);
double p_height_encoded;
PtrToArg<double>::encode(p_height, &p_height_encoded);
::godot::internal::_call_native_mb_no_ret(_gde_method_bind, _owner, &p_height_encoded);
}
float SphereMesh::get_height() const {
static GDExtensionMethodBindPtr _gde_method_bind = ::godot::gdextension_interface::classdb_get_method_bind(SphereMesh::get_class_static()._native_ptr(), StringName("get_height")._native_ptr(), 1740695150);
CHECK_METHOD_BIND_RET(_gde_method_bind, (0.0));
return ::godot::internal::_call_native_mb_ret<double>(_gde_method_bind, _owner);
}
void SphereMesh::set_radial_segments(int32_t p_radial_segments) {
static GDExtensionMethodBindPtr _gde_method_bind = ::godot::gdextension_interface::classdb_get_method_bind(SphereMesh::get_class_static()._native_ptr(), StringName("set_radial_segments")._native_ptr(), 1286410249);
CHECK_METHOD_BIND(_gde_method_bind);
int64_t p_radial_segments_encoded;
PtrToArg<int64_t>::encode(p_radial_segments, &p_radial_segments_encoded);
::godot::internal::_call_native_mb_no_ret(_gde_method_bind, _owner, &p_radial_segments_encoded);
}
int32_t SphereMesh::get_radial_segments() const {
static GDExtensionMethodBindPtr _gde_method_bind = ::godot::gdextension_interface::classdb_get_method_bind(SphereMesh::get_class_static()._native_ptr(), StringName("get_radial_segments")._native_ptr(), 3905245786);
CHECK_METHOD_BIND_RET(_gde_method_bind, (0));
return ::godot::internal::_call_native_mb_ret<int64_t>(_gde_method_bind, _owner);
}
void SphereMesh::set_rings(int32_t p_rings) {
static GDExtensionMethodBindPtr _gde_method_bind = ::godot::gdextension_interface::classdb_get_method_bind(SphereMesh::get_class_static()._native_ptr(), StringName("set_rings")._native_ptr(), 1286410249);
CHECK_METHOD_BIND(_gde_method_bind);
int64_t p_rings_encoded;
PtrToArg<int64_t>::encode(p_rings, &p_rings_encoded);
::godot::internal::_call_native_mb_no_ret(_gde_method_bind, _owner, &p_rings_encoded);
}
int32_t SphereMesh::get_rings() const {
static GDExtensionMethodBindPtr _gde_method_bind = ::godot::gdextension_interface::classdb_get_method_bind(SphereMesh::get_class_static()._native_ptr(), StringName("get_rings")._native_ptr(), 3905245786);
CHECK_METHOD_BIND_RET(_gde_method_bind, (0));
return ::godot::internal::_call_native_mb_ret<int64_t>(_gde_method_bind, _owner);
}
void SphereMesh::set_is_hemisphere(bool p_is_hemisphere) {
static GDExtensionMethodBindPtr _gde_method_bind = ::godot::gdextension_interface::classdb_get_method_bind(SphereMesh::get_class_static()._native_ptr(), StringName("set_is_hemisphere")._native_ptr(), 2586408642);
CHECK_METHOD_BIND(_gde_method_bind);
int8_t p_is_hemisphere_encoded;
PtrToArg<bool>::encode(p_is_hemisphere, &p_is_hemisphere_encoded);
::godot::internal::_call_native_mb_no_ret(_gde_method_bind, _owner, &p_is_hemisphere_encoded);
}
bool SphereMesh::get_is_hemisphere() const {
static GDExtensionMethodBindPtr _gde_method_bind = ::godot::gdextension_interface::classdb_get_method_bind(SphereMesh::get_class_static()._native_ptr(), StringName("get_is_hemisphere")._native_ptr(), 36873697);
CHECK_METHOD_BIND_RET(_gde_method_bind, (false));
return ::godot::internal::_call_native_mb_ret<int8_t>(_gde_method_bind, _owner);
}
} // namespace godot