2024-12-23 09:23:46 +08:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "../../VTInternal.hpp"
|
2024-12-23 22:21:50 +08:00
|
|
|
#include "CKLight.hpp"
|
2024-12-23 09:23:46 +08:00
|
|
|
|
|
|
|
namespace LibCmo::CK2::ObjImpls {
|
|
|
|
|
2024-12-23 22:21:50 +08:00
|
|
|
class CKTargetLight : public CKLight {
|
|
|
|
public:
|
|
|
|
CKTargetLight(CKContext* ctx, CK_ID ckid, CKSTRING name);
|
|
|
|
virtual ~CKTargetLight();
|
|
|
|
YYCC_DEL_CLS_COPY_MOVE(CKTargetLight);
|
|
|
|
|
|
|
|
virtual CK_CLASSID GetClassID(void) override {
|
|
|
|
return CK_CLASSID::CKCID_TARGETLIGHT;
|
|
|
|
}
|
|
|
|
|
2024-12-25 11:12:23 +08:00
|
|
|
virtual void PreDelete() override;
|
|
|
|
virtual void CheckPostDeletion() override;
|
2024-12-23 22:21:50 +08:00
|
|
|
|
|
|
|
// 2 RW funcions
|
|
|
|
virtual bool Save(CKStateChunk* chunk, CKFileVisitor* file, CKDWORD flags) override;
|
|
|
|
virtual bool Load(CKStateChunk* chunk, CKFileVisitor* file) override;
|
|
|
|
|
|
|
|
|
2024-12-25 11:12:23 +08:00
|
|
|
virtual CK3dEntity* GetTarget() const override;
|
|
|
|
virtual void SetTarget(CK3dEntity* target) override;
|
2024-12-23 22:21:50 +08:00
|
|
|
|
|
|
|
protected:
|
|
|
|
CK_ID m_Target3dEntity;
|
|
|
|
};
|
|
|
|
|
2024-12-23 09:23:46 +08:00
|
|
|
}
|