xuanyuan commit

dev_chengFeng
jiaoyangna 2020-08-14 20:41:07 +08:00
parent 481c818ffa
commit 740eb7253d
4 changed files with 91 additions and 112 deletions

View File

@ -642,9 +642,9 @@ RectTransform:
m_Father: {fileID: 7783633391680431993} m_Father: {fileID: 7783633391680431993}
m_RootOrder: 0 m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 161.5, y: -50} m_AnchoredPosition: {x: 161.5, y: 0}
m_SizeDelta: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1351034079552654768 --- !u!222 &1351034079552654768
@ -1649,8 +1649,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: -192} m_AnchoredPosition: {x: 0, y: -217}
m_SizeDelta: {x: 0, y: -384} m_SizeDelta: {x: 0, y: -334.1}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3951504111878136269 --- !u!222 &3951504111878136269
CanvasRenderer: CanvasRenderer:
@ -2067,7 +2067,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 510, y: 0}
m_SizeDelta: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2009070379428583229 --- !u!222 &2009070379428583229
@ -2339,7 +2339,7 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_Material: {fileID: 0} m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 0.46666667} m_Color: {r: 1, g: 1, b: 1, a: 0.22352941}
m_RaycastTarget: 0 m_RaycastTarget: 0
m_OnCullStateChanged: m_OnCullStateChanged:
m_PersistentCalls: m_PersistentCalls:

View File

@ -61,13 +61,13 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_Padding: m_Padding:
m_Left: 0 m_Left: -37
m_Right: 0 m_Right: -31
m_Top: 0 m_Top: 0
m_Bottom: 0 m_Bottom: 0
m_ChildAlignment: 4 m_ChildAlignment: 4
m_Spacing: 238.5 m_Spacing: 0
m_ChildForceExpandWidth: 0 m_ChildForceExpandWidth: 1
m_ChildForceExpandHeight: 0 m_ChildForceExpandHeight: 0
m_ChildControlWidth: 0 m_ChildControlWidth: 0
m_ChildControlHeight: 0 m_ChildControlHeight: 0
@ -260,9 +260,9 @@ RectTransform:
m_Father: {fileID: 4102426034733266922} m_Father: {fileID: 4102426034733266922}
m_RootOrder: 2 m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 694.66504, y: -47.1} m_AnchoredPosition: {x: 779.94165, y: 0}
m_SizeDelta: {x: 0, y: 94.2} m_SizeDelta: {x: 0, y: 94.2}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3367264998638970422 --- !u!222 &3367264998638970422
@ -551,8 +551,8 @@ MonoBehaviour:
m_Alignment: 4 m_Alignment: 4
m_AlignByGeometry: 0 m_AlignByGeometry: 0
m_RichText: 1 m_RichText: 1
m_HorizontalOverflow: 0 m_HorizontalOverflow: 1
m_VerticalOverflow: 0 m_VerticalOverflow: 1
m_LineSpacing: 1 m_LineSpacing: 1
m_Text: 10 m_Text: 10
--- !u!1 &1619439027523198803 --- !u!1 &1619439027523198803
@ -618,7 +618,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 1 m_IsActive: 0
--- !u!224 &1960642496998761540 --- !u!224 &1960642496998761540
RectTransform: RectTransform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -750,8 +750,8 @@ MonoBehaviour:
m_Alignment: 4 m_Alignment: 4
m_AlignByGeometry: 0 m_AlignByGeometry: 0
m_RichText: 1 m_RichText: 1
m_HorizontalOverflow: 0 m_HorizontalOverflow: 1
m_VerticalOverflow: 0 m_VerticalOverflow: 1
m_LineSpacing: 1 m_LineSpacing: 1
m_Text: "\u6492\u6253\u53D1\u58EB\u5927\u592B" m_Text: "\u6492\u6253\u53D1\u58EB\u5927\u592B"
LanguageIndex: 10739 LanguageIndex: 10739
@ -791,7 +791,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -2022, y: 339} m_AnchoredPosition: {x: -2158, y: 355}
m_SizeDelta: {x: 912.33, y: 100} m_SizeDelta: {x: 912.33, y: 100}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6916295169242205314 --- !u!222 &6916295169242205314
@ -1084,7 +1084,6 @@ GameObject:
- component: {fileID: 3838016750355674526} - component: {fileID: 3838016750355674526}
- component: {fileID: 4813092285352941563} - component: {fileID: 4813092285352941563}
- component: {fileID: 7796113611560983067} - component: {fileID: 7796113611560983067}
- component: {fileID: 1296148457835336795}
m_Layer: 5 m_Layer: 5
m_Name: Grid m_Name: Grid
m_TagString: Untagged m_TagString: Untagged
@ -1109,9 +1108,9 @@ RectTransform:
m_Father: {fileID: 2046030205416210342} m_Father: {fileID: 2046030205416210342}
m_RootOrder: 1 m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0.5, y: 0.5} m_AnchorMax: {x: 1, y: 0}
m_AnchoredPosition: {x: -0.0025635, y: 0} m_AnchoredPosition: {x: 0, y: 50}
m_SizeDelta: {x: 0, y: 94.2} m_SizeDelta: {x: 0, y: 94.2}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4813092285352941563 --- !u!222 &4813092285352941563
@ -1135,30 +1134,16 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_Padding: m_Padding:
m_Left: 0 m_Left: 1
m_Right: 0 m_Right: 26
m_Top: 0 m_Top: 0
m_Bottom: 0 m_Bottom: 0
m_ChildAlignment: 4 m_ChildAlignment: 4
m_Spacing: 135.1 m_Spacing: 0
m_ChildForceExpandWidth: 0 m_ChildForceExpandWidth: 1
m_ChildForceExpandHeight: 0 m_ChildForceExpandHeight: 0
m_ChildControlWidth: 0 m_ChildControlWidth: 0
m_ChildControlHeight: 0 m_ChildControlHeight: 0
--- !u!114 &1296148457835336795
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2825572765968989730}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1741964061, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_HorizontalFit: 2
m_VerticalFit: 0
--- !u!1 &3012111741304884651 --- !u!1 &3012111741304884651
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -1300,7 +1285,7 @@ MonoBehaviour:
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_FontData: m_FontData:
m_Font: {fileID: 12800000, guid: 4b73e9e4512d17e4daeea351e090d33c, type: 3} m_Font: {fileID: 12800000, guid: 4b73e9e4512d17e4daeea351e090d33c, type: 3}
m_FontSize: 50 m_FontSize: 37
m_FontStyle: 0 m_FontStyle: 0
m_BestFit: 0 m_BestFit: 0
m_MinSize: 0 m_MinSize: 0
@ -1535,8 +1520,8 @@ MonoBehaviour:
m_Alignment: 4 m_Alignment: 4
m_AlignByGeometry: 0 m_AlignByGeometry: 0
m_RichText: 1 m_RichText: 1
m_HorizontalOverflow: 0 m_HorizontalOverflow: 1
m_VerticalOverflow: 0 m_VerticalOverflow: 1
m_LineSpacing: 1 m_LineSpacing: 1
m_Text: "\u6211\u7684\u540D\u5B57\u516D\u5B57\uFF0816\u4EBA\uFF09" m_Text: "\u6211\u7684\u540D\u5B57\u516D\u5B57\uFF0816\u4EBA\uFF09"
LanguageIndex: 10739 LanguageIndex: 10739
@ -1781,7 +1766,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 0 m_IsActive: 1
--- !u!224 &7381467476821938854 --- !u!224 &7381467476821938854
RectTransform: RectTransform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -2163,8 +2148,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0.3} m_AnchoredPosition: {x: 0.0000038146973, y: 0.3}
m_SizeDelta: {x: 242.11, y: 39.5} m_SizeDelta: {x: 100, y: 39.5}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7483217599978951601 --- !u!222 &7483217599978951601
CanvasRenderer: CanvasRenderer:
@ -2196,7 +2181,7 @@ MonoBehaviour:
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_FontData: m_FontData:
m_Font: {fileID: 12800000, guid: 4b73e9e4512d17e4daeea351e090d33c, type: 3} m_Font: {fileID: 12800000, guid: 4b73e9e4512d17e4daeea351e090d33c, type: 3}
m_FontSize: 50 m_FontSize: 37
m_FontStyle: 0 m_FontStyle: 0
m_BestFit: 0 m_BestFit: 0
m_MinSize: 0 m_MinSize: 0
@ -2438,9 +2423,9 @@ RectTransform:
m_Father: {fileID: 4102426034733266922} m_Father: {fileID: 4102426034733266922}
m_RootOrder: 1 m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 456.165, y: -47.1} m_AnchoredPosition: {x: 433.165, y: 0}
m_SizeDelta: {x: 0, y: 94.2} m_SizeDelta: {x: 0, y: 94.2}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7129089383934625793 --- !u!222 &7129089383934625793
@ -2759,9 +2744,9 @@ RectTransform:
m_Father: {fileID: 4102426034733266922} m_Father: {fileID: 4102426034733266922}
m_RootOrder: 0 m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 217.66501, y: -47.1} m_AnchoredPosition: {x: 106.388336, y: 0}
m_SizeDelta: {x: 0, y: 94.2} m_SizeDelta: {x: 0, y: 94.2}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4483062210050947174 --- !u!222 &4483062210050947174
@ -3122,7 +3107,6 @@ GameObject:
- component: {fileID: 224115370092718564} - component: {fileID: 224115370092718564}
- component: {fileID: 1412926872196851615} - component: {fileID: 1412926872196851615}
- component: {fileID: 8369617892496721800} - component: {fileID: 8369617892496721800}
- component: {fileID: 4799887469434519211}
m_Layer: 5 m_Layer: 5
m_Name: Grid m_Name: Grid
m_TagString: Untagged m_TagString: Untagged
@ -3147,9 +3131,9 @@ RectTransform:
m_Father: {fileID: 4723061883012791635} m_Father: {fileID: 4723061883012791635}
m_RootOrder: 1 m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0.5, y: 0.5} m_AnchorMax: {x: 1, y: 0}
m_AnchoredPosition: {x: -0.0025635, y: 0} m_AnchoredPosition: {x: 0, y: 50}
m_SizeDelta: {x: 0, y: 94.2} m_SizeDelta: {x: 0, y: 94.2}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1412926872196851615 --- !u!222 &1412926872196851615
@ -3173,30 +3157,16 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_Padding: m_Padding:
m_Left: 0 m_Left: 1
m_Right: 0 m_Right: 26
m_Top: 0 m_Top: 0
m_Bottom: 0 m_Bottom: 0
m_ChildAlignment: 4 m_ChildAlignment: 4
m_Spacing: 135.1 m_Spacing: 0
m_ChildForceExpandWidth: 0 m_ChildForceExpandWidth: 1
m_ChildForceExpandHeight: 0 m_ChildForceExpandHeight: 0
m_ChildControlWidth: 0 m_ChildControlWidth: 0
m_ChildControlHeight: 0 m_ChildControlHeight: 0
--- !u!114 &4799887469434519211
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8630990970844034826}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1741964061, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_HorizontalFit: 2
m_VerticalFit: 0
--- !u!1 &9110371546659898457 --- !u!1 &9110371546659898457
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@ -104,7 +104,7 @@ end
function this.UpdateLevelState(type) function this.UpdateLevelState(type)
if this.levelData[type] then if this.levelData[type] then
table.sort(this.levelData[type].data,function(a,b) table.sort(this.levelData[type].data,function(a,b)
return a.id < b.id return a.difficulity < b.difficulity
end) end)
local openLevel = 3 local openLevel = 3
for k,v in ipairs(this.levelData[type].data) do for k,v in ipairs(this.levelData[type].data) do
@ -113,6 +113,8 @@ function this.UpdateLevelState(type)
if v.id == this.levelData[type].passId then if v.id == this.levelData[type].passId then
openLevel = v.openLevel openLevel = v.openLevel
end end
else
v.state = -1
end end
if v.difficulity <= openLevel then if v.difficulity <= openLevel then
if v.state == -1 then if v.state == -1 then

View File

@ -67,12 +67,12 @@ end
--添加事件监听(用于子类重写) --添加事件监听(用于子类重写)
function this:AddListener() function this:AddListener()
Game.GlobalEvent:AddEvent(GameEvent.FunctionCtrl.OnXuanYuanFunctionChange, this.UpdateCarbonContent) Game.GlobalEvent:AddEvent(GameEvent.FunctionCtrl.OnXuanYuanFunctionChange, this.UpdateCarbonContent,1)
end end
--移除事件监听(用于子类重写) --移除事件监听(用于子类重写)
function this:RemoveListener() function this:RemoveListener()
Game.GlobalEvent:RemoveEvent(GameEvent.FunctionCtrl.OnXuanYuanFunctionChange, this.UpdateCarbonContent) Game.GlobalEvent:RemoveEvent(GameEvent.FunctionCtrl.OnXuanYuanFunctionChange, this.UpdateCarbonContent,1)
end end
function this:OnOpen() function this:OnOpen()
@ -81,7 +81,7 @@ end
--界面打开时调用(用于子类重写) --界面打开时调用(用于子类重写)
function this:OnShow(...) function this:OnShow(...)
this.UpdateCarbonContent() this.UpdateCarbonContent(0)
-- 音效 -- 音效
SoundManager.PlayMusic(SoundConfig.BGM_Carbon) SoundManager.PlayMusic(SoundConfig.BGM_Carbon)
-- 播放动画 -- 播放动画
@ -117,41 +117,48 @@ end
this.UpdateCarbonContent = function() this.UpdateCarbonContent = function(...)
if not type then if not type then
return return
end end
LogYellow("收到消息,刷新界面") local temp = {...}
local openFunctions = {} local temp = temp[1]
for k,v in pairs(type) do if index and index >= 0 then
local go = Util.GetGameObject(this.gameObject, v.gameObject) Timer.New(function()
go:GetComponent("Image").sprite = Util.LoadSprite(v.bg) LogYellow("收到消息,刷新界面")
Util.GetGameObject(go, "titileBg/Text"):GetComponent("Text").text =v.name local openFunctions = {}
local state = XuanYuanMirrorManager.GetMirrorState(k) == 1 for k,v in pairs(type) do
if not state then local go = Util.GetGameObject(this.gameObject, v.gameObject)
local timeStr = this:GetOpenTime(k) go:GetComponent("Image").sprite = Util.LoadSprite(v.bg)
Util.GetGameObject(go, "timeBg/Text"):GetComponent("Text").text = timeStr.."开启" Util.GetGameObject(go, "titileBg/Text"):GetComponent("Text").text =v.name
Util.GetGameObject(go, "redPoint").gameObject:SetActive(false) local state = XuanYuanMirrorManager.GetMirrorState(k) == 1
else if not state then
openFunctions[k] = {} local timeStr = this:GetOpenTime(k)
openFunctions[k].timeComp = Util.GetGameObject(go, "timeBg/Text"):GetComponent("Text") Util.GetGameObject(go, "timeBg/Text"):GetComponent("Text").text = timeStr.."开启"
if XuanYuanMirrorManager.CarbonRedCheck() then Util.GetGameObject(go, "redPoint").gameObject:SetActive(false)
Util.GetGameObject(go, "redPoint").gameObject:SetActive(true) else
else openFunctions[k] = {}
Util.GetGameObject(go, "redPoint").gameObject:SetActive(false) openFunctions[k].timeComp = Util.GetGameObject(go, "timeBg/Text"):GetComponent("Text")
if XuanYuanMirrorManager.CarbonRedCheck() then
Util.GetGameObject(go, "redPoint").gameObject:SetActive(true)
else
Util.GetGameObject(go, "redPoint").gameObject:SetActive(false)
end
end
Util.SetGray(go,not state)
Util.AddOnceClick(go ,function()
if state then
UIManager.OpenPanel(UIName.XuanYuanMirrorPanelList,k)
else
PopupTipPanel.ShowTip(type[k].name.."未开启!")
end
end)
end end
end this:TimeCountDown(openFunctions)
Util.SetGray(go,not state) this.remainTimes.text = XuanYuanMirrorManager.GetTimeTip()
Util.AddOnceClick(go ,function() end, index):Start()
if state then
UIManager.OpenPanel(UIName.XuanYuanMirrorPanelList,k)
else
PopupTipPanel.ShowTip(type[k].name.."未开启!")
end
end)
end end
this:TimeCountDown(openFunctions)
this.remainTimes.text = XuanYuanMirrorManager.GetTimeTip()
end end
function this:OnSortingOrderChange() function this:OnSortingOrderChange()
@ -216,7 +223,7 @@ function this:TimeCountDown(_openFunctions)
if v.remainTime > 0 then if v.remainTime > 0 then
v.timeComp.text = TimeToHMS(v.remainTime).."后关闭" v.timeComp.text = TimeToHMS(v.remainTime).."后关闭"
else else
this:UpdateCarbonContent() this:UpdateCarbonContent(1)
end end
end end
end, 1, -1, true) end, 1, -1, true)