mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-01-20 04:34:48 +00:00
Standardizes Gamemodes to be an actual class with data and utility functions that can be parsed Adds inspector field handling for selecting gamemodes Updated Scene class to work with Gamemodes for the gamemode field Updates editor suite elements to be able to create SubScenes, SceneGroups and Gamemodes Adds ability to convert SimGroup to SubScene Updates BaseUI's chooselevel menu to have gamemode selection and filters shown levels based on selected gamemode
56 lines
1.5 KiB
C++
56 lines
1.5 KiB
C++
#pragma once
|
|
#ifndef SCENE_GROUP_H
|
|
#define SCENE_GROUP_H
|
|
|
|
#ifndef _SCENEOBJECT_H_
|
|
#include "scene/sceneObject.h"
|
|
#endif
|
|
|
|
class SceneGroup : public SceneObject
|
|
{
|
|
typedef SceneObject Parent;
|
|
|
|
public:
|
|
enum MaskBits
|
|
{
|
|
TransformMask = Parent::NextFreeMask << 0,
|
|
NextFreeMask = Parent::NextFreeMask << 1
|
|
};
|
|
|
|
public:
|
|
SceneGroup();
|
|
virtual ~SceneGroup();
|
|
|
|
DECLARE_CONOBJECT(SceneGroup);
|
|
DECLARE_CATEGORY("Object \t Collection");
|
|
|
|
static void initPersistFields();
|
|
|
|
// SimObject
|
|
bool onAdd() override;
|
|
void onRemove() override;
|
|
void onEditorEnable() override;
|
|
void onEditorDisable() override;
|
|
void inspectPostApply() override;
|
|
void onInspect(GuiInspector* inspector) override;
|
|
|
|
// NetObject
|
|
U32 packUpdate(NetConnection* conn, U32 mask, BitStream* stream) override;
|
|
void unpackUpdate(NetConnection* conn, BitStream* stream) override;
|
|
|
|
// SceneObject
|
|
void setTransform(const MatrixF& mat) override;
|
|
void setRenderTransform(const MatrixF& mat) override;
|
|
|
|
// Object management
|
|
void addObject(SimObject* object) override;
|
|
void removeObject(SimObject* object) override;
|
|
void recalculateBoundingBox();
|
|
|
|
///
|
|
bool buildPolyList(PolyListContext context, AbstractPolyList* polyList, const Box3F& box, const SphereF& sphere) override;
|
|
bool buildExportPolyList(ColladaUtils::ExportData* exportData, const Box3F& box, const SphereF&) override;
|
|
void getUtilizedAssets(Vector<StringTableEntry>* usedAssetsList) override;
|
|
};
|
|
#endif
|