Back to Home

ESO Lua File v101041

pregame/charactercreate/gamepad/zo_charactercreatetriangle_gamepad.lua

[◄ back to folders ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
ZO_CharacterCreateTriangle_Gamepad = ZO_CharacterCreateTriangle_Base:Subclass()
function ZO_CharacterCreateTriangle_Gamepad:New(triangleControl, setterFn, updaterFn, triangleStringId, topStringId, leftStringId, rightStringId)
    local triangle = ZO_CharacterCreateTriangle_Base.New(self, triangleControl, setterFn, updaterFn, triangleStringId, topStringId, leftStringId, rightStringId)
    -- Prevent the Focus Movement Controller from interfering with the triangle movement
    triangle.disableFocusMovementController = true
    return triangle
end
function ZO_CharacterCreateTriangle_Gamepad:UpdateDirectionalInput()
    if self:IsLocked() then
        return
    end
    local x, y = self.picker:GetThumbPosition()
    x = x / self.width
    y = y / self.height
    local mx, my = DIRECTIONAL_INPUT:GetXY(ZO_DI_LEFT_STICK, ZO_DI_DPAD)
    local deadZone = 0.0
    local scale = 0.02
    local changed = false
    if math.abs(mx) > deadZone then
        x = x + mx * scale
        changed = true
    end
    if math.abs(my) > deadZone then
        y = y - my * scale
        changed = true
    end
    if changed then
        self:SetValue(self.width * x, self.height * y)
        self:Update()
        --Re-narrate when the value changes
        GAMEPAD_BUCKET_MANAGER:NarrateCurrentBucket()
    end
end
function ZO_CharacterCreateTriangle_Gamepad:EnableFocus(enabled)
    if enabled then
        DIRECTIONAL_INPUT:Activate(self, self.control)
    else
        DIRECTIONAL_INPUT:Deactivate(self)
    end
end
function ZO_CharacterCreateTriangle_Gamepad:GetNarrationText()
    local narrations = {}
    local left, right, top = self.picker:GetBarycentricCoordinates()
    ZO_AppendNarration(narrations, ZO_GetTrianglePickerVertexNarrationText(self.leftText, left))
    ZO_AppendNarration(narrations, ZO_GetTrianglePickerVertexNarrationText(self.rightText, right))
    if self:IsLocked() then
        ZO_AppendNarration(narrations, SCREEN_NARRATION_MANAGER:CreateNarratableObject(GetString(SI_SCREEN_NARRATION_LOCKED_ICON_NARRATION)))
    end
    return narrations
end