lib/lotu/systems/steering_system.rb in lotu-0.1.14 vs lib/lotu/systems/steering_system.rb in lotu-0.1.15

- old
+ new

@@ -1,12 +1,13 @@ # -*- coding: utf-8 -*- module Lotu - class SteeringSystem + class SteeringSystem < System def initialize(user, opts={}) + super # Add new functionality to Actor - user.extend UserMethods + @user.extend UserMethods # Initialize attributes default_opts = { :mass => 1, :max_speed => 350, @@ -15,23 +16,22 @@ :wander_radius => 120, :wander_distance => 240.0 } opts = default_opts.merge!(opts) - user.mass = opts[:mass] - user.max_speed = opts[:max_speed] - user.max_turn_rate = opts[:max_turn_rate] - user.max_force = opts[:max_force] - user.wander_radius = opts[:wander_radius] - user.wander_distance = opts[:wander_distance] + @user.mass = opts[:mass] + @user.max_speed = opts[:max_speed] + @user.max_turn_rate = opts[:max_turn_rate] + @user.max_force = opts[:max_force] + @user.wander_radius = opts[:wander_radius] + @user.wander_distance = opts[:wander_distance] # More attributes - @user = user @behaviors = {} @force = Vector2d.new @zero = Vector2d.new - user.pos.x = user.x - user.pos.y = user.y + @user.pos.x = user.x + @user.pos.y = user.y end def update @force.zero! @behaviors.each_pair do |behavior, active|