local BuildConnectRoadBallEffect = BaseClass("BuildConnectRoadBallEffect")
local OnCreate = function(self, go)
  if go ~= nil then
    self.request = go
    self.gameObject = go.gameObject
    self.transform = go.gameObject.transform
  end
  self:ComponentDefine()
  self:DataDefine()
end
local OnDestroy = function(self)
  self:ComponentDestroy()
  self:DataDestroy()
end
local ComponentDefine = function(self)
  self.AutoBuildConnectEffectBallMove = self.gameObject:GetComponent(typeof(CS.AutoBuildConnectEffectBallMove))
end
local ComponentDestroy = function(self)
  self.AutoBuildConnectEffectBallMove = nil
  self.gameObject = nil
  self.transform = nil
end
local DataDefine = function(self)
  self.param = nil
end
local DataDestroy = function(self)
  self.param = nil
end
local ReInit = function(self, param)
  self.param = param
  self:ShowPanel()
end
local ShowPanel = function(self)
  self.AutoBuildConnectEffectBallMove:Init(self.param.path, self.param.perMoveTime, self.param.startIndex)
end
BuildConnectRoadBallEffect.OnCreate = OnCreate
BuildConnectRoadBallEffect.OnDestroy = OnDestroy
BuildConnectRoadBallEffect.ComponentDefine = ComponentDefine
BuildConnectRoadBallEffect.ComponentDestroy = ComponentDestroy
BuildConnectRoadBallEffect.DataDefine = DataDefine
BuildConnectRoadBallEffect.DataDestroy = DataDestroy
BuildConnectRoadBallEffect.ReInit = ReInit
BuildConnectRoadBallEffect.ShowPanel = ShowPanel
return BuildConnectRoadBallEffect
