|
CheatBloomView = CheatBloomView or BaseClass(BaseView)
|
|
local CheatBloomView = CheatBloomView
|
|
|
|
function CheatBloomView:__init()
|
|
self.base_file = "cheat"
|
|
self.layout_file = "CheatBloomView"
|
|
self.layer_name = "Top"
|
|
self.destroy_imm = true
|
|
self.use_background = false
|
|
self.change_scene_close = true
|
|
self.is_show = true
|
|
self.is_on = false
|
|
|
|
self.load_callback = function ()
|
|
self:LoadSuccess()
|
|
self:AddEvent()
|
|
end
|
|
self.open_callback = function ( )
|
|
self:OpenSuccess()
|
|
end
|
|
self.destroy_callback = function ( )
|
|
self:DestroySuccess()
|
|
end
|
|
end
|
|
|
|
function CheatBloomView:Open( )
|
|
--self.data = data
|
|
BaseView.Open(self)
|
|
end
|
|
|
|
function CheatBloomView:LoadSuccess()
|
|
self.threshold_slider = self:GetChild("threshold/countSlider"):GetComponent("Slider")
|
|
self.threshold_value = self:GetChild("threshold/value"):GetComponent("Text")
|
|
|
|
self.intensity_slider = self:GetChild("intensity/countSlider"):GetComponent("Slider")
|
|
self.intensity_value = self:GetChild("intensity/value"):GetComponent("Text")
|
|
self.intensity_slider.maxValue = 300
|
|
|
|
self.blurSize_slider = self:GetChild("blurSize/countSlider"):GetComponent("Slider")
|
|
self.blurSize_value = self:GetChild("blurSize/value"):GetComponent("Text")
|
|
|
|
self.blurIteration_slider = self:GetChild("blurIteration/countSlider"):GetComponent("Slider")
|
|
self.blurIteration_value = self:GetChild("blurIteration/value"):GetComponent("Text")
|
|
|
|
self.close_btn = self:GetChild("closeBtn").gameObject
|
|
self.hideBtn = self:GetChild("hideBtn").gameObject
|
|
|
|
self.tog_btn = self:GetChild("show_toggle/Background").gameObject
|
|
self.tog_btn_mask = self:GetChild("show_toggle/Background/Checkmark").gameObject
|
|
|
|
self.cam_tog_btn = self:GetChild("cam_toggle/Background").gameObject
|
|
self.cam_tog_btn_mask = self:GetChild("cam_toggle/Background/Checkmark").gameObject
|
|
|
|
-- 泛光模糊算法
|
|
self.dual_bloom_toggle = self:GetChild("dual_bloom_toggle"):GetComponent("Toggle")
|
|
-- self.transform.anchorMin = Vector2(0.5,0.5)
|
|
-- self.transform.anchorMax = Vector2(0.5,0.5)
|
|
-- SetAnchoredPosition(self.transform, (ScreenWidth-366)/2, 0)
|
|
SetAnchoredPosition(self.transform, -ClientConfig.iphone_x_offset_right, 0)
|
|
|
|
self:InitCamera()
|
|
end
|
|
|
|
function CheatBloomView:InitCamera( )
|
|
local is_ui_mode = self.cam_tog_btn_mask.activeSelf
|
|
local temp_camera
|
|
if is_ui_mode then
|
|
temp_camera = GameObject.Find("root").transform:Find("UIBackRoleCamera")
|
|
else
|
|
temp_camera = MainCamera.Instance.camera_gameObject
|
|
end
|
|
print("tanar: [CheatBloomView 65]=> temp_camera: ",temp_camera)
|
|
if temp_camera then
|
|
-- self.bloom_effect = temp_camera:GetComponent(typeof(UnityStandardAssets.ImageEffects.BloomOptimized))
|
|
self.bloom_effect = temp_camera:GetComponent(typeof(PostEffect))
|
|
end
|
|
|
|
if not IsNull(self.bloom_effect) then
|
|
self.is_on = self.bloom_effect.EnableBloom
|
|
end
|
|
end
|
|
|
|
function CheatBloomView:AddEvent()
|
|
local function onBtnClickHandler( target )
|
|
if target == self.close_btn then
|
|
self:Close()
|
|
elseif target == self.hideBtn then
|
|
self:HideAction(not self.is_show)
|
|
elseif target == self.tog_btn then
|
|
self.is_on = not self.is_on
|
|
self:UpdateTog()
|
|
elseif target == self.cam_tog_btn then
|
|
local is_ui_mode = self.cam_tog_btn_mask.activeSelf
|
|
is_ui_mode = not is_ui_mode
|
|
self.cam_tog_btn_mask:SetActive(is_ui_mode)
|
|
self:InitCamera()
|
|
self:UpdateView()
|
|
elseif target == self.dual_bloom_toggle.gameObject then
|
|
self:UpdateDualBloom()
|
|
end
|
|
end
|
|
AddClickEvent(self.close_btn, onBtnClickHandler)
|
|
AddClickEvent(self.hideBtn, onBtnClickHandler)
|
|
AddClickEvent(self.tog_btn, onBtnClickHandler)
|
|
AddClickEvent(self.cam_tog_btn, onBtnClickHandler)
|
|
AddClickEvent(self.dual_bloom_toggle.gameObject, onBtnClickHandler)
|
|
|
|
local function onSliderDragEnd(target)
|
|
local value = target:GetComponent("Slider").value
|
|
if target == self.threshold_slider.gameObject then
|
|
local temp_value = tonumber(string.format("%.2f", value/100))
|
|
self.threshold_value.text = temp_value
|
|
if self.bloom_effect then
|
|
self.bloom_effect.threshold = temp_value
|
|
end
|
|
self:ApplyBloom()
|
|
elseif target == self.intensity_slider.gameObject then
|
|
local temp_value = tonumber(string.format("%.2f", value/100))
|
|
self.intensity_value.text = temp_value
|
|
if self.bloom_effect then
|
|
self.bloom_effect.intensity = temp_value
|
|
end
|
|
self:ApplyBloom()
|
|
elseif target == self.blurSize_slider.gameObject then
|
|
local temp_value = tonumber(string.format("%.2f", value/100))
|
|
self.blurSize_value.text = temp_value
|
|
if self.bloom_effect then
|
|
self.bloom_effect.blurSize = temp_value
|
|
end
|
|
elseif target == self.blurIteration_slider.gameObject then
|
|
local temp_value = value
|
|
self.blurIteration_value.text = temp_value
|
|
if self.bloom_effect then
|
|
self.bloom_effect.blurIterations = temp_value
|
|
end
|
|
end
|
|
end
|
|
AddDragEvent(self.threshold_slider.gameObject,onSliderDragEnd)
|
|
AddDragEvent(self.intensity_slider.gameObject,onSliderDragEnd)
|
|
AddDragEvent(self.blurSize_slider.gameObject,onSliderDragEnd)
|
|
AddDragEvent(self.blurIteration_slider.gameObject,onSliderDragEnd)
|
|
end
|
|
|
|
function CheatBloomView:UpdateTog( )
|
|
self.tog_btn_mask:SetActive(self.is_on)
|
|
self.bloom_effect.EnableBloom = self.is_on
|
|
end
|
|
|
|
function CheatBloomView:UpdateDualBloom( )
|
|
self.bloom_effect.use_dual_bloom = self.dual_bloom_toggle.isOn
|
|
end
|
|
|
|
function CheatBloomView:OpenSuccess()
|
|
self:UpdateView()
|
|
end
|
|
|
|
function CheatBloomView:UpdateView()
|
|
if IsNull(self.bloom_effect) then
|
|
return
|
|
end
|
|
|
|
local value = self.bloom_effect.threshold
|
|
local temp_value = value*100
|
|
self.threshold_value.text = string.format("%.2f", value)
|
|
self.threshold_slider.value = temp_value
|
|
|
|
local value = self.bloom_effect.intensity
|
|
local temp_value = value*100
|
|
self.intensity_value.text = value
|
|
self.intensity_slider.value = temp_value
|
|
|
|
local value = self.bloom_effect.blurSize
|
|
local temp_value = value*100
|
|
self.blurSize_value.text = value
|
|
self.blurSize_slider.value = temp_value
|
|
|
|
local value = self.bloom_effect.blurIterations
|
|
local temp_value = value
|
|
self.blurIteration_value.text = value
|
|
self.blurIteration_slider.value = temp_value
|
|
|
|
self.dual_bloom_toggle.isOn = self.bloom_effect.use_dual_bloom
|
|
end
|
|
|
|
function CheatBloomView:ApplyBloom( )
|
|
local function apply_bloom()
|
|
if self.bloom_effect then
|
|
if self.bloom_effect.use_dual_bloom then
|
|
self.bloom_effect:ApplyBloomMaterialProperties()
|
|
end
|
|
end
|
|
end
|
|
TimeManager.GetInstance():StartTime("CheatBloomView_ApplyBloom", 0.5, apply_bloom)
|
|
end
|
|
|
|
function CheatBloomView:HideAction(show)
|
|
self.is_show = show
|
|
self.hideBtn.transform.localRotation = Quaternion.Euler(Vector3(0, 0, self.is_show and 90 or 270))
|
|
local target_pos_x = (self.is_show and 0 or 366 ) - ClientConfig.iphone_x_offset_right
|
|
self.con_anim_id = TweenLite.to(self, self.transform, TweenLite.UiAnimationType.ANCHORED_POSX, target_pos_x, 0.3, nil, TweenFunc.EASE_OUT_QUINT)
|
|
end
|
|
|
|
function CheatBloomView:StopHideAction( )
|
|
if self.con_anim_id then
|
|
TweenLite.Stop(self.con_anim_id)
|
|
SetAnchoredPositionX(self.transform, (self.is_show and 0 or 366 ) - ClientConfig.iphone_x_offset_right)
|
|
end
|
|
end
|
|
|
|
function CheatBloomView:DestroySuccess( )
|
|
self:StopHideAction()
|
|
end
|