Vertices Engine  v1.9.2.92
A Cross Platform game engine developed by Virtex Edge Design.
Loading...
Searching...
No Matches
VerticesEngine.Screens.vxModelViewer Class Reference

This is a basic model view class which allows for basic viewing and editing shader values of models as well as is inhertiable to add extra functions to it. More...

Inheritance diagram for VerticesEngine.Screens.vxModelViewer:
VerticesEngine.vxGameplayScene3D VerticesEngine.vxGameplaySceneBase VerticesEngine.vxGameplaySceneBase VerticesEngine.vxGameplaySceneBase VerticesEngine.vxGameplaySceneBase VerticesEngine.vxBaseScene VerticesEngine.vxBaseScene VerticesEngine.vxBaseScene VerticesEngine.vxBaseScene

Public Member Functions

override void LoadContent ()
 LoadContent will be called once per game and is the place to load all of your content.
 
override void UnloadContent ()
 Unload graphics content used by the game.
 
override void DrawScene ()
 Draws the scene.
 
- Public Member Functions inherited from VerticesEngine.vxGameplayScene3D
 vxGameplayScene3D (vxStartGameMode sandboxStartMode, string fileToOpen="", int numberOfPlayers=1)
 Constructor which starts the game as a Normal (Non-Networked) game.
 
override IEnumerator LoadContentAsync ()
 Loads content as part of a Coroutine allowing the game to update frames during the loading process.
 
virtual int GetNewEntityHandle ()
 Gets a new entity handle for this scene.
 
void PreDrawSelectedItems ()
 
void DrawSelectedItems ()
 
virtual bool IsSurface (vxEntity3D HoveredEntity)
 
override void SimulationStart ()
 Starts the Sandbox.
 
override void SimulationStop ()
 Stops the Sandbox.
 
vxPropertiesControl CreatePropertiesControl (string name)
 Creates a new properties control window in the right hand properties slider control.
 
override void ShowPauseScreen ()
 This Method Loads the Engine Base Pause Screen (PauseMenuScreen()), but more items might be needed to be added. Override to load your own Pause Screen.
 
void EnterScreenShotMode (Action callback)
 
vxEntity3D InstantiateItem (Type type, Vector3 position)
 Creates a New Sandbox Item using the specified type and position.
 
vxEntity3D AddSandboxItem< T > (Vector3 position)
 Adds a sandbox item of type 'T'.
 
vxEntity3D AddSandboxItem< T > (vxTransform World)
 Adds a sandbox item of type 'T'.
 
virtual vxEntity3D AddSandboxItem (string key, Matrix matrix4x4Transform)
 
virtual vxEntity3D AddSandboxItem (string key, vxTransform World)
 Adds the sandbox item. Returns the new items id.
 
virtual vxEntity3D GetNewEntity (string key)
 Returns a new instance based off of the returned key. This must be overridden by an inherited class.
 
virtual void DisposeOfTempPart ()
 Disposes of the Currently Created Temp Part.
 
virtual bool SelectionRayCastFilter (BroadPhaseEntry entry)
 The Ray Cast Filter for Picking.
 
virtual void HandleMouseRay (Ray ray)
 
override vxSerializableSceneBaseData InitSaveFile ()
 Initialises the Save File. If the XML Save file uses a different type, then this can be overridden.
 
override vxSerializableSceneBaseData DeserializeFile (string path)
 Returns a Deserializes the File. If you want to use a different type to Serialise than the base 'vxSerializableScene3DData' then you must override this or it will throw an error.
 
override vxSaveBusyScreen GetAsyncSaveScreen ()
 Gets the async save screen. Override this to provide a custom save screeen.
 
void RefreshImportedFile (string guid, string externalPath)
 Refreshes an imported file with the original path for the sepcified guid.
 
virtual void ImportFileToolbarItem_Clicked (object sender, vxUIControlClickEventArgs e)
 Imports the file toolbar item clicked.
 
- Public Member Functions inherited from VerticesEngine.vxGameplaySceneBase
 vxGameplaySceneBase (vxStartGameMode sandboxStartGameType=vxStartGameMode.GamePlay, string FilePath="", int NumberOfPlayers=1)
 Initializes a new instance of the T:VerticesEngine.vxSceneBase class.
 
void DebugMethodCall (string method, ConsoleColor ConsoleColor=ConsoleColor.Yellow)
 
GetSubSystem< T > ()
 Get the subsystem of type T
 
bool TryGetSubSystem< T > (out T subSystem)
 Tries to get the subsystem of type T
 
virtual vxFileInfo GetFileInfo ()
 
virtual void SaveFile (bool takeScreenshot, bool DoDump=false)
 Saves the current Sandbox File.
 
virtual void SaveSupportFiles ()
 Saves the support files such as as thumbnail and img. Override to add your own files.
 
virtual string GetExporterInfo ()
 This is a Verbose Debug info for which game saved the file.
 
virtual void AddForDisposal (vxEntity entity)
 
virtual void DumpFile ()
 
virtual void PackFile ()
 
void SpawnParticle (object key, vxGameObject emitter)
 Spawns a new particle using the specified key from the Particle System.
 
virtual void DrawBackground ()
 Draw's the background before proceeding with other drawing. This is useful for Skyboxes and backgrounds as a whole.
 
override void Draw ()
 Draws the gameplay screen.
 
- Public Member Functions inherited from VerticesEngine.vxBaseScene
virtual bool PlaySound (vxBaseScene sender, SoundEffect SoundEffect, float Volume=1, float Pitch=0)
 
void ExitScreen ()
 Tells the screen to go away. Unlike ScreenManager.RemoveScreen, which instantly kills the screen, this method respects the transition timings and will give the screen a chance to gradually transition off.
 
virtual void Dispose ()
 

Public Attributes

vxEntity3D Model
 
- Public Attributes inherited from VerticesEngine.vxGameplayScene3D
List< vxLightEntityLightItems = new List<vxLightEntity>()
 Collection of Lights in the Level.
 
Space PhyicsSimulation
 The main BEPU Physics Simulation Space used in the game.
 
ModelDrawer PhysicsDebugViewer
 Model Drawer for debugging the phsyics system.
 
vxSunEntity SunEmitter
 Manages the Sun Class.
 
bool IsEncodedIndexNeeded = true
 Is encoded index rendertarget needed for handling selection.
 
string CurrentlySelectedKey = ""
 Current Key being used too add new entities.
 
vxEnumAddMode AddMode = vxEnumAddMode.OnPlane
 
MouseClickState MouseClickState = MouseClickState.SelectItem
 
CharacterControllerInput character
 Player.
 
Vector3 PreviousIntersection = new Vector3()
 Previous Working Plane Intersection Point.
 
Vector3 OutofSight = new Vector3()
 "Out Of Sight" Position
 
bool IsRaySelectionEnabled = false
 Should Ray Selection Handling be enabled.
 
bool IsMouseOverSnapBox = false
 The boolean for if the mouse is over snap box or not for entity placement..
 
bool IsGridSnap = true
 The is grid snap.
 
Vector3 Intersection
 
vxSlideTabControl PropertiesTabControl
 Main Tab Control Which Holds All Properties.
 
vxPropertiesControl EntityPropertiesControl
 The vxScrollPanel control which is used too store Entity Properties. See the GetProperties Method for examples.
 
ISnapbox HoveredSnapBox
 
vxTransform HoveredSnapBoxWorld
 
vxEnumTerrainEditMode TerrainEditState = vxEnumTerrainEditMode.Sculpt
 
int TexturePaintType = 1
 
vxEnumFalloffRate FalloffRate
 
vxEnumAreaOfEffectMode AreaOfEffectMode
 
float RayCastLength = 1000
 This is the length to cast a ray during picking.
 
Func< BroadPhaseEntry, bool > rayCastFilter
 
vxEnumNetworkConnectionStatus ConnectionStatus
 
vxEnumNetworkPlayerRole PlayerNetworkRole = vxEnumNetworkPlayerRole.Client
 
- Public Attributes inherited from VerticesEngine.vxGameplaySceneBase
List< vxUtilCamera3DUtilCameras = new List<vxUtilCamera3D>()
 
ContentManager SceneContent
 The content manager for this scene. This is unloaded at the end of the scene.
 
vxNetworkGameType NetGameType = vxNetworkGameType.Local
 The type of the game, whether its a Local game or Networked.
 
bool IsStartBackground = false
 Is this level the start background.
 
bool IsGUIVisible = true
 Should the GUI be shown?
 
bool IsSceneDimmedOnCover = true
 Whether or not to dim the scene when it's covered by another screen.
 
readonly int NumberOfPlayers
 The number of players in this Scene. This must be set in the constructor.
 
float PauseAlpha
 This is the Pause Alpha Amount based off of the poisition the screen is in terms of transitioning too a new screen.
 
bool IsPausable = true
 Gets or sets a value indicating whether this instance is pausable.
 
vxViewportManager ViewportManager
 The viewport manager.
 
bool IsDumping = false
 
vxSerializableSceneBaseData SandBoxFile
 File Format.
 
Texture2D ThumbnailImage
 A thumbnail of the latest run.
 
string FilePath = ""
 
string FileName = "sandboxFile1"
 
vxOpenSandboxFileDialog OpenFileDialog
 An in game Open File Dialog too access files from specific directories.
 
Color BackBufferClearColor = Color.DarkMagenta
 The color to clear the back buffer with.
 
bool IsUIVisibilitySuppressed = false
 Is the UI Visibility suppressed. This is useful for certain cases in Screen shots.
 

Protected Member Functions

virtual vxEntity3D LoadModel ()
 
override Texture2D GenerateSandboxItemIcon (vxSandboxEntityRegistrationInfo EntityDescription)
 Generates a sandbox icon for a given entity description.
 
override void OnFirstUpdate ()
 Called at the start of this scenes first update/tick.
 
virtual void UpdateModel ()
 If the model requires special modfcation's each loop, you can override this method to provide it there.
 
- Protected Member Functions inherited from VerticesEngine.vxGameplayScene3D
override void InitialiseSubSystems ()
 Initialise your scenes subsystems here.
 
virtual void RefreshWorldPropertyControl ()
 
virtual void OnPostFileLoad ()
 This is called after the file is loaded but still during the asyc content load.
 
override void InitialisePhysics ()
 This Initalises the Physics System.
 
override void InitialiseCameras ()
 Initialises the cameras for this Scene. The number of Cameras used is based on the number of Players specified in the optional constructor argument. If you want multiply players but only one Camera, then overload this method.
 
void SetCameraViewports ()
 Sets the Camera Viewports.
 
virtual void OnInitialiseSkyBox ()
 Initialises the SkyBoxes and the Sun Entity.
 
virtual vxSkyBox OnSkyboxInit ()
 This returns the skybox. Override this to provide your own skybox.
 
override void OnInitialiseGUI ()
 This method is called near the end of the LoadContent method to load al GUI Items pertaining to the Sandbox including the toolbars and item registration.
 
virtual void InitContextMenu ()
 Called when the context menu is initialised. This is useful for upstream classes to use.
 
virtual vxSceneProperties InitWorldProperties ()
 
override void RegisterSandboxEntities ()
 Override this Method and add in your Register Sandbox Entities code.
 
virtual void OnShowSettingsDialog ()
 Shows the settings dialog for this level editor. This needs to be overriden.
 
virtual void OnShowEngineSettingsDialog ()
 
virtual void OnShowHelp ()
 
virtual void OnShowAbout ()
 
virtual void OnReportBug ()
 
virtual void OnGoToDiscord ()
 
virtual void OnGoToReddit ()
 
virtual void OnInitialiseUIEditorRibbonControls ()
 Initialises Editor Ribbon Controls. Override this to implement your own game specific ribbon controls.
 
virtual void OnInitialiseUIEditorRibbonContextTabs ()
 Called when initialising Editor Ribbon Context Tabs, such as tabs which are only visible during certain situations or contexts (Like Terrain Editing)
 
override void LoadParticlePools ()
 
void OnNewItemAdded (string key)
 
virtual Texture2D GenerateImportedItemIcon (string guid)
 
void DrawEntity (vxEntity3D entity, Matrix world, Matrix view, Matrix projection, Vector3 TempCamPos, string renderpass)
 
override void HandleInputBase ()
 Handles the input base.
 
virtual bool FilterSelection (vxEntity3D entity)
 
virtual void OnRayHit (RayCastResult RayCastResult)
 
virtual vxImportedEntity3D GetDefaultImportedEntity ()
 
override vxGameplaySceneBase OnNewSandbox ()
 Called when a New Sandbox file is called. Override this to provide your base class.
 
override vxSandboxFileLoadResult LoadXMLFile (string FilePath, int version)
 
virtual void ExportFileToolbarItem_Clicked (object sender, vxUIControlClickEventArgs e)
 Exports the Current File too an STL file.
 
virtual void RegisterImportedModel (string guid, string filepath, vxMesh model)
 Imports a model into the game, registers it and sets up it's guid.
 
virtual void AddNewImportedItemSandboxButton (string guid)
 
- Protected Member Functions inherited from VerticesEngine.vxGameplaySceneBase
virtual void InitialiseViewportManager ()
 Initialises the Viewport Manager.
 
virtual void SetupObjectPools ()
 
virtual void UnloadObjectPools ()
 
virtual T AddSystem< T > ()
 Add a subsystem of type vxISceneSubSystem. It must be scene subsystem.
 
virtual vxSandboxFileLoadResult LoadFile (string FilePath)
 
virtual void OnFileInfoLoad (vxFileInfo fileInfo)
 When File Info is Loaded. This is called before LoadFile(...) is called.
 
virtual Point GetPreviewImageSize ()
 
virtual Point GetThumbnailImageSize ()
 
virtual void OnLevelEditorNewFileToolbarItemClicked (object sender, vxUIControlClickEventArgs e)
 Start a New File.
 
virtual void OnLevelEditorNewFilePromptAccepted (object sender, PlayerIndexEventArgs e)
 When to do when the New File button is clicked. This must be overridden.
 
virtual void OnLevelEditorOpenFileToolbarItemClicked (object sender, vxUIControlClickEventArgs e)
 Event for Opening a File.
 
virtual void OnLevelEditorOpenFileDialogPromptAccepted (vxFileDialogItem file)
 
virtual vxGameplaySceneBase OnOpenSandboxFile (string filePath)
 Called when a New Sandbox file is called. Override this to provide your base class.
 
virtual void OnLevelEditorSaveBeforeCloseCheck_Accepted (object sender, PlayerIndexEventArgs e)
 
virtual void OnLevelEditorSaveBeforeCloseCheck_DontSave (object sender, PlayerIndexEventArgs e)
 
virtual void SaveFileAs (string saveAsMsg="Save the current file as...")
 
virtual void OnLevelEditorSaveFileToolbarItemClicked (object sender, vxUIControlClickEventArgs e)
 Event for Saving the Current File.
 
virtual void OnLevelEditorSaveAsFileToolbarItemClicked (object sender, vxUIControlClickEventArgs e)
 Event for Saving As the Current File.
 
- Protected Member Functions inherited from VerticesEngine.vxBaseScene
virtual void OnFirstDraw ()
 Called on the first draw of this scene.
 

Additional Inherited Members

- Static Public Member Functions inherited from VerticesEngine.vxGameplayScene3D
static void ProcessDirectory (string targetDirectory)
 
static void ProcessFile (string path)
 
- Static Public Attributes inherited from VerticesEngine.vxGameplayScene3D
static int SandboxItemButtonSize = 128
 
- Static Public Attributes inherited from VerticesEngine.vxGameplaySceneBase
const string IMG_PREVIEW_FILE_NAME = "preview.jpg"
 
const string IMG_THUMBNAIL_FILE_NAME = "thumbnail.png"
 
- Protected Attributes inherited from VerticesEngine.vxGameplayScene3D
vxEntity3D TempPart
 The Currently Selected Type of Entity to be added in the Sandbox.
 
vxContextMenuItem CntxtMenuViewProperties
 
vxSceneProperties _worldProperties
 
vxRibbonControl EditorRibbonControl
 
vxRibbonTabPage HomeTabPage
 
vxRibbonTabPage PlayTabPage
 
- Protected Attributes inherited from VerticesEngine.vxGameplaySceneBase
bool IsSandbox = true
 Is this a sandbox scene, if so then we will load any and all registered types. Otherwise you'll.
 
Dictionary< string, Type > TypeRegister = new Dictionary<string, Type>()
 
List< vxEntityDisposalQueue = new List<vxEntity>()
 
- Protected Attributes inherited from VerticesEngine.vxBaseScene
bool IsLoadingTimeMeasured = false
 
bool HideIfCovered = true
 
- Properties inherited from VerticesEngine.vxGameplayScene3D
Vector3 LightPositions [get, set]
 Gets or sets the light positions.
 
TimeOfDay TimeOfDay [get, set]
 What Time is it Mr. Wolf.
 
vxEnumSanboxEditMode SandboxEditMode [get, set]
 Gets or sets the sandbox edit mode.
 
new vxSerializableScene3DData SandBoxFile [get]
 File Format.
 
List< vxEntity3DSelectedItems [get]
 List of Current Selected Items.
 
vxEntity3D TempSandboxEntity [get]
 The current temporary sandbox entity. This can be null.
 
vxContextMenuControl ContextMenu [get]
 The avaialble Context menu control. This can be accessed with [LCtrl] + [Right Mouse Click].
 
vxSlideTabPage SandboxEntitySelector [get]
 
vxSceneProperties WorldProperties [get]
 The world properties.
 
Dictionary< string, vxSandboxEntityRegistrationInfoRegisteredSandboxItemTypes [get]
 This Dictionary contains a collection of all Registered items within the Sandbox.
 
- Properties inherited from VerticesEngine.vxGameplaySceneBase
List< vxCameraCameras [get]
 The cameras collection.
 
vxParticleSystemManager ParticleSystem [get]
 The particle system.
 
vxIPlayerProfile PlayerProfile [get]
 
vxUIManager UIManager [get]
 The Scene UI Manager.
 
string Title [get, set]
 The Level Title.
 
string Description [get, set]
 The Level Description.
 
string WorkshopID [get, set]
 
Texture2D DefaultTexture [get]
 Gets the default texture.
 
vxCommandManager CommandManager [get]
 The command manager to handle undo redos.
 
List< vxEntityEntities [get]
 The entity collection for this Scene.
 
List< vxEntity3DEditorEntities [get]
 Editor Entities.
 
vxEnumSandboxStatus SandboxCurrentState [get, set]
 Is the Sandbox In Testing Mode.
 
vxStartGameMode SandboxStartGameType [get, set]
 
virtual bool IsSandboxLevelContentFile [get]
 Is the sandbox level a content file or external/DLC?
 
Texture2D PreviewImage [get, set]
 The preview image used for this level.
 
bool IsNewSandboxFile [get]
 Returns back whether this is a new sandbox file.
 
- Properties inherited from VerticesEngine.vxBaseScene
bool IsPopup [get, protected set]
 Normally when one screen is brought up over the top of another, the first screen will transition off to make room for the new one. This property indicates whether the screen is only a small popup, in which case screens underneath it do not need to bother transitioning off.
 
bool IsRemoved [get, set]
 Has this scene been removed?
 
TimeSpan TransitionOnTime [get, protected set]
 Indicates how long the screen takes to transition on when it is activated.
 
TimeSpan TransitionOffTime [get, protected set]
 Indicates how long the screen takes to transition off when it is deactivated.
 
float TransitionPosition [get, protected set]
 Gets the current position of the screen transition, ranging from zero (fully active, no transition) to one (transitioned fully off to nothing).
 
float TransitionAlpha [get]
 Gets the current alpha of the screen transition, ranging from 1 (fully active, no transition) to 0 (transitioned fully off to nothing).
 
ScreenState ScreenState [get, protected set]
 Gets the current screen transition state.
 
bool IsExiting [get, set]
 There are two possible reasons why a screen might be transitioning off. It could be temporarily going away to make room for another screen that is on top of it, or it could be going away for good. This property indicates whether the screen is exiting for real: if set, the screen will automatically remove itself as soon as the transition finishes.
 
bool IsActive [get]
 Checks whether this screen is active and can respond to user input.
 
bool otherScreenHasFocus [get, set]
 
bool IsFirstLoop [get]
 Gets a value indicating whether this T:VerticesEngine.vxGameBaseScreen is first loop.
 
bool IsLoadingFile [get, set]
 Returns whether we're currently loading a file or not.
 
PlayerIndex? ControllingPlayer [get, set]
 Gets the index of the player who is currently controlling this screen, or null if it is accepting input from any player. This is used to lock the game to a specific player profile. The main menu responds to input from any connected gamepad, but whichever player makes a selection from this menu is given control over all subsequent screens, so other gamepads are inactive until the controlling player returns to the main menu.
 
bool IsContentLoaded [get, set]
 Has all the content been loaded yet?
 
bool coveredByOtherScreen [get, set]
 
- Events inherited from VerticesEngine.vxGameplayScene3D
EventHandler< EventArgs > ItemSelected
 The Event Fired when a New Item is Selected.
 
EventHandler< vxSandboxItemSelectedForInspectorEventArgsItemSelectedForInspector
 The event called when a property in the inspector is waiting for the user to select a game object.
 

Detailed Description

This is a basic model view class which allows for basic viewing and editing shader values of models as well as is inhertiable to add extra functions to it.

Member Function Documentation

◆ DrawScene()

override void VerticesEngine.Screens.vxModelViewer.DrawScene ( )
virtual

Draws the scene.

Parameters
gameTimeGame time.

Reimplemented from VerticesEngine.vxGameplaySceneBase.

◆ GenerateSandboxItemIcon()

override Texture2D VerticesEngine.Screens.vxModelViewer.GenerateSandboxItemIcon ( vxSandboxEntityRegistrationInfo EntityDescription)
protectedvirtual

Generates a sandbox icon for a given entity description.

Parameters
EntityDescription
Returns

Reimplemented from VerticesEngine.vxGameplayScene3D.

◆ LoadContent()

override void VerticesEngine.Screens.vxModelViewer.LoadContent ( )
virtual

LoadContent will be called once per game and is the place to load all of your content.

Reimplemented from VerticesEngine.vxGameplayScene3D.

◆ OnFirstUpdate()

override void VerticesEngine.Screens.vxModelViewer.OnFirstUpdate ( )
protectedvirtual

Called at the start of this scenes first update/tick.

Reimplemented from VerticesEngine.vxBaseScene.

◆ UnloadContent()

override void VerticesEngine.Screens.vxModelViewer.UnloadContent ( )
virtual

Unload graphics content used by the game.

Reimplemented from VerticesEngine.vxGameplayScene3D.

◆ UpdateModel()

virtual void VerticesEngine.Screens.vxModelViewer.UpdateModel ( )
protectedvirtual

If the model requires special modfcation's each loop, you can override this method to provide it there.

Parameters
gameTime

The documentation for this class was generated from the following file: