Search icon
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Torque 3D Game Development Cookbook

You're reading from  Torque 3D Game Development Cookbook

Product type Book
Published in Jan 2013
Publisher Packt
ISBN-13 9781849693547
Pages 380 pages
Edition 1st Edition
Languages
Author (1):
DAVID WYAND DAVID WYAND
Profile icon DAVID WYAND

Table of Contents (17) Chapters

Torque 3D Game Development Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
1. TorqueScript: The Only Script You Need to Know 2. Working with Your Editors 3. Graphical User Interface 4. Camera and Mouse Controls 5. Your Graphics Evolved 6. Make That Sound Happen 7. Game Objects 8. Multiplayer Servers 9. Importance of Networking 10. Miscellaneous Gameplay Features Index

Getting a random object from a SimSet or SimGroup collection


Sometimes we have a collection of SimObject instances in a SimSet or SimGroup collection and we would like to retrieve a single, random object from this collection. In this recipe we will discover a quick and easy method to do just that.

Getting ready

We will be adding a new TorqueScript function to a project based on the Torque 3D Full template and try it out using the Empty Terrain level. If you haven't already, use the Torque Project Manager (Project Manager.exe) to create a new project from the Full template. It will be found under the My Projects directory. Then start up your favorite script editor, such as Torsion, and let's get going!

How to do it...

We are going to write a TorqueScript function that will demonstrate how to retrieve a random SimObject instance from a SimSet or SimGroup collection as follows:

  1. Open the game/scripts/server/game.cs script file and add the following code to the bottom:

    function getRandomObject1()
    {
       // Retrieve a random object from the MissionGroup.  This holds
       // the top level objects from the loaded level.
       %object = MissionGroup.getRandom();
       
       // Print some information about the object to the console
       echo(%object.getId() SPC %object.getClassName());
    }
  2. Start up our game under the My Projects directory and load the Empty Terrain level. Open the console using the tilde (~) key and enter the following at the bottom of the screen:

    getRandomObject1();
    

    In the console, we will see the following output (you may have a different object chosen):

    ==>getRandomObject1();
    4276 ScatterSky
    

How it works...

The getRandom() method of a SimSet and SimGroup collection returns a randomly selected SimObject ID from the collection. If the collection is empty, a value of -1 is returned.

See also

  • Iterating on objects in a SimSet or SimGroup collection

  • Finding an object in a SimSet or SimGroup collection using its internal name

  • Executing a method on a SimSet or SimGroup collection.

You have been reading a chapter from
Torque 3D Game Development Cookbook
Published in: Jan 2013 Publisher: Packt ISBN-13: 9781849693547
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime}