cdcEngineDXHR/cdcRender/IRenderDrawable.h

21 lines
521 B
C
Raw Permalink Normal View History

2022-05-04 18:12:22 +00:00
#pragma once
#include <cstdint>
2023-05-02 16:49:53 +00:00
#include "UIActions.h"
2022-05-04 18:12:22 +00:00
namespace cdc {
class IRenderDrawable {
2022-05-10 13:02:42 +00:00
protected:
friend class DrawableList;
2023-06-18 14:52:20 +00:00
uint16_t typeID = 0; // 4, kDrawableTypeIDDefault
uint16_t order = 0; // 6
float sortZ = 0.0f; // 8
2022-05-04 18:12:22 +00:00
public:
virtual void draw(uint32_t funcSetIndex, IRenderDrawable *other) = 0;
virtual uint32_t compare(uint32_t funcSetIndex, IRenderDrawable *other) = 0;
2023-05-02 16:49:53 +00:00
virtual void buildUI(uint32_t funcSetIndex, UIActions&) {} // HACK
2022-05-10 13:02:42 +00:00
uint32_t getVtable() { return *(uint32_t*)this; }
2022-05-04 18:12:22 +00:00
};
}