【坐骑】坐骑和人物层级改为表配置
parent
8a7b7c0ca3
commit
44cb4eb282
|
@ -165,8 +165,8 @@ function PlayerLiveView:OnShowLive()
|
|||
if self.PlayerLiveViewData.ride and self.PlayerLiveViewData.ride > 0 then
|
||||
isRide = true
|
||||
self.rideLiveGo:SetActive(true)
|
||||
local curPlayerRole = ConfigManager.GetConfigData(ConfigName.PlayerRole,self.PlayerLiveViewData.ride)
|
||||
local curArtResourcesConfig = ConfigManager.GetConfigData(ConfigName.ArtResourcesConfig,curPlayerRole.LiveAnimName)
|
||||
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.rideLiveStr = curArtResourcesConfig.Name
|
||||
|
@ -175,11 +175,8 @@ function PlayerLiveView:OnShowLive()
|
|||
if self.rideLivSkeletonGraphic then
|
||||
self.rideLivSkeletonGraphic.AnimationState:SetAnimation(0, RIDE_WALK_DIR.IDLE_FRONT.animation, true)
|
||||
end
|
||||
if self.PlayerLiveViewData.ride == PlayerRide.YUJIAN then
|
||||
self:SetSiblingIndexPlayerOrRide(2)
|
||||
else
|
||||
self:SetSiblingIndexPlayerOrRide(1)
|
||||
end
|
||||
-- 默认向前,设置层级
|
||||
self:SetSiblingIndexPlayerOrRide(1)
|
||||
end
|
||||
|
||||
--称号
|
||||
|
@ -234,12 +231,8 @@ function PlayerLiveView:SetWalkDir(dir)
|
|||
elseif self.PlayerLiveViewData.ride and self.PlayerLiveViewData.ride > 0 and (not self.PlayerLiveViewData.skin or self.PlayerLiveViewData.skin and self.PlayerLiveViewData.skin <= 0) then
|
||||
self:SetWalkDirInfo(nil,RIDE_WALK_DIR.IDLE_FRONT)
|
||||
end
|
||||
if (self.PlayerLiveViewData.ride and self.PlayerLiveViewData.ride > 0) and self.PlayerLiveViewData.ride == PlayerRide.YUJIAN then
|
||||
self:SetSiblingIndexPlayerOrRide(2)
|
||||
else
|
||||
self:SetSiblingIndexPlayerOrRide(1)
|
||||
end
|
||||
|
||||
-- 设置层级
|
||||
self:SetSiblingIndexPlayerOrRide(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
|
||||
|
@ -252,6 +245,8 @@ function PlayerLiveView:SetWalkDir(dir)
|
|||
elseif self.PlayerLiveViewData.ride and self.PlayerLiveViewData.ride > 0 and (not self.PlayerLiveViewData.skin or self.PlayerLiveViewData.skin and self.PlayerLiveViewData.skin <= 0) then
|
||||
self:SetWalkDirInfo(nil,RIDE_WALK_DIR.IDLE_BACK)
|
||||
end
|
||||
|
||||
-- 设置层级
|
||||
self:SetSiblingIndexPlayerOrRide(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
|
||||
|
@ -265,7 +260,8 @@ function PlayerLiveView:SetWalkDir(dir)
|
|||
elseif self.PlayerLiveViewData.ride and self.PlayerLiveViewData.ride > 0 and (not self.PlayerLiveViewData.skin or self.PlayerLiveViewData.skin and self.PlayerLiveViewData.skin <= 0) then
|
||||
self:SetWalkDirInfo(nil,RIDE_WALK_DIR.IDLE_LEFT)
|
||||
end
|
||||
self:SetSiblingIndexPlayerOrRide(2)
|
||||
-- 设置层级
|
||||
self:SetSiblingIndexPlayerOrRide(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
|
||||
|
@ -278,7 +274,9 @@ function PlayerLiveView:SetWalkDir(dir)
|
|||
elseif self.PlayerLiveViewData.ride and self.PlayerLiveViewData.ride > 0 and (not self.PlayerLiveViewData.skin or self.PlayerLiveViewData.skin and self.PlayerLiveViewData.skin <= 0) then
|
||||
self:SetWalkDirInfo(nil,RIDE_WALK_DIR.IDLE_RIGHT)
|
||||
end
|
||||
self:SetSiblingIndexPlayerOrRide(2)
|
||||
|
||||
-- 设置层级
|
||||
self:SetSiblingIndexPlayerOrRide(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,7 +289,8 @@ function PlayerLiveView:SetWalkDir(dir)
|
|||
elseif self.PlayerLiveViewData.ride and self.PlayerLiveViewData.ride > 0 and (not self.PlayerLiveViewData.skin or self.PlayerLiveViewData.skin and self.PlayerLiveViewData.skin <= 0) then
|
||||
self:SetWalkDirInfo(nil,RIDE_WALK_DIR.RUN_RIGHT)
|
||||
end
|
||||
self:SetSiblingIndexPlayerOrRide(2)
|
||||
-- 设置层级
|
||||
self:SetSiblingIndexPlayerOrRide(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
|
||||
|
@ -304,7 +303,8 @@ function PlayerLiveView:SetWalkDir(dir)
|
|||
elseif self.PlayerLiveViewData.ride and self.PlayerLiveViewData.ride > 0 and (not self.PlayerLiveViewData.skin or self.PlayerLiveViewData.skin and self.PlayerLiveViewData.skin <= 0) then
|
||||
self:SetWalkDirInfo(nil,RIDE_WALK_DIR.RUN_LEFT)
|
||||
end
|
||||
self:SetSiblingIndexPlayerOrRide(2)
|
||||
-- 设置层级
|
||||
self:SetSiblingIndexPlayerOrRide(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
|
||||
|
@ -318,6 +318,7 @@ function PlayerLiveView:SetWalkDir(dir)
|
|||
elseif self.PlayerLiveViewData.ride and self.PlayerLiveViewData.ride > 0 and (not self.PlayerLiveViewData.skin or self.PlayerLiveViewData.skin and self.PlayerLiveViewData.skin <= 0) then
|
||||
self:SetWalkDirInfo(nil,RIDE_WALK_DIR.RUN_UP)
|
||||
end
|
||||
-- 设置层级
|
||||
self:SetSiblingIndexPlayerOrRide(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
|
||||
|
@ -331,32 +332,29 @@ function PlayerLiveView:SetWalkDir(dir)
|
|||
elseif self.PlayerLiveViewData.ride and self.PlayerLiveViewData.ride > 0 and (not self.PlayerLiveViewData.skin or self.PlayerLiveViewData.skin and self.PlayerLiveViewData.skin <= 0) then
|
||||
self:SetWalkDirInfo(nil,RIDE_WALK_DIR.DOWN)
|
||||
end
|
||||
if (self.PlayerLiveViewData.ride and self.PlayerLiveViewData.ride > 0) and self.PlayerLiveViewData.ride == PlayerRide.YUJIAN then
|
||||
self:SetSiblingIndexPlayerOrRide(2)
|
||||
else
|
||||
self:SetSiblingIndexPlayerOrRide(1)
|
||||
end
|
||||
-- 设置层级
|
||||
self:SetSiblingIndexPlayerOrRide(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)
|
||||
else
|
||||
self:SetWalkDirInfo(PLAYER_WALK_DIR.JINGYA)
|
||||
end
|
||||
self:SetSiblingIndexPlayerOrRide(1)
|
||||
-- self:SetSiblingIndexPlayerOrRide(1)
|
||||
elseif dir == WALK_DIR.LAUCH then-- 发射
|
||||
if self.PlayerLiveViewData.ride and self.PlayerLiveViewData.ride > 0 then
|
||||
-- self:SetWalkDirInfo(PLAYER_WALK_DIR.IDLE_FRONT,RIDE_WALK_DIR.IDLE_FRONT)
|
||||
else
|
||||
self:SetWalkDirInfo(PLAYER_WALK_DIR.LAUCH)
|
||||
end
|
||||
self:SetSiblingIndexPlayerOrRide(1)
|
||||
-- self:SetSiblingIndexPlayerOrRide(1)
|
||||
elseif dir == WALK_DIR.TOUCH then-- 轻按
|
||||
if self.PlayerLiveViewData.ride and self.PlayerLiveViewData.ride > 0 then
|
||||
-- self:SetWalkDirInfo(PLAYER_WALK_DIR.IDLE_FRONT,RIDE_WALK_DIR.IDLE_FRONT)
|
||||
else
|
||||
self:SetWalkDirInfo(PLAYER_WALK_DIR.TOUCH)
|
||||
end
|
||||
self:SetSiblingIndexPlayerOrRide(1)
|
||||
-- self:SetSiblingIndexPlayerOrRide(1)
|
||||
end
|
||||
end
|
||||
function PlayerLiveView:SetWalkDirInfo(playerDir,RideDir)
|
||||
|
@ -375,7 +373,23 @@ function PlayerLiveView:SetWalkDirInfo(playerDir,RideDir)
|
|||
self.oldRideDiry = RideDir.y
|
||||
end
|
||||
end
|
||||
function PlayerLiveView:SetSiblingIndexPlayerOrRide(type)
|
||||
-- 根据人物方向设置人物和坐骑的层级关系
|
||||
function PlayerLiveView:SetSiblingIndexPlayerOrRide(dir)
|
||||
if not dir then
|
||||
return
|
||||
end
|
||||
local type = nil
|
||||
-- 有坐骑时
|
||||
if self.PlayerLiveViewData.ride and self.PlayerLiveViewData.ride > 0
|
||||
and self.RideConfig and self.RideConfig.RideLayer then
|
||||
type = self.RideConfig.RideLayer[dir]
|
||||
end
|
||||
-- 没有坐骑时
|
||||
if not type then
|
||||
local dirSibling = {1, 2, 2, 2} -- 前,后,左,右
|
||||
type = dirSibling[dir]
|
||||
end
|
||||
-- 根据类型设置层级
|
||||
if type == 1 then--坐骑靠前
|
||||
self.playerLiveGo.transform:SetSiblingIndex(2)
|
||||
self.rideLiveGo.transform:SetSiblingIndex(3)
|
||||
|
|
Loading…
Reference in New Issue