Games::3D::World

Games::3D::World is a Perl module that contains all things in the game world.

SYNOPSIS

 use Games::3D::World;

 # construct world from templates file and level file
 my $level = Games::3D::World->new( $templates, $file);

 # load the same level again
 $level->reload();

 # create a new world from sratch:
 my $world = Games::3D::World->new();
 $world->load_templates( $templates_file );

 # add some thing directly
 $world->create ( $thing_class );

 # create another one
 my $thing = Games::3D::Thingy->new( ... );
 $thing->visible(1);
 $thing->think_time(100);
 # and make our world contain it
 $world->register($thing);
 
 # save the world
 $world->save_to_file();

 # foreach frame to render:
 while ($not_quit)
 {
 # other code like user input handling here
 ...
 # update the world with the current frame time:
 $world->update( $now );
 ...
 # then let world call $callback for each visible object
 $world->render( $now, $callback );
 # other drawing code here
 ...
 }