1 #include "core/stuff-handler.h"
2 #include "core/window-redrawer.h"
3 #include "player/player-status.h"
4 #include "system/player-type-definition.h"
5 #include "system/redrawing-flags-updater.h"
6 #include "tracking/baseitem-tracker.h"
7 #include "tracking/health-bar-tracker.h"
10 * @brief 全更新処理をチェックして処理していく
12 void handle_stuff(PlayerType *player_ptr)
14 auto &rfu = RedrawingFlagsUpdater::get_instance();
15 if (rfu.any_stats()) {
16 update_creature(player_ptr);
20 redraw_stuff(player_ptr);
24 window_stuff(player_ptr);
30 * @param player_ptr プレイヤーへの参照ポインタ
31 * @param m_idx トラッキング対象のモンスターID。0の時キャンセル
34 void health_track(PlayerType *player_ptr, short m_idx)
36 if (m_idx && m_idx == player_ptr->riding) {
40 HealthBarTracker::get_instance().set_trackee(m_idx);
45 auto &rfu = RedrawingFlagsUpdater::get_instance();
46 static constexpr auto flags_srf = {
47 StatusRecalculatingFlag::COMBINATION,
48 StatusRecalculatingFlag::REORDER,
50 rfu.set_flags(flags_srf);
51 rfu.set_flag(SubWindowRedrawingFlag::INVENTORY);
55 bool redraw_player(PlayerType *player_ptr)
57 if (player_ptr->csp > player_ptr->msp) {
58 player_ptr->csp = player_ptr->msp;
61 auto &rfu = RedrawingFlagsUpdater::get_instance();
62 rfu.set_flag(MainWindowRedrawingFlag::MP);
63 static constexpr auto flags_srf = {
64 StatusRecalculatingFlag::COMBINATION,
65 StatusRecalculatingFlag::REORDER,
67 rfu.set_flags(flags_srf);
68 rfu.set_flag(SubWindowRedrawingFlag::INVENTORY);