mirror of
https://github.com/cyberarm/cyberarm_engine.git
synced 2025-12-16 13:12:34 +00:00
50 lines
874 B
Ruby
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
|