miduo_client/Assets/ManagedResources/~Lua/Modules/YuJianXing/RiceSinglePlayerView.lua

109 lines
3.3 KiB
Lua
Raw Normal View History

2021-09-29 18:34:54 +08:00
local RiceSinglePlayerView = {}
2021-10-08 20:49:25 +08:00
local initSpeed = 20
local RidingSwardSence = ConfigManager.GetConfig(ConfigName.RidingSwardSence)
2021-09-29 18:34:54 +08:00
function RiceSinglePlayerView:New(gameObject)
local b = {}
b.gameObject = gameObject
b.transform = gameObject.transform
setmetatable(b, { __index = RiceSinglePlayerView })
return b
end
function RiceSinglePlayerView:InitComponent()
self.gameObject:GetComponent("RectTransform").sizeDelta = Vector2.New(10000,100)
2021-10-08 15:45:28 +08:00
self.player = Util.GetGameObject(self.gameObject,"Player")
self.playerTrans = self.player:GetComponent("RectTransform")
self.playerTrans.localPosition = Vector2.New(0,100)
self.curPosX = self.playerTrans.localPosition.x
2021-10-08 20:49:25 +08:00
self.speed = initSpeed
2021-10-08 15:45:28 +08:00
FixedUpdateBeat:Add(self.OnUpdate, self)--长按方法注册
2021-09-29 18:34:54 +08:00
end
--绑定事件(用于子类重写)
function RiceSinglePlayerView:BindEvent()
end
--添加事件监听(用于子类重写)
function RiceSinglePlayerView:AddListener()
end
--移除事件监听(用于子类重写)
function RiceSinglePlayerView:RemoveListener()
end
2021-10-08 15:45:28 +08:00
--设置游戏状态
2021-09-29 18:34:54 +08:00
function RiceSinglePlayerView:SetSinglePlayerState(_state)
2021-10-08 20:49:25 +08:00
local keyFrame = RidingSwardSence[self.data[1]].KeyFrame
self.keyFrameList = {}
for i = 1, #keyFrame do
self.keyFrameList[i] = {}
self.keyFrameList[i].pos = keyFrame[i][1]*initSpeed*30
self.keyFrameList[i].value = keyFrame[i][2]
end
for i,v in ipairs(self.keyFrameList) do
LogRed(string.format( "在:%s位置处效果%s",v.pos,v.value))
end
2021-09-29 18:34:54 +08:00
self.isRunning = _state
end
2021-10-08 15:45:28 +08:00
--重置游戏
function RiceSinglePlayerView:ResetSinglePlayer()
self.isRunning = false
2021-10-08 20:49:25 +08:00
self.speed = initSpeed
2021-10-08 15:45:28 +08:00
self.playerTrans.localPosition = Vector2.New(0,100)
self.curPosX = self.playerTrans.localPosition.x
end
--upDate
function RiceSinglePlayerView:OnUpdate()
2021-09-29 18:34:54 +08:00
if self.isRunning then
2021-10-08 20:49:25 +08:00
if self.index == 1 then
LogYellow("self.speed:"..tostring(self.speed))
end
if self.curPosX >= 8500 then
YuJianXingManager.FinishResetGame()
else
self.curPosX = self.curPosX + self.speed
self.player.transform.localPosition = Vector2.New(self.curPosX,100)
-- for k,v in pairs(self.keyFrameList) do
for i,v in ipairs(self.keyFrameList) do
if self.curPosX >= v.pos then
if v == 1 then
self.speed = self.speed*1.2
table.remove( self.keyFrameList,i)
elseif v == 2 then
self.speed = self.speed*0.9
table.remove( self.keyFrameList,i)
end
end
end
end
2021-09-29 18:34:54 +08:00
end
end
2021-10-08 20:49:25 +08:00
--返回当前位置
2021-10-08 15:45:28 +08:00
function RiceSinglePlayerView:GetCurPosX()
return self.curPosX
end
2021-09-29 18:34:54 +08:00
--界面打开时调用(用于子类重写)
2021-10-08 20:49:25 +08:00
function RiceSinglePlayerView:OnOpen(_inedx,_data)
self.index = _inedx
2021-09-29 18:34:54 +08:00
self.data = _data
end
--界面打开或者重新打开后,界面刷新时调用(用于子类重写)
function RiceSinglePlayerView:OnShow()
end
function RiceSinglePlayerView:OnClose()
end
--界面销毁时调用(用于子类重写)
function RiceSinglePlayerView:OnDestroy()
2021-10-08 15:45:28 +08:00
FixedUpdateBeat:Remove(self.OnUpdate, self)
2021-09-29 18:34:54 +08:00
end
return RiceSinglePlayerView