Sha256: 562581653b041be889ec2b00b6308f12783ffe52d28a6c5f0d877689123cf70f
Contents?: true
Size: 875 Bytes
Versions: 1
Compression:
Stored size: 875 Bytes
Contents
require 'gamefic-standard/openable' # An openable portal. # class Door < Portal include Openable include Lockable def post_initialize update_reverse_open end def open= bool super update_reverse_open end def locked= bool super update_reverse_lock end def two_way_lock_key= key lock_key = key return if reverse.nil? reverse.lock_key = key end private def update_reverse_open rev = find_reverse return if rev.nil? || rev.open? == open? rev.open = open? end def update_reverse_lock rev = find_reverse return if rev.nil? || rev.locked? == locked? rev.locked = locked? end end Gamefic.script do respond :go, Use.available(Door) do |actor, door| actor.perform :open, door unless door.open? actor.proceed if door.open? end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
gamefic-standard-2.2.0 | lib/gamefic-standard/door.rb |