Fix EID toggle key getting triggered while setting it
This commit is contained in:
1 parent
cc3edf0aa2
commit
69b3a178b4
1 file changed
+44
-43
@@ -387,50 +387,48 @@ local scaleToBigger = true
|
|||||||
local scaleConfigName = "Size"
|
local scaleConfigName = "Size"
|
||||||
local scaleHoldFrame = 0
|
local scaleHoldFrame = 0
|
||||||
local function handleScaleKey()
|
local function handleScaleKey()
|
||||||
if not ModConfigMenu or not ModConfigMenu.IsVisible then
|
local scaleKey = EID.Config["SizeHotkey"]
|
||||||
local scaleKey = EID.Config["SizeHotkey"]
|
|
||||||
|
|
||||||
-- press and hold ScaleKey
|
-- press and hold ScaleKey
|
||||||
if Input.IsButtonPressed(scaleKey, 0) then
|
if Input.IsButtonPressed(scaleKey, 0) then
|
||||||
if scaleHoldFrame > 60 then
|
if scaleHoldFrame > 60 then
|
||||||
EID.MCM_OptionChanged = true
|
|
||||||
local newScale
|
|
||||||
if scaleToBigger then
|
|
||||||
newScale = EID.Scale + scaleSpeed
|
|
||||||
if newScale > scaleMax then
|
|
||||||
scaleToBigger = false
|
|
||||||
end
|
|
||||||
else
|
|
||||||
newScale = EID.Scale - scaleSpeed
|
|
||||||
if newScale < scaleMin then
|
|
||||||
scaleToBigger = true
|
|
||||||
end
|
|
||||||
end
|
|
||||||
EID.Scale = newScale
|
|
||||||
EID.Config[scaleConfigName] = newScale
|
|
||||||
else
|
|
||||||
scaleHoldFrame = scaleHoldFrame + 1
|
|
||||||
end
|
|
||||||
end
|
|
||||||
-- press ScaleKey
|
|
||||||
if Input.IsButtonTriggered(scaleKey, 0) then
|
|
||||||
EID.MCM_OptionChanged = true
|
EID.MCM_OptionChanged = true
|
||||||
scaleHoldFrame = 0
|
local newScale
|
||||||
local scale = EID.Scale
|
if scaleToBigger then
|
||||||
|
newScale = EID.Scale + scaleSpeed
|
||||||
-- switch between 1, 1.5 and 0.5
|
if newScale > scaleMax then
|
||||||
if math.abs(scale - 1) < 0.01 then
|
scaleToBigger = false
|
||||||
scale = 1.5
|
end
|
||||||
elseif math.abs(scale - 1.5) < 0.01 then
|
|
||||||
scale = 0.5
|
|
||||||
else
|
else
|
||||||
scale = 1
|
newScale = EID.Scale - scaleSpeed
|
||||||
|
if newScale < scaleMin then
|
||||||
|
scaleToBigger = true
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
EID.Scale = newScale
|
||||||
EID.Config[scaleConfigName] = scale
|
EID.Config[scaleConfigName] = newScale
|
||||||
EID.Scale = scale
|
else
|
||||||
|
scaleHoldFrame = scaleHoldFrame + 1
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
-- press ScaleKey
|
||||||
|
if Input.IsButtonTriggered(scaleKey, 0) then
|
||||||
|
EID.MCM_OptionChanged = true
|
||||||
|
scaleHoldFrame = 0
|
||||||
|
local scale = EID.Scale
|
||||||
|
|
||||||
|
-- switch between 1, 1.5 and 0.5
|
||||||
|
if math.abs(scale - 1) < 0.01 then
|
||||||
|
scale = 1.5
|
||||||
|
elseif math.abs(scale - 1.5) < 0.01 then
|
||||||
|
scale = 0.5
|
||||||
|
else
|
||||||
|
scale = 1
|
||||||
|
end
|
||||||
|
|
||||||
|
EID.Config[scaleConfigName] = scale
|
||||||
|
EID.Scale = scale
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
---------------------------------------------------------------------------
|
---------------------------------------------------------------------------
|
||||||
@@ -944,17 +942,20 @@ local function onRender(t)
|
|||||||
EID.OptionChanged = EID.MCM_OptionChanged
|
EID.OptionChanged = EID.MCM_OptionChanged
|
||||||
EID.MCM_OptionChanged = false
|
EID.MCM_OptionChanged = false
|
||||||
EID:resumeCoroutines()
|
EID:resumeCoroutines()
|
||||||
handleScaleKey()
|
|
||||||
|
-- Do not check our hotkeys while MCM is open, or they will be triggered while rebinding
|
||||||
|
if not ModConfigMenu or not ModConfigMenu.IsVisible then
|
||||||
|
handleScaleKey()
|
||||||
|
if Input.IsButtonTriggered(EID.Config["HideKey"], 0) or Input.IsButtonTriggered(EID.Config["HideButton"], EID.player.ControllerIndex) then
|
||||||
|
EID.isHidden = not EID.isHidden
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
EID.isDisplaying = false
|
EID.isDisplaying = false
|
||||||
EID:setPlayer()
|
EID:setPlayer()
|
||||||
EID:PositionLocalMode() -- default to non-local mode to fix MCM / Bag errors
|
EID:PositionLocalMode() -- default to non-local mode to fix MCM / Bag errors
|
||||||
EID.TabPreviewID = 0
|
EID.TabPreviewID = 0
|
||||||
|
|
||||||
if Input.IsButtonTriggered(EID.Config["HideKey"], 0) or Input.IsButtonTriggered(EID.Config["HideButton"], EID.player.ControllerIndex) then
|
|
||||||
EID.isHidden = not EID.isHidden
|
|
||||||
end
|
|
||||||
|
|
||||||
if ModConfigMenu and ModConfigMenu.IsVisible and ModConfigMenu.Config["Mod Config Menu"].HideHudInMenu and EID.MCMCompat_isDisplayingEIDTab ~= "Visuals" and EID.MCMCompat_isDisplayingEIDTab ~= "Crafting" then --if the mod config menu exists, is opened and Hide Hud is enabled, and ModConfigMenu isn't currently in the "Visuals" or "Crafting" tab of EID
|
if ModConfigMenu and ModConfigMenu.IsVisible and ModConfigMenu.Config["Mod Config Menu"].HideHudInMenu and EID.MCMCompat_isDisplayingEIDTab ~= "Visuals" and EID.MCMCompat_isDisplayingEIDTab ~= "Crafting" then --if the mod config menu exists, is opened and Hide Hud is enabled, and ModConfigMenu isn't currently in the "Visuals" or "Crafting" tab of EID
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in new issue
Block a user