2021-09-28 17:48:28 +08:00
|
|
|
require("Base/Stack")
|
2021-09-29 18:34:54 +08:00
|
|
|
-- local PlayerView = require("Modules/YuJianXing/RiceSinglePlayerView")
|
|
|
|
local RiceCtrlView = {}
|
2021-09-28 17:48:28 +08:00
|
|
|
local riceCtrl = "RiceCtrl"
|
|
|
|
local bgNameList = {}
|
2021-09-29 18:34:54 +08:00
|
|
|
local playerDataList = {}
|
2021-09-28 17:48:28 +08:00
|
|
|
|
2021-09-29 18:34:54 +08:00
|
|
|
function RiceCtrlView:Awake(_bgList,_playerList)
|
2021-09-28 17:48:28 +08:00
|
|
|
if _bgList then
|
|
|
|
bgNameList = _bgList
|
|
|
|
end
|
2021-09-29 18:34:54 +08:00
|
|
|
if _playerList then
|
|
|
|
playerDataList = _playerList
|
|
|
|
end
|
|
|
|
self.speed = 0
|
|
|
|
self.bgItemList = {}
|
|
|
|
self.playerList = {}
|
|
|
|
self.spLoader = SpriteLoader.New()
|
|
|
|
UIManager.camera.clearFlags = CameraClearFlags.Depth
|
|
|
|
self.Ctrl = poolManager:LoadAsset(riceCtrl, PoolManager.AssetType.GameObject)
|
|
|
|
self.Ctrl.name = "riceCtrl"
|
|
|
|
self.Ctrl.transform:SetParent(UIManager.uiRoot.transform.parent)
|
|
|
|
self.Ctrl.transform.position = Vector3(-100, -100, -100)
|
|
|
|
self.bgList = Util.GetGameObject(self.Ctrl.gameObject,"Canvas/BgList")
|
|
|
|
self.imgPre = Util.GetGameObject(self.bgList,"imgPre")
|
|
|
|
self.camara = Util.GetGameObject(self.Ctrl.gameObject,"Camera")
|
|
|
|
self.roadList = Util.GetGameObject(self.Ctrl.gameObject,"Canvas/RoadList")
|
|
|
|
|
|
|
|
--加载背景--并不滚动,有几个加载几个
|
|
|
|
self:SetBg()
|
|
|
|
self:SetPlayer()
|
|
|
|
return self.Ctrl
|
|
|
|
end
|
|
|
|
|
|
|
|
function RiceCtrlView:SetGameState(_state)
|
|
|
|
self.isRunning = _state
|
|
|
|
for i,v in ipairs(self.playerList) do
|
|
|
|
v:SetSinglePlayerState(self.isRunning)
|
2021-09-28 17:48:28 +08:00
|
|
|
end
|
2021-09-29 18:34:54 +08:00
|
|
|
end
|
|
|
|
|
|
|
|
function RiceCtrlView:SetBg()
|
2021-09-28 17:48:28 +08:00
|
|
|
for i = 1, #bgNameList do
|
2021-09-29 18:34:54 +08:00
|
|
|
local go = {}
|
|
|
|
go = newObjToParent(self.imgPre,Util.GetTransform(self.Ctrl, "Canvas/BgList"))
|
|
|
|
go.name = "bg"..i
|
|
|
|
go:GetComponent("Image").sprite = self.spLoader:LoadSprite(bgNameList[i])
|
2021-09-28 17:48:28 +08:00
|
|
|
go:GetComponent("Image"):SetNativeSize()
|
|
|
|
go.gameObject:SetActive(true)
|
2021-09-29 18:34:54 +08:00
|
|
|
self.bgItemList[i] = go
|
2021-09-28 17:48:28 +08:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2021-09-29 18:34:54 +08:00
|
|
|
function RiceCtrlView:SetPlayer()
|
|
|
|
for i = 1, 4 do--#playerDataList do
|
|
|
|
self.playerList[i] = {}
|
|
|
|
self.playerList[i] = SubUIManager.Open(SubUIConfig.PlayerRiceView,self.roadList.transform,i)--playerDataList[i])
|
2021-09-28 17:48:28 +08:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2021-09-29 18:34:54 +08:00
|
|
|
function RiceCtrlView:Dispose()
|
|
|
|
self.speed = 0
|
|
|
|
for i,v in ipairs(self.bgItemList) do
|
|
|
|
destroy(v.gameObject)
|
|
|
|
end
|
|
|
|
for i,v in ipairs(self.playerList) do
|
|
|
|
SubUIManager.Close(v)
|
|
|
|
end
|
|
|
|
|
|
|
|
--卸载地图
|
|
|
|
if self.Ctrl then
|
|
|
|
poolManager:UnLoadAsset(riceCtrl, self.Ctrl, PoolManager.AssetType.GameObject)
|
|
|
|
self.Ctrl = nil
|
|
|
|
end
|
|
|
|
UIManager.camera.clearFlags = CameraClearFlags.Skybox
|
|
|
|
if self.spLoader then
|
|
|
|
self.spLoader:Destroy()
|
|
|
|
self.spLoader = nil
|
2021-09-28 17:48:28 +08:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2021-09-29 18:34:54 +08:00
|
|
|
return RiceCtrlView
|