AppEasy Core SDK  1.5.0
Cross platform mobile and desktop app and game development SDK - The easy way to make apps
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines
CzActorConnector Class Reference

An actor that connects two points or two actors together like a string. More...

#include <CzActorConnector.h>

Inheritance diagram for CzActorConnector:
CzActorImage CzActor IzXomlResource IzAnimTarget

List of all members.

Public Member Functions

void setTargetA (CzActor *target)
CzActorgetTargetA ()
void setTargetB (CzActor *target)
CzActorgetTargetB ()
void setOffsetA (float x, float y)
CzVec2 getOffsetA () const
void setOffsetB (float x, float y)
CzVec2 getOffsetB () const
bool getProperty (unsigned int property_name, CzXomlProperty &prop)
bool setProperty (unsigned int property_name, const CzXomlProperty &data, bool delta)
 Sets the named property of the ActorConnector.
bool setProperty (unsigned int property_name, const CzString &data, bool delta)
 Sets the named property of the actor.
 CzActorConnector ()
bool Update (float dt)
 Updates this actors logic.
int LoadFromXoml (IzXomlResource *parent, bool load_children, CzXmlNode *node)
 Creates an instance of this class from XML.
bool UpdateFromAnimation (CzAnimInstance *animation)
 Updates actor property from supplied animation.

Static Public Member Functions

static void InitClass ()
 Initialises the class.
static void ReleaseClass ()
static bool _setTargetA (IzXomlResource *target, const CzXomlProperty &prop, bool add)
static CzXomlProperty _getTargetA (IzXomlResource *target)
static bool _setTargetB (IzXomlResource *target, const CzXomlProperty &prop, bool add)
static CzXomlProperty _getTargetB (IzXomlResource *target)
static bool _setOffsetA (IzXomlResource *target, const CzXomlProperty &prop, bool add)
static CzXomlProperty _getOffsetA (IzXomlResource *target)
static bool _setOffsetB (IzXomlResource *target, const CzXomlProperty &prop, bool add)
static CzXomlProperty _getOffsetB (IzXomlResource *target)

Protected Member Functions

bool UpdateBinding (unsigned int property_name, CzXomlVariable *var)
 Updates an actor property from the supplied XOML variable.

Protected Attributes

CzActorTargetA
 Target actor A.
CzActorTargetB
 Target actor B.
CzVec2 OffsetA
 Target A offset.
CzVec2 OffsetB
 Target B offset.

Static Protected Attributes

static CzXomlClassDefActorConnectorClassDef = NULL

Detailed Description

An actor that connects two points or two actors together like a string.

A connector actor is an image actor that connects either two actors together or an actor to an anchor point. Connector actors are useful for creating all sorts of objects such as strings and ropes.

A connector actor is declared using the ActorConnector XOML tag. The ActorConnector example has been provided to show how they work. Lets take a quick look at some example XOML:

XOML Example
<ActorConnector Name="Joiner1" Size="100, 20" Brush="Button1Brush" TargetA="Box1" TargetB="Box2" />

The above XOML creates a connector actor that connects Box1 and Box2 actors together using a visual connector that is 20 units in width and covers 100% of the length of the connector.

In addition to basic actor properties connector actors have a number of new or changed properties, which include:

  • Size (length, width) - Size defines the width of the connector as well as the length as apercentage of the distance between the two end points of the connector. For example, if the length is set to 100% then the actor will stretch from the centre of target A to the centre of target B. If the length is less than 100% then the actor will fall short of the centre points of targets A and B;
  • TargetA (actor) - Defines the actor to fix the start point of the connector actor
  • TargetB (actor) - Defines the actor to fix the end point of the connector actor
  • OffsetA (x, y) - An amount to offset the connection point from Target A. If TargetA actor is not specified then this will be classed as a static scene position
  • OffsetB (x, y) - An amount to offset the connection point from Target B. If TargetB actor is not specified then this will be classed as a static scene position

Constructor & Destructor Documentation


Member Function Documentation

bool CzActorConnector::_setOffsetA ( IzXomlResource target,
const CzXomlProperty prop,
bool  add 
) [static]
bool CzActorConnector::_setOffsetB ( IzXomlResource target,
const CzXomlProperty prop,
bool  add 
) [static]
bool CzActorConnector::_setTargetA ( IzXomlResource target,
const CzXomlProperty prop,
bool  add 
) [static]
bool CzActorConnector::_setTargetB ( IzXomlResource target,
const CzXomlProperty prop,
bool  add 
) [static]
bool CzActorConnector::getProperty ( unsigned int  property_name,
CzXomlProperty prop 
) [virtual]

Returns the named property of the actor. The properties value is returned in a CzXomlProperty which is a structure that contains a union of all possible property types.

Parameters:
property_nameName of the property as a string hash (faster searching).
[in,out]propThe property.
Returns:
true if it succeeds, false if property does not exist.

Reimplemented from CzActorImage.

void CzActorConnector::InitClass ( ) [static]

Initialises the class.

Sets up the classes avaiiable properties. Used by the XOML system to find, set amd get class properties.

Reimplemented from CzActorImage.

int CzActorConnector::LoadFromXoml ( IzXomlResource parent,
bool  load_children,
CzXmlNode node 
) [virtual]

Creates an instance of this class from XML.

LoadFromXoml is the main method used by all classes that can be instantiated from XOML mark-up. This method creates an instance of this class from the supplied XML node structure specified by node. if parent is not NULL then the created instance will utilise the supplied parent to determine where it should live within the app. For example, if the parent is a scene then the actor will be placed in that scene. if the parent is another actor then this actor will be placed into the scene of the supplied actor and linked as a child to the parent actor. If load_chlldren is true then any child nodes contained within the actor will also be loaded. Note that as CzActorConnector is derived from CzActor, CzActorImage::LoadFromXoml() will also be called to load CzActor specific properties.

Parameters:
[in]parentIf non-null, the parent.
load_childrentrue to load child nodes.
[in]nodeIf non-null, the XOML markup node that defines this object
Returns:
negative value for error. if 0 then processing of further XOML will stop.

Reimplemented from CzActorImage.

void CzActorConnector::ReleaseClass ( ) [static]

Reimplemented from CzActorImage.

void CzActorConnector::setOffsetA ( float  x,
float  y 
) [inline]
void CzActorConnector::setOffsetB ( float  x,
float  y 
) [inline]
bool CzActorConnector::setProperty ( unsigned int  property_name,
const CzXomlProperty data,
bool  delta 
) [virtual]

Sets the named property of the ActorConnector.

Sets the named property of this ActorConnector. The properties value supplied will be converted. If delta is set to true then the existing value of the property will be added to instead of replaced.

Parameters:
property_nameName of the property as a string hash (faster searching).
[in]dataThe property data.
deltatrue if property should be added to instead of replaced.
Returns:
true if it succeeds, false if property does not exist.

Reimplemented from CzActorImage.

bool CzActorConnector::setProperty ( unsigned int  property_name,
const CzString data,
bool  delta 
) [virtual]

Sets the named property of the actor.

Sets the named property of this actor. The properties value (data) is supplied as a string and will be converted. If delta is set to true then the existing value of the property will be added to instead of replaced. Note that as CzActorConnector is derived from CzActor, all CzActor properties will also be checked against.

Parameters:
property_nameName of the property as a string hash (faster searching).
[in]dataThe property data.
deltatrue to property should be added to instead of replaced.
Returns:
true if it succeeds, false if property does not exist.

Reimplemented from CzActorImage.

void CzActorConnector::setTargetA ( CzActor target) [inline]
void CzActorConnector::setTargetB ( CzActor target) [inline]
bool CzActorConnector::Update ( float  dt) [virtual]

Updates this actors logic.

Updates the actors logic, including calculating end points of the connector and the scale to fit to the specified size. In addition CzActorImage::Update() is called to perform the base actor update.

Parameters:
dtThe number of seconds since the app was last updated
Returns:
true if it succeeds, false if it fails.

Reimplemented from CzActor.

bool CzActorConnector::UpdateBinding ( unsigned int  property_name,
CzXomlVariable var 
) [protected, virtual]

Updates an actor property from the supplied XOML variable.

Updates a single property from the value of the bound XOML variable.

Parameters:
property_nameName of the property.
[in,out]varIf non-null, the variable.
Returns:
true if it succeeds, false if property does not exist.

Reimplemented from CzActorImage.

bool CzActorConnector::UpdateFromAnimation ( CzAnimInstance animation) [virtual]

Updates actor property from supplied animation.

Updates the actors property that is specified by the supplied animation. When a timeline animation targets the property of an actor this method will be called by the animation to move the animations frame data into its target property.

Parameters:
[in]animationIf non-null, the animation.
Returns:
true if it succeeds, false if property does not exist.

Reimplemented from CzActorImage.


Member Data Documentation

Target A offset.

Target B offset.

Target actor A.

Target actor B.


The documentation for this class was generated from the following files: