Files
cyberarm_engine/lib/cyberarm_engine/ui/style.rb

50 lines
874 B
Ruby

module Gosu
class Color
def _dump(_level)
[
"%02X" % alpha,
"%02X" % red,
"%02X" % green,
"%02X" % blue
].join
end
def self._load(hex)
argb(hex.to_i(16))
end
end
end
module CyberarmEngine
class Style
attr_reader :hash
def initialize(hash = {})
h = Marshal.load(Marshal.dump(hash))
h[:default] = {}
h.each do |key, value|
next if value.is_a?(Hash)
h[:default][key] = value
end
@hash = h
end
def method_missing(method, *args)
if method.to_s.end_with?("=")
raise "Did not expect more than 1 argument" if args.size > 1
@hash[method.to_s.sub("=", "").to_sym] = args.first
elsif args.empty?
@hash[method]
else
raise ArgumentError, "Did not expect arguments"
end
end
end
end