4 Commits

5 changed files with 30 additions and 6 deletions

View File

@@ -48,6 +48,12 @@ module CyberarmEngine
end
end
def opacity(color, ratio = 1.0)
alpha = 255 * ratio
return Gosu::Color.rgba(color.red, color.green, color.blue, alpha)
end
def get_asset(path, hash, klass)
asset = nil
hash.detect do |_asset, instance|

View File

@@ -2,9 +2,23 @@ module CyberarmEngine
class BoundingBox
attr_accessor :min, :max
def initialize(minx = 0, miny = 0, minz = 0, maxx = 0, maxy = 0, maxz = 0)
@min = Vector.new(minx, miny, minz)
@max = Vector.new(maxx, maxy, maxz)
def initialize(*args)
case args.size
when 0
@min = Vector.new(0, 0, 0)
@max = Vector.new(0, 0, 0)
when 2
@min = args.first.clone
@max = args.last.clone
when 4
@min = Vector.new(args[0], args[1], 0)
@max = Vector.new(args[2], args[3], 0)
when 6
@min = Vector.new(args[0], args[1], args[2])
@max = Vector.new(args[3], args[4], args[5])
else
raise "Invalid number of arguments! Got: #{args.size}, expected: 0, 2, 4, or 6."
end
end
def ==(other)

View File

@@ -31,7 +31,7 @@ module CyberarmEngine
end
# Performs math operation, excluding @weight
def operator(function, other)
private def operator(function, other)
if other.is_a?(Numeric)
Vector.new(
@x.send(:"#{function}", other),
@@ -160,5 +160,9 @@ module CyberarmEngine
def to_s
"X: #{@x}, Y: #{@y}, Z: #{@z}, Weight: #{@weight}"
end
def to_h
{x: @x, y: @y, z: @z, weight: @weight}
end
end
end

View File

@@ -6,7 +6,7 @@ module CyberarmEngine
attr_reader :text, :textobject
def initialize(text, options={})
@text = text || ""
@text = text.to_s || ""
@options = options
@size = options[:size] || 18
@font = options[:font] || "sans-serif"#Gosu.default_font_name

View File

@@ -1,4 +1,4 @@
module CyberarmEngine
NAME = "InDev"
VERSION = "0.3.0"
VERSION = "0.5.0"
end