68 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
		
		
			
		
	
	
			68 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| 
								 | 
							
								local PickBar = {}
							 | 
						||
| 
								 | 
							
								local Reactive = require("Core.Reactive")
							 | 
						||
| 
								 | 
							
								local ESlateVisibility = import("ESlateVisibility")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								local function ResetWatcher(Bar)
							 | 
						||
| 
								 | 
							
								    if Bar.watcher then
							 | 
						||
| 
								 | 
							
								        Bar.watcher:Destroy()
							 | 
						||
| 
								 | 
							
								        Bar.watcher = nil
							 | 
						||
| 
								 | 
							
								    end
							 | 
						||
| 
								 | 
							
								end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function PickBar:ctor()
							 | 
						||
| 
								 | 
							
								    self.watcher = nil
							 | 
						||
| 
								 | 
							
								    self.level_item = nil
							 | 
						||
| 
								 | 
							
								end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function PickBar:OnInitialized()
							 | 
						||
| 
								 | 
							
								    self.ProcessBar:SetVisibility(ESlateVisibility.Collapsed)
							 | 
						||
| 
								 | 
							
								    print("PickBar:OnInitialized")
							 | 
						||
| 
								 | 
							
								end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function PickBar:BindLevelItem(LevelItem)
							 | 
						||
| 
								 | 
							
								    ResetWatcher(self)
							 | 
						||
| 
								 | 
							
								    self.level_item = LevelItem
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    -- self.watcher = Reactive.Watcher(function()
							 | 
						||
| 
								 | 
							
								    --     self:UpdateState()
							 | 
						||
| 
								 | 
							
								    -- end)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    self.watcher = Reactive.Watcher(function()
							 | 
						||
| 
								 | 
							
								        local process = LevelItem:GetPickProcess()
							 | 
						||
| 
								 | 
							
								        if process < 1.0 then
							 | 
						||
| 
								 | 
							
								            self.ProcessBar:SetPercent(process)
							 | 
						||
| 
								 | 
							
								            self.ProcessBar:SetVisibility(ESlateVisibility.SelfHitTestInvisible)
							 | 
						||
| 
								 | 
							
								        else
							 | 
						||
| 
								 | 
							
								            self.ProcessBar:SetVisibility(ESlateVisibility.Collapsed)
							 | 
						||
| 
								 | 
							
								            self.ProcessBar:SetPercent(1.0)
							 | 
						||
| 
								 | 
							
								        end
							 | 
						||
| 
								 | 
							
								    end)
							 | 
						||
| 
								 | 
							
								end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								-- function PickBar:UpdateState()
							 | 
						||
| 
								 | 
							
								--     local process = self.level_item:GetPickProcess()
							 | 
						||
| 
								 | 
							
								--     if process < 1.0 then
							 | 
						||
| 
								 | 
							
								--         self.ProcessBar:SetVisibility(ESlateVisibility.SelfHitTestInvisible)
							 | 
						||
| 
								 | 
							
								--         self.ProcessBar:SetPercent(process)
							 | 
						||
| 
								 | 
							
								--     else
							 | 
						||
| 
								 | 
							
								--         self.ProcessBar:SetVisibility(ESlateVisibility.Collapsed)
							 | 
						||
| 
								 | 
							
								--         self.ProcessBar:SetPercent(1.0)
							 | 
						||
| 
								 | 
							
								--     end
							 | 
						||
| 
								 | 
							
								-- end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function PickBar:OnDestroy()
							 | 
						||
| 
								 | 
							
								    ResetWatcher(self)
							 | 
						||
| 
								 | 
							
								end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function PickBar:Construct()
							 | 
						||
| 
								 | 
							
								    print("PickBar:Construct")
							 | 
						||
| 
								 | 
							
								end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function PickBar:Destruct()
							 | 
						||
| 
								 | 
							
								    print("PickBar:Destruct")
							 | 
						||
| 
								 | 
							
								end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								return Class(nil, nil, PickBar)
							 |