1#pragma once
2
3#include "Library/Area/AreaObjGroup.h"
4
5namespace al {
6class AreaObjDirector;
7class PlayerHolder;
8
9class ClippingFarAreaObserver {
10public:
11 ClippingFarAreaObserver(const AreaObjDirector* areaObjDirector,
12 const PlayerHolder* playerHolder);
13 void endInit();
14 void setDefaultFarClipDistance(f32 distance);
15 void setDefaultFarClipDistanceSub(f32 distance);
16 void update();
17
18 f32 getFarClipDistance() const { return mFarClipDistance; }
19
20private:
21 const AreaObjDirector* mAreaObjDirector;
22 const PlayerHolder* mPlayerHolder;
23 const AreaObjGroup* mAreaObjGroup = nullptr;
24 AreaObj* mAreaObj = nullptr;
25 f32 mFarClipDistance = 7000.0f;
26 f32 mDefaultFarClipDistance = 7000.0f;
27 f32 mFarClipDistanceSub = 4000.0f;
28 f32 mDefaultFarClipDistanceSub = 4000.0f;
29};
30} // namespace al
31