角色屬性面板包含裝備管理與屬性加點器。本文專注加點器實現,將 QXIcon 擴充為 IconTypes.RepeatButton 模式,模擬 NumericUpDown 連點行為。
case IconTypes.RepeatButton:
DispatcherTimer timer = new DispatcherTimer();
timer.Tick += (s, e) => { timer.Interval = TimeSpan.FromMilliseconds(Interval); RepeatClick(this, e); };
this.MouseEnter += (s, e) => { Container.Background = NewSource; };
this.MouseLeave += (s, e) => { Container.Background = _BodySource; timer.Stop(); };
this.MouseLeftButtonDown += (s, e) => { timer.Interval = TimeSpan.FromMilliseconds(Delay); timer.Start(); };
this.MouseLeftButtonUp += (s, e) => { timer.Stop(); e.Handled = true; };
break;
核心參數:
Delay:首次觸發延遲 (毫秒)Interval:連續觸發間隔 (毫秒)RepeatClick 事件:外部訂閱處理加點邏輯配合臨時屬性變數實現「加點即時預覽,確認後提交」模式:
初始狀態:智慧 30,魔法攻擊 460-615,雷射魔法傷害 ~600
加點後:智慧 200,魔法攻擊 3010-4015,雷射魔法傷害 ~3500
採用折中方案:介面即時反饋但需確認提交。其他常見模式:
面板類開發階段告一段落,後續將聚焦裝備、物品、技能的拖放系統實現。