コード例 #1
0
void ComponentPhysicsGeom::load(const PropertyBag &data)
{
	resetMembers();

	desiredHeight = data.getFloat("height");
	collisionRadius = data.getFloat("radius");

	// Create as physics geometry
	if(geom){dGeomDestroy(geom);} geom=0;
	createGeom(data.getString("physicsGeometryType"));

	// Set initial position
	{
		vec3 position;
		if(data.get("position", position)) // optional tag
		{
			setPosition(position);
		}
	}

	// Declare the initial state
	getParentBlackBoard().relayMessage(MessagePositionHasBeenSet(getPosition()));
	getParentBlackBoard().relayMessage(MessageOrientationHasBeenSet(getOrientation()));
	getParentBlackBoard().relayMessage(MessageRequestSetHeight(desiredHeight));
}
コード例 #2
0
void ComponentSpinAround::load(const PropertyBag &data)
{
	resetMembers();
	rotationSpeed = data.getFloat("rotationSpeed");
	bounceHeight = data.getFloat("bounceHeight");
	bounceSpeed = data.getFloat("bounceSpeed");
}
コード例 #3
0
ファイル: ComponentHealth.cpp プロジェクト: foxostro/heroman
void ComponentHealth::load(const PropertyBag &data)
{
    resetMembers();
    health = data.getInt("health");
    maxHealth = data.getInt("maxHealth");
    damageToPowerRatio = data.getFloat("damageToPowerRatio");
    willResurrectAfterCountDown = data.getBool("willResurrectAfterCountDown");
    timeUntilResurrection = data.getFloat("timeUntilResurrection");

    data.get("displayPower", displayPower); // optional tag
}
コード例 #4
0
void ComponentExplodeAfterTimeout::load(const PropertyBag &data) {
	resetMembers();
	
	timeleft = data.getFloat("timeout");
	baseDamage = data.getInt("baseDamage");
	soundFileName = data.getFileName("soundFileName");
	particlesFileName = data.getFileName("particlesFileName");
}
コード例 #5
0
ファイル: ComponentGate.cpp プロジェクト: foxostro/heroman
void ComponentGate::load(const PropertyBag &data)
{
    resetMembers();

    state = ("a" == toLowerCase(data.getString("initialState")))
            ? STATE_A
            : STATE_B;

    positionA = data.getVec3("positionA");
    positionB = data.getVec3("positionB");
    timeToTransitionAB = data.getFloat("timeToTransitionAB");
    timeToTransitionBA = data.getFloat("timeToTransitionBA");
}
コード例 #6
0
ファイル: Font.cpp プロジェクト: foxostro/heroman
void Font::setup(const PropertyBag &data)
{
	fontSize.clear();
	fontSize[Font::SizeHuge]   = data.getFloat("huge");
	fontSize[Font::SizeLarge]  = data.getFloat("large");
	fontSize[Font::SizeNormal] = data.getFloat("normal");
	fontSize[Font::SizeSmall]  = data.getFloat("small");

	spacing = data.getFloat("spacing");
	lineHeight = data.getFloat("lineHeight");

	loadFontImage(data.getFileName("image"));
}
コード例 #7
0
void ComponentMovement::load(const PropertyBag &data) {
	topSpeed = data.getFloat("topSpeed");
	maxForce = (dReal)data.getFloat("maxForce");
	createMotorJoints();
}
コード例 #8
0
void ComponentObjectApproachable::load( const PropertyBag &data ) {
	resetMembers();
	thresholdTrigger = data.getFloat("thresholdTrigger");
	thresholdRelease = data.getFloat("thresholdRelease");
}
コード例 #9
0
void ComponentUserControllable::load( const PropertyBag &data )
{
	mouseSensitivity = data.getFloat("mouseSensitivity");
}