fix: 装备属性面板避让逻辑 + 多项功能更新
- item_tooltip_view.gd: 新增 avoid_rect 属性,tooltip 与装备窗口重叠时自动推到左侧 - inventory_ui.gd: 悬停装备时传入窗口矩形作为避让区域 - 包含其他累积的功能开发和测试文件
This commit is contained in:
@@ -53,6 +53,11 @@ public:
|
||||
void set_time_scale(double s) { time_scale = s; }
|
||||
double get_time_scale() const { return time_scale; }
|
||||
|
||||
// 40250 CActorInstance::SetMotionLoopCount. A positive value overrides the
|
||||
// current .msa LoopData count; zero restores the resource-defined count.
|
||||
void set_motion_loop_count(int count);
|
||||
int get_motion_loop_count() const { return motion_loop_count; }
|
||||
|
||||
// Crossfade duration (s) applied when anim_path changes while a clip is
|
||||
// already playing (PARITY §2.9). 0 = hard cut (old behaviour).
|
||||
void set_blend_time(double s) { blend_time = s < 0.0 ? 0.0 : s; }
|
||||
@@ -67,7 +72,7 @@ public:
|
||||
|
||||
// .msa metadata (empty / zero when anim_path is a raw .gr2).
|
||||
godot::Vector3 get_accumulation() const { return accumulation; }
|
||||
godot::Array get_events() const; // [{type,start_time,effect,sound,pos}, ...]
|
||||
godot::Array get_events() const; // detailed MotionEvent dictionaries, including type-specific payloads
|
||||
// Full affine pose in model GR2 coordinates, shared by CPU/GPU and blending.
|
||||
godot::Dictionary get_effect_bone_pose(const godot::String &bone);
|
||||
godot::Dictionary get_loop_data() const;
|
||||
@@ -97,6 +102,8 @@ private:
|
||||
bool playing = true;
|
||||
bool loop = true; // whole-clip playback mode; independent from .msa LoopData
|
||||
double time_scale = 1.0;
|
||||
int motion_loop_count = 0;
|
||||
bool motion_loop_override = false;
|
||||
double time = 0.0;
|
||||
double duration = 0.0;
|
||||
godot::String last_info;
|
||||
@@ -125,7 +132,7 @@ private:
|
||||
|
||||
Metin2Model *resolve_model() const;
|
||||
void apply_pose(double t);
|
||||
void dispatch_events(double from, double to);
|
||||
void dispatch_events(double from, double to, bool include_from = false);
|
||||
// .msa path -> real motion .gr2 path; passes plain .gr2 paths through.
|
||||
static godot::String resolve_anim_gr2(const godot::String &spec, const fmt::Msa &metadata);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user