

function WalkAction(character){
	this.name = "walk";
	this.character = character;
	this.animation = character.animations["walk"];
	this.relations = new Array();
}

WalkAction.prototype.update = function(time){
	this.animation.addTime(time);
	for(var i = 0; i < this.relations.length; i++){
		var rel = this.relations[i];
		var res = rel.condition();
		if(res){
			return rel.targetAction;
		}
	}
	
	var mv = this.character.walkSpeed;
	
	if(this.character.isKeyDown(cmd_left)){
		this.character.speed.x = Math.max(this.character.speed.x - mv, -this.character.walkSpeed);
	}else if(this.character.isKeyDown(cmd_right)){
		this.character.speed.x = Math.min(this.character.speed.x + mv, this.character.walkSpeed);
	}else{
		this.character.speed.x  = 0;
	}
	if(this.character.isKeyDown(cmd_up)){
		this.character.speed.z = Math.max((this.character.speed.z - mv) / 2, -this.character.walkSpeed / 2);
	}else if(this.character.isKeyDown(cmd_down)){
		this.character.speed.z = Math.min((this.character.speed.z + mv) / 2, this.character.walkSpeed / 2);
	}else{
		this.character.speed.z  = 0;
	}
	
	this.character.move(this.character.speed.mulScalar(time));
	
	return this;
}

WalkAction.prototype.setTime = function(time){
	this.age = time;
	this.animation.setTime(time);
}



