1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
#pragma once
#include "scripting/ade_api.h"
#include "model/model.h"
namespace scripting {
namespace api {
class modelinstance_h
{
protected:
int _pmi_id;
public:
explicit modelinstance_h(int pmi_id);
explicit modelinstance_h(polymodel_instance *pmi);
modelinstance_h();
polymodel_instance *Get() const;
int GetID() const;
polymodel *GetModel() const;
int GetModelID() const;
bool isValid() const;
};
DECLARE_ADE_OBJ(l_ModelInstanceTextures, modelinstance_h);
DECLARE_ADE_OBJ(l_ModelInstance, modelinstance_h);
class submodelinstance_h
{
protected:
int _pmi_id;
int _submodel_num;
public:
explicit submodelinstance_h(int pmi_id, int submodel_num);
explicit submodelinstance_h(polymodel_instance *pmi, int submodel_num);
submodelinstance_h();
polymodel_instance *GetModelInstance() const;
int GetModelInstanceID() const;
polymodel *GetModel() const;
int GetModelID() const;
submodel_instance *Get() const;
bsp_info *GetSubmodel() const;
int GetSubmodelIndex() const;
bool isValid() const;
};
DECLARE_ADE_OBJ(l_SubmodelInstance, submodelinstance_h);
class modelsubmodelinstances_h : public modelinstance_h
{
public:
modelsubmodelinstances_h(polymodel_instance *pmi);
modelsubmodelinstances_h();
};
DECLARE_ADE_OBJ(l_ModelSubmodelInstances, modelsubmodelinstances_h);
}
}
|