CAST II Game Engine

   DESCRIPTION       FEATURES       SCREENSHOTS       FORUMS       DOCUMENTATION       DOWNLOADS       CONTACTS   
Units
Class Hierarchy
Classes, Interfaces and Objects
Types
Enumerations
Variables
Constants
Functions and Procedures
Identifiers

Class TItemsManager

Unit

BaseClasses

Declaration

type TItemsManager = class

Description

Contains and manages a hierarchy of items starting with Root

Contains all registered item classes.

Fields

 NameDescription
ProtectedAsyncMessagesAsynchronous messages container
PublicCompilerScripting subsystem
ProtectedFEditorModeShould be True if world-editing capabilities are required
ProtectedFRootRoot of a hierarchy
ProtectedFStateCurrent manager state
ProtectedProcessingClassesItem processing classes (see TProcessingClass)
ProtectedStateNamesNames of all possible state flags

Methods

Overview

Publicconstructor Create; virtual;
Publicdestructor Destroy; override;
Publicfunction ChangeClass(Item: TItem; NewClass: CItem): TItem;
Publicprocedure ClearItems; virtual;
Protectedprocedure CollectGarbage; virtual;
Publicfunction FindItemClass(const AName: string): CItem; virtual;
Publicprocedure HandleMessage(const Msg: TMessage); virtual;
Publicfunction IsSceneLoading: Boolean;
Publicfunction IsShuttingdown: Boolean;
Publicfunction LoadItem(Stream: TStream; AParent: TItem): TItem;
Publicfunction LoadScene(Stream: TStream): Boolean;
Protectedprocedure OnDestroy; virtual;
Publicprocedure ProcessAsyncMessages;
Publicprocedure RegisterItemClass(NewClass: CItem);
Publicprocedure RegisterItemClasses(NewClasses: array of TClass);
Publicfunction RegisterState(const AName: string): Boolean;
Publicprocedure RemoveItem(Item: TItem);
Publicfunction SaveScene(Stream: TStream): Boolean;
Protectedprocedure SendAsyncMessage(const Msg: TMessage; Recipient: TItem); virtual;
Publicprocedure SendMessage(const Msg: TMessage; Recipient: TItem; Destination: TMessageFlags);

Description

Publicconstructor Create; virtual;

 

Publicdestructor Destroy; override;

 

Publicfunction ChangeClass(Item: TItem; NewClass: CItem): TItem;

Changes class of an item to NewClass.
All direct references to the item except via object linking mechanism become invalid.

Publicprocedure ClearItems; virtual;

Clears the current scene

Protectedprocedure CollectGarbage; virtual;

Handles items market to remove and release

Publicfunction FindItemClass(const AName: string): CItem; virtual;

Returns an item class by its name or nil if not found

Publicprocedure HandleMessage(const Msg: TMessage); virtual;

Default core message handler

Publicfunction IsSceneLoading: Boolean;

Returns True if a scene is currently loading

Publicfunction IsShuttingdown: Boolean;

Returns True if manager is shutting down

Publicfunction LoadItem(Stream: TStream; AParent: TItem): TItem;

Loads an item from a stream specified and adds it to AParent as a child. Returns the loaded item.

Publicfunction LoadScene(Stream: TStream): Boolean;

Clears the current scene and loads a new scene from a stream

Protectedprocedure OnDestroy; virtual;

This event occurs right before destruction of the manager

Publicprocedure ProcessAsyncMessages;

Handles all asyncronous messages

Publicprocedure RegisterItemClass(NewClass: CItem);

Registers an item class. Only items of registered classes can be saved/loaded or be linked to via item link property.

Publicprocedure RegisterItemClasses(NewClasses: array of TClass);

Registers an array of item classes. Only items of registered classes can be saved/loaded or be linked to via item link property.

Publicfunction RegisterState(const AName: string): Boolean;

Registers an item state flag

Publicprocedure RemoveItem(Item: TItem);

Removes an item from the manager

Publicfunction SaveScene(Stream: TStream): Boolean;

Saves the current scene to a stream

Protectedprocedure SendAsyncMessage(const Msg: TMessage; Recipient: TItem); virtual;

Adds a message to the asyncronous queue to be handled later in ProcessAsyncMessages

Publicprocedure SendMessage(const Msg: TMessage; Recipient: TItem; Destination: TMessageFlags);

Sends the specified message according to the specified destination

Properties

Overview

Publicproperty EditorMode: Boolean;
Publicproperty ItemClasses[Index: Integer]: CItem;
Publicproperty Root: TRootItem;
Publicproperty TotalItemClasses: Integer;
Publicproperty TotalProcessingClasses: Integer;

Description

Publicproperty EditorMode: Boolean;

Should be set to True if world-editing capabilities are required

Publicproperty ItemClasses[Index: Integer]: CItem;

Registered item classes

Publicproperty Root: TRootItem;

Root of a hierarchy

Publicproperty TotalItemClasses: Integer;

Number of registered item classes

Publicproperty TotalProcessingClasses: Integer;

Number of processing classes

Last modified: 4 Jul, 2008
Copyright (C) 2006-2008, casteng.com