mirror of
https://github.com/copyrighttxt/watrbx-game-engine.git
synced 2026-09-04 20:57:49 +00:00
GEEKING
This commit is contained in:
@@ -0,0 +1,107 @@
|
||||
--[[
|
||||
// OutfitTile.lua
|
||||
|
||||
// Created by Kip Turner
|
||||
// Copyright Roblox 2015
|
||||
]]
|
||||
|
||||
|
||||
local ContextActionService = game:GetService("ContextActionService")
|
||||
local CoreGui = game:GetService("CoreGui")
|
||||
local GuiRoot = CoreGui:FindFirstChild("RobloxGui")
|
||||
local Modules = GuiRoot:FindFirstChild("Modules")
|
||||
|
||||
|
||||
local Utility = require(Modules:FindFirstChild('Utility'))
|
||||
local SoundManager = require(Modules:FindFirstChild('SoundManager'))
|
||||
local ScreenManager = require(Modules:FindFirstChild('ScreenManager'))
|
||||
local Errors = require(Modules:FindFirstChild('Errors'))
|
||||
local ErrorOverlayModule = require(Modules:FindFirstChild('ErrorOverlay'))
|
||||
local ThumbnailLoader = require(Modules:FindFirstChild('ThumbnailLoader'))
|
||||
|
||||
|
||||
local BaseTile = require(Modules:FindFirstChild('BaseTile'))
|
||||
|
||||
|
||||
local function createOutfitTileContainer(outfitData)
|
||||
local this = BaseTile()
|
||||
|
||||
local function wearOutfitAsync()
|
||||
local result = outfitData:WearAsync()
|
||||
|
||||
-- print("Wear Outfit Result:" , Utility.PrettyPrint(result))
|
||||
|
||||
-- if result and result['success'] == true then
|
||||
-- else
|
||||
-- local err = Errors.OutfitEquip['Default']
|
||||
-- ScreenManager:OpenScreen(ErrorOverlayModule(err), false)
|
||||
-- end
|
||||
end
|
||||
|
||||
local thumbnailLoader = ThumbnailLoader:Create(this.AvatarImage, outfitData:GetOutfitId(), ThumbnailLoader.Sizes.Medium, ThumbnailLoader.AssetType.Outfit, true)
|
||||
spawn(function()
|
||||
thumbnailLoader:LoadAsync(false, true)
|
||||
end)
|
||||
|
||||
this:SetPopupText(outfitData:GetName())
|
||||
|
||||
function this:UpdateEquipButton()
|
||||
self.EquippedCheckmark.Visible = outfitData:IsWearing()
|
||||
end
|
||||
|
||||
function this:GetPackageInfo()
|
||||
return outfitData
|
||||
end
|
||||
|
||||
local selectDebounce = false
|
||||
function this:Select()
|
||||
if selectDebounce then return false end
|
||||
selectDebounce = true
|
||||
spawn(function()
|
||||
wearOutfitAsync()
|
||||
selectDebounce = false
|
||||
end)
|
||||
return true
|
||||
end
|
||||
|
||||
|
||||
local isWearingConn = nil
|
||||
local baseShow = this.Show
|
||||
function this:Show()
|
||||
baseShow(self)
|
||||
self:SetActive(true)
|
||||
Utility.DisconnectEvent(isWearingConn)
|
||||
isWearingConn = outfitData.IsWearingChanged:connect(function() self:UpdateEquipButton() end)
|
||||
end
|
||||
|
||||
local baseHide = this.Hide
|
||||
function this:Hide()
|
||||
baseHide(self)
|
||||
isWearingConn = Utility.DisconnectEvent(isWearingConn)
|
||||
end
|
||||
|
||||
local baseFocus = this.Focus
|
||||
function this:Focus()
|
||||
baseFocus(self)
|
||||
|
||||
-- ContextActionService:BindCoreAction("WearSelectedOutfitItem",
|
||||
-- function(actionName, inputState, inputObject)
|
||||
-- if inputState == Enum.UserInputState.End then
|
||||
-- SoundManager:Play('ButtonPress')
|
||||
-- wearOutfitAsync()
|
||||
-- end
|
||||
-- end,
|
||||
-- false,
|
||||
-- Enum.KeyCode.ButtonX)
|
||||
end
|
||||
|
||||
local baseRemoveFocus = this.RemoveFocus
|
||||
function this:RemoveFocus()
|
||||
baseRemoveFocus(self)
|
||||
-- ContextActionService:UnbindCoreAction("WearSelectedOutfitItem")
|
||||
end
|
||||
|
||||
return this
|
||||
end
|
||||
|
||||
return createOutfitTileContainer
|
||||
Reference in New Issue
Block a user