Class: Woyo::Character

Inherits:
WorldObject show all
Defined in:
lib/woyo/world/character.rb

Instance Attribute Summary

Attributes inherited from WorldObject

#_test, #context, #id

Instance Method Summary collapse

Methods inherited from WorldObject

#attribute_changes, #attribute_clear_changes, #changes, #clear_changes, #initialize, #uid

Methods included from Evaluate

#children, #evaluate, included

Methods included from Attributes

#attribute, #attributes, #changes, #clear_changes, #define_attr, #define_attr!, #define_attr?, #define_attr_default, #define_attr_equals, #define_attr_methods, #dependent_changes, #exclusion, #exclusions, #group, #groups, #is, #is?, #track_changes

Constructor Details

This class inherits a constructor from Woyo::WorldObject

Instance Method Details

#go(way_or_id) ⇒ Object



24
25
26
27
28
29
30
# File 'lib/woyo/world/character.rb', line 24

def go way_or_id
  id = way_or_id.kind_of?(Way) ? way_or_id.id : way_or_id
  way = @location.ways[id]
  @location.characters.delete me.id
  @location = way.to
  @location.characters[me.id] = me
end

#initialize_objectObject



7
8
9
10
# File 'lib/woyo/world/character.rb', line 7

def initialize_object
  super
  attributes :description, name: lambda { |this| this.id.to_s.capitalize }
end

#locationObject



16
17
18
# File 'lib/woyo/world/character.rb', line 16

def location
  @location ||= context if context.is_a? Location
end

#meObject



20
21
22
# File 'lib/woyo/world/character.rb', line 20

def me
  self
end

#worldObject



12
13
14
# File 'lib/woyo/world/character.rb', line 12

def world
  @world ||= context if context.is_a? World
end