Book Image

Torque 3D Game Development Cookbook

By : DAVID WYAND
Book Image

Torque 3D Game Development Cookbook

By: DAVID WYAND

Overview of this book

Torque 3D is a popular game engine that supports you in every step along the way to making your game a reality. Even with all of the power and tools that Torque 3D provides, finishing a high quality 3D game requires time and knowledge."Torque 3D Game Development Cookbook" is a practical guide that takes you through each of the major steps on the journey to creating your game, while learning a few tricks along the way.The recipes in this book start off with learning some of the finer points about TorqueScript. The book then moves on to each of Torque 3D's subsystems and ends with a variety of game play recipes.The various topics covered include activating level-specific game code and scheduling game events, dragging and dropping items between windows to work with an in-game inventory system, and covering the seams between objects with well placed decals. Some of the advanced topics include writing custom shaders and postFX, using zones to improve rendering performance, and enhancing your game's ambience through sound.Once you are done with Torque 3D Game Development Cookbook you'll be on your way to creating amazing 3D games and gain expert knowledge of Torque 3D.
Table of Contents (17 chapters)
Torque 3D Game Development Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Creating a new internal name only SimObject instance


The internal name of a SimObject instance is not exposed to the world in the same way that its optional globally unique name is. We may access it using the internalName property of the SimObject instance and it is useful when searching for SimObject instances within a SimGroup or SimSet collection. When working with the GuiControl objects we will often make use of the internal name. Creating a new internal name only SimObject instance is a rarely used feature of TorqueScript, but we will learn to create it in this recipe.

How to do it...

Creating an internal name only SimObject instance is almost the same as creating an ordinary SimObject instance. The difference comes down to how we decorate the name we use. Here we will create a ScriptObject instance with an internal name, the simplest SimObject derived class, and assign it to a variable:

%object = new ScriptObject([MyScriptObject]);

How it works...

By surrounding the name of the SimObject instance with square brackets, Torque 3D automatically sets the internalName property of object rather than its globally unique name. If we call the getName() method on our new ScriptObject instance, it will return an empty string. But if we call the getInternalName() method, MyScriptObject will be returned.

There's more...

This shortcut to setting the internal name of a SimObject instance can be handy when working with GuiControl instances. The normal pattern works like the following:

new GuiWindowCtrl(MyDialog) {
   ... some properties here ...

   new GuiControl() {
      internalName = "control1";
      ... some properties here ...
   };
   new GuiControl() {
      internalName = "control2";
      ... some properties here ...
   };
};

With this pattern we have to set the internalName property of each GuiControl class manually. Using the special name decorators, the internalName property will be set automatically as follows:

new GuiWindowCtrl(MyDialog) {
   ... some properties here ...

   new GuiControl([control1]) {
      ... some properties here ...
   };
   new GuiControl([control2]) {
      ... some properties here ...
   };

See also

  • Creating a new SimObject instance

  • Creating a new Datablock object

  • Creating a new singleton

  • Extending a SimObject instance using the class property