--======================================================================== -- ActorManager.lua : Defines the ActorManager class -- -- Part of the GameCode4 Application -- -- GameCode4 is the sample application that encapsulates much of the source code -- discussed in "Game Coding Complete - 4th Edition" by Mike McShaffry and David -- "Rez" Graham, published by Charles River Media. -- ISBN-10: 1133776574 | ISBN-13: 978-1133776574 -- -- If this source code has found it's way to you, and you think it has helped you -- in any way, do the authors a favor and buy a new copy of the book - there are -- detailed explanations in it that compliment this code well. Buy a copy at Amazon.com -- by clicking here: -- http://www.amazon.com/gp/product/1133776574/ref=olp_product_details?ie=UTF8&me=&seller= -- -- There's a companion web site at http://www.mcshaffry.com/GameCode/ -- -- The source code is managed and maintained through Google Code: -- http://code.google.com/p/gamecode4/ -- -- (c) Copyright 2012 Michael L. McShaffry and David Graham -- -- This program is free software; you can redistribute it and/or -- modify it under the terms of the GNU Lesser GPL v3 -- as published by the Free Software Foundation. -- -- This program is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See -- http://www.gnu.org/licenses/lgpl-3.0.txt for more details. -- -- You should have received a copy of the GNU Lesser GPL v3 -- along with this program; if not, write to the Free Software -- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -- --======================================================================== ----------------------------------------------------------------------------------------------------------------------- -- ActorManager - Chapter 21, page 739 -- This class manages the script representation of all actors in the game. ----------------------------------------------------------------------------------------------------------------------- ActorManager = class(nil, { _player = nil, -- this will be filled automatically when player_teapot.xml is loaded }); function ActorManager:AddPlayer(scriptObject) if (self._player ~= nil) then print("Attempting to add player to ActorManager when one already exists; id = " .. self._player:GetActorId()); end -- add the new player regardless self._player = scriptObject; -- tell the human view that this is the controlled actor QueueEvent(EventType.EvtData_Set_Controlled_Actor, self._player:GetActorId()); end