【坐骑】添加各个方向的偏移配置
parent
44cb4eb282
commit
1b0613673c
|
@ -168,9 +168,9 @@ function PlayerLiveView:OnShowLive()
|
|||
self.RideConfig = ConfigManager.GetConfigData(ConfigName.PlayerRole,self.PlayerLiveViewData.ride)
|
||||
local curArtResourcesConfig = ConfigManager.GetConfigData(ConfigName.ArtResourcesConfig,self.RideConfig.LiveAnimName)
|
||||
local curLocalScale = Vector3.New(curArtResourcesConfig.Scale,curArtResourcesConfig.Scale,curArtResourcesConfig.Scale)
|
||||
local curLocalPosition = Vector3.New(curArtResourcesConfig.Position[1],curArtResourcesConfig.Position[2],0)
|
||||
self.RidePosition = Vector3.New(curArtResourcesConfig.Position[1],curArtResourcesConfig.Position[2],0)
|
||||
self.rideLiveStr = curArtResourcesConfig.Name
|
||||
self.rideLive = poolManager:LoadLive(self.rideLiveStr, self.rideLiveGo.transform, curLocalScale,curLocalPosition)
|
||||
self.rideLive = poolManager:LoadLive(self.rideLiveStr, self.rideLiveGo.transform, curLocalScale, self.RidePosition)
|
||||
self.rideLivSkeletonGraphic = self.rideLive:GetComponent("SkeletonGraphic")
|
||||
if self.rideLivSkeletonGraphic then
|
||||
self.rideLivSkeletonGraphic.AnimationState:SetAnimation(0, RIDE_WALK_DIR.IDLE_FRONT.animation, true)
|
||||
|
@ -233,6 +233,7 @@ function PlayerLiveView:SetWalkDir(dir)
|
|||
end
|
||||
-- 设置层级
|
||||
self:SetSiblingIndexPlayerOrRide(1)
|
||||
self:SetRideOffset(1)
|
||||
elseif dir == WALK_DIR.IDLE_BACK then-- 站立_向后
|
||||
if (self.PlayerLiveViewData.ride and self.PlayerLiveViewData.ride > 0) and (self.PlayerLiveViewData.skin and self.PlayerLiveViewData.skin > 0) then
|
||||
if self.PlayerLiveViewData.ride == PlayerRide.YUJIAN then
|
||||
|
@ -248,6 +249,7 @@ function PlayerLiveView:SetWalkDir(dir)
|
|||
|
||||
-- 设置层级
|
||||
self:SetSiblingIndexPlayerOrRide(2)
|
||||
self:SetRideOffset(2)
|
||||
elseif dir == WALK_DIR.IDLE_LEFT then-- 站立_向左
|
||||
if (self.PlayerLiveViewData.ride and self.PlayerLiveViewData.ride > 0) and (self.PlayerLiveViewData.skin and self.PlayerLiveViewData.skin > 0) then
|
||||
if self.PlayerLiveViewData.ride == PlayerRide.YUJIAN then
|
||||
|
@ -262,6 +264,7 @@ function PlayerLiveView:SetWalkDir(dir)
|
|||
end
|
||||
-- 设置层级
|
||||
self:SetSiblingIndexPlayerOrRide(3)
|
||||
self:SetRideOffset(3)
|
||||
elseif dir == WALK_DIR.IDLE_RIGHT then-- 站立_向右
|
||||
if (self.PlayerLiveViewData.ride and self.PlayerLiveViewData.ride > 0) and (self.PlayerLiveViewData.skin and self.PlayerLiveViewData.skin > 0) then
|
||||
if self.PlayerLiveViewData.ride == PlayerRide.YUJIAN then
|
||||
|
@ -277,6 +280,7 @@ function PlayerLiveView:SetWalkDir(dir)
|
|||
|
||||
-- 设置层级
|
||||
self:SetSiblingIndexPlayerOrRide(4)
|
||||
self:SetRideOffset(4)
|
||||
elseif dir == WALK_DIR.RUN_RIGHT then-- 跑_向右
|
||||
if (self.PlayerLiveViewData.ride and self.PlayerLiveViewData.ride > 0) and (self.PlayerLiveViewData.skin and self.PlayerLiveViewData.skin > 0) then
|
||||
if self.PlayerLiveViewData.ride == PlayerRide.YUJIAN then
|
||||
|
@ -291,6 +295,7 @@ function PlayerLiveView:SetWalkDir(dir)
|
|||
end
|
||||
-- 设置层级
|
||||
self:SetSiblingIndexPlayerOrRide(4)
|
||||
self:SetRideOffset(4)
|
||||
elseif dir == WALK_DIR.RUN_LEFT then-- 跑_向左
|
||||
if (self.PlayerLiveViewData.ride and self.PlayerLiveViewData.ride > 0) and (self.PlayerLiveViewData.skin and self.PlayerLiveViewData.skin > 0) then
|
||||
if self.PlayerLiveViewData.ride == PlayerRide.YUJIAN then
|
||||
|
@ -305,6 +310,7 @@ function PlayerLiveView:SetWalkDir(dir)
|
|||
end
|
||||
-- 设置层级
|
||||
self:SetSiblingIndexPlayerOrRide(3)
|
||||
self:SetRideOffset(3)
|
||||
elseif dir == WALK_DIR.RUN_UP then-- 跑_向上
|
||||
if (self.PlayerLiveViewData.ride and self.PlayerLiveViewData.ride > 0) and (self.PlayerLiveViewData.skin and self.PlayerLiveViewData.skin > 0) then
|
||||
if self.PlayerLiveViewData.ride == PlayerRide.YUJIAN then
|
||||
|
@ -320,6 +326,7 @@ function PlayerLiveView:SetWalkDir(dir)
|
|||
end
|
||||
-- 设置层级
|
||||
self:SetSiblingIndexPlayerOrRide(2)
|
||||
self:SetRideOffset(2)
|
||||
elseif dir == WALK_DIR.RUN_DOWN then-- 跑_向下
|
||||
if (self.PlayerLiveViewData.ride and self.PlayerLiveViewData.ride > 0) and (self.PlayerLiveViewData.skin and self.PlayerLiveViewData.skin > 0) then
|
||||
if self.PlayerLiveViewData.ride == PlayerRide.YUJIAN then
|
||||
|
@ -334,6 +341,7 @@ function PlayerLiveView:SetWalkDir(dir)
|
|||
end
|
||||
-- 设置层级
|
||||
self:SetSiblingIndexPlayerOrRide(1)
|
||||
self:SetRideOffset(1)
|
||||
elseif dir == WALK_DIR.JINGYA then-- 惊讶
|
||||
if self.PlayerLiveViewData.ride and self.PlayerLiveViewData.ride > 0 then
|
||||
-- self:SetWalkDirInfo(PLAYER_WALK_DIR.IDLE_FRONT,RIDE_WALK_DIR.IDLE_FRONT)
|
||||
|
@ -398,6 +406,21 @@ function PlayerLiveView:SetSiblingIndexPlayerOrRide(dir)
|
|||
self.playerLiveGo.transform:SetSiblingIndex(3)
|
||||
end
|
||||
end
|
||||
-- 根据人物方向设置设置坐骑的偏移值
|
||||
function PlayerLiveView:SetRideOffset(dir)
|
||||
if not dir then
|
||||
return
|
||||
end
|
||||
local offset = {0, 0}
|
||||
-- 有坐骑时
|
||||
if self.PlayerLiveViewData.ride and self.PlayerLiveViewData.ride > 0
|
||||
and self.RideConfig and self.RideConfig.RideOffset then
|
||||
offset = self.RideConfig.RideOffset[dir]
|
||||
end
|
||||
if self.RidePosition then
|
||||
self.rideLiveGo.transform.localPosition = Vector3.New(self.RidePosition.x + offset[1], self.RidePosition.y + offset[2], self.RidePosition.z)
|
||||
end
|
||||
end
|
||||
--界面销毁时调用(用于子类重写)
|
||||
function PlayerLiveView:OnClose()
|
||||
if self.rideLive then
|
||||
|
|
Loading…
Reference in New Issue