local UIEmpty4Raycast = BaseClass("UIEmpty4Raycast", UIBaseComponent)
local base = UIBaseComponent
local UnityEmpty4RayCast = typeof(CS.UnityEngine.UI.Empty4Raycast)
local OnCreate = function(self)
  base.OnCreate(self)
  self.unity_empty_ray_cast = self.gameObject:GetComponent(UnityEmpty4RayCast)
end
local OnDestroy = function(self)
  self.unity_empty_ray_cast = nil
  base.OnDestroy(self)
end
local SetMaterial = function(self, value)
  self.unity_empty_ray_cast.material = value
end
local GetMaterial = function(self)
  return self.unity_empty_ray_cast.material
end
local SetColor = function(self, value)
  self.unity_empty_ray_cast:Set_color(value.r, value.g, value.b, value.a)
end
local SetColorRGBA = function(self, r, g, b, a)
  self.unity_empty_ray_cast:Set_color(r, g, b, a)
end
local GetColorRGBA = function(self)
  return self.unity_empty_ray_cast:Get_color()
end
local GetColor = function(self)
  local r, g, b, a = self:GetColorRGBA()
  return Color.New(r, g, b, a)
end
local SetAlpha = function(self, value)
  local color = self:GetColor()
  self:SetColorRGBA(color.r, color.g, color.b, value)
end
local SetEnable = function(self, enable)
  self.unity_empty_ray_cast.enabled = enable
end
local SetRaycastTarget = function(self, enable)
  self.unity_empty_ray_cast.raycastTarget = enable
end
local GetRaycastTarget = function(self)
  return self.unity_empty_ray_cast.raycastTarget
end
UIEmpty4Raycast.OnCreate = OnCreate
UIEmpty4Raycast.OnDestroy = OnDestroy
UIEmpty4Raycast.SetMaterial = SetMaterial
UIEmpty4Raycast.GetMaterial = GetMaterial
UIEmpty4Raycast.SetColor = SetColor
UIEmpty4Raycast.SetColorRGBA = SetColorRGBA
UIEmpty4Raycast.GetColorRGBA = GetColorRGBA
UIEmpty4Raycast.GetColor = GetColor
UIEmpty4Raycast.SetAlpha = SetAlpha
UIEmpty4Raycast.SetEnable = SetEnable
UIEmpty4Raycast.SetRaycastTarget = SetRaycastTarget
UIEmpty4Raycast.GetRaycastTarget = GetRaycastTarget
return UIEmpty4Raycast
