GSServer-CBT/soggy_resources/lua/UAuto/TestCases/perf/RunSceneSetPosMini.lua

109 lines
3.6 KiB
Lua
Raw Normal View History

2022-11-21 11:30:31 +03:00
require('Actor/ActorCommon')
--baseClass提供基础接口
local baseClass = require('UAuto/Base/UAutoLuaTestBase')
--所有testcase继承baseClass
local UAutoLuaTestCase = class("RunScene",baseClass)
local self = UAutoLuaTestCase
self.TestFixture = "RunSceneSetPosMini"
self.Category = "PerformanceTest"
self.Description = "性能测试跑图setPos"
self.Order=10001
self.Step1 = {
Order = 1,
Type = CaseType.MonoTest,
Description = "移动到目标点",
Action = UAutoCoroutine(function()
-- 获取当前entity
local entityManager = singletonManager:GetSingletonInstance("MoleMole.EntityManager")
local localAvatar = entityManager:GetLocalAvatarEntity()
yield_return(self.base:RunGM("STAMINA INFINITE ON"))
yield_return(self.base:RunGM("WUDI ON"))
-- 设定角色隐身
CS.MoleMole.GlobalVars.DebugPlayerInvisible_On = true
-- 开启性能采集
yield_return(self.base:RunGM("StartStatUnit RunScenePerf"))
-- 风龙巢穴片区
local minX = 2600
local maxX = 2800
local minZ = 20
local maxZ = 280
local x = minX
local z = minZ
local rotX = 0
-- 网格粒度
local interaction = 10
local direction = true
while (x <= maxX)
do
if direction then
-- 正向遍历z
while (z <= maxZ)
do
y = self.base:GetCurrentY(x, z)
pos = CS.UnityEngine.Vector3(x, y, z)
-- 等待3秒
yield_return(CS.UnityEngine.WaitForSeconds(3))
globalActor:LoadSectorByPos(pos, function()
-- isInBigWorld = self.base:IsInLimitRegion(pos)
if true then
-- 坐标在大世界内
-- 移动角色到目标点
localAvatar:SetPosition(pos)
z = z + interaction
end
end)
-- 等待1秒
yield_return(CS.UnityEngine.WaitForSeconds(1))
-- 采集数据
yield_return(self.base:RunGM("SnapshotStatUnit -1"))
-- 等待1秒
yield_return(CS.UnityEngine.WaitForSeconds(1))
end
else
-- 逆向遍历z
while (z >= minZ)
do
y = self.base:GetCurrentY(x, z)
pos = CS.UnityEngine.Vector3(x, y, z)
-- 等待3秒
yield_return(CS.UnityEngine.WaitForSeconds(3))
globalActor:LoadSectorByPos(pos, function()
-- isInBigWorld = self.base:IsInLimitRegion(pos)
if true then
-- 坐标在大世界内
-- 移动角色到目标点
localAvatar:SetPosition(pos)
z = z - interaction
end
end)
-- 等待1秒
yield_return(CS.UnityEngine.WaitForSeconds(1))
-- 采集数据
yield_return(self.base:RunGM("SnapshotStatUnit -1"))
-- 等待1秒
yield_return(CS.UnityEngine.WaitForSeconds(1))
end
end
x = x + interaction
direction = not direction
end
yield_return(self.base:RunGM("StopStatUnit"))
end)
}
return self