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) |