require("Util") require("LuaUtil") --[=[ 功能描述 1.照相状态时,可随意调整场景角度(如原3D模式) 2.界面左侧显示镜头远近的调整UI(滑动条无法实现),往上拖动为拉近镜头,往下拖动位为拉远镜头。 ]=]-- -- 拍照控制界面 CameraControlPanel = {} -- local SetBtn --设置按钮 local Upbtn -- 上方按钮 local DownBtn -- 下方按钮 local m_Slider -- 滑动条 local screenshotBtn -- 拍照模式按钮 local m_BGBtn local scale = 80 local SliderValue = 1 -- 每次的变更值 local SliderDefaultValue = 0 -- 初始默认值 --local optionPanelName = "CameraSetOptionPanel" -- 选项界面名 local WorldUIRoot = "WorldUIRoot" local coRuner = nil local _LerpTime = 0.5 local _CountTime = 0 function CameraControlPanel.Awake() --SetBtn = _SetBtn:GetComponent("Button"); Upbtn = _Upbtn:GetComponent("Button"); DownBtn = _DownBtn:GetComponent("Button"); m_Slider = _Slider:GetComponent("Slider"); screenshotBtn = _screenshotBtn:GetComponent("Button"); m_BGBtn = _BGBtn:GetComponent("Button"); coRuner = self:GetComponent("MonoBehaviour") m_Slider.value = SliderDefaultValue CameraControlPanel.TheBindingEvent() end local asdasd = 1 function CameraControlPanel.OnEnable() asdasd = 1 CameraControlPanel.HideAllUI(1) end function CameraControlPanel.Update() if self.gameObject.layer ~= 31 then self.gameObject.layer = 31 end if asdasd == 1 then local _MessageTipRoot = CS.UnityEngine.GameObject.Find("MessageTipRoot") if _MessageTipRoot.transform:Find("MessageBoxRoot(Clone)") ~= nil then if _MessageTipRoot.transform:Find("MessageBoxRoot(Clone)").activeInHierarchy == true then local _MessageBoxRoot = _MessageTipRoot.transform:Find("MessageBoxRoot(Clone)").gameObject; _MessageBoxRoot:SetActive(false); asdasd = 0 end end end end --点击事件绑定 function CameraControlPanel.TheBindingEvent() -- optionPanelName:SetActive(false) -- SetBtn.onClick:RemoveAllListeners(); -- SetBtn.onClick:AddListener(function() -- optionPanelName:SetActive(true) -- end) Upbtn.onClick:RemoveAllListeners(); Upbtn.onClick:AddListener(function() CameraControlPanel.ControlScaleCamera(1) CameraControlPanel.BtnControSlider(1) end) DownBtn.onClick:RemoveAllListeners(); DownBtn.onClick:AddListener(function() CameraControlPanel.ControlScaleCamera(-1) CameraControlPanel.BtnControSlider(-1) end) _BGBtn:SetActive(false) screenshotBtn.onClick:RemoveAllListeners(); screenshotBtn.onClick:AddListener(function() CameraControlPanel.OnscreenshotBtnClick(1) end) m_BGBtn.onClick:RemoveAllListeners(); m_BGBtn.onClick:AddListener(function() CameraControlPanel.OnscreenshotBtnClick(0) end) end function CameraControlPanel.OnscreenshotBtnClick(estimate) _BGBtn:SetActive(estimate == 1) local UI_Root = CS.UnityEngine.GameObject.Find("UiRoot(Clone)").gameObject local _UICamera = UI_Root.transform:Find("Camera").gameObject --_UICamera:GetComponent("Camera").enabled = (estimate ~= 1); if estimate == 1 then _UICamera:GetComponent("Camera").cullingMask = 0 else _UICamera:GetComponent("Camera").cullingMask = -2147483648 end end function CameraControlPanel.ControlScaleCamera(m_int) local WorldUIRootObj = CS.UnityEngine.GameObject.Find(WorldUIRoot) local WorldUIRootPIM = WorldUIRootObj:GetComponent("ProcessInputModule"); local _scale = m_int * scale WorldUIRootPIM.processCamera:ScaleCamera(_scale); end function CameraControlPanel.BtnControSlider(m_int) if m_int > 0 then m_Slider.value = m_Slider.value + SliderValue else m_Slider.value = m_Slider.value - SliderValue end end function CameraControlPanel.ControSlider() if m_Slider.value > SliderDefaultValue then CameraControlPanel.ControlScaleCamera(1) else CameraControlPanel.ControlScaleCamera(-1) end end function CameraControlPanel.OnDisable() CameraControlPanel.HideAllUI(0) end function CameraControlPanel.HideAllUI(isShow) local UI_Root = CS.UnityEngine.GameObject.Find("UiRoot(Clone)").gameObject local _UICamera = UI_Root.transform:Find("Camera").gameObject -- UI === 32 if isShow == 0 then _UICamera:GetComponent("Camera").cullingMask = 32 else _UICamera:GetComponent("Camera").cullingMask = -2147483648 end local _BaseRight = UI_Root.transform:Find("BaseUIRoot"); if _BaseRight.transform:Find("BaseRight/ActiveBtns(Clone)") ~= nil then local _ActiveBtns = _BaseRight.transform:Find("BaseRight/ActiveBtns(Clone)").gameObject; _ActiveBtns:SetActive(isShow ~= 1); end if _BaseRight.transform:Find("BaseRight/SkillBarRoot(Clone)") ~= nil then local _SkillBarRoot = _BaseRight.transform:Find("BaseRight/SkillBarRoot(Clone)").gameObject; _SkillBarRoot:SetActive(isShow ~= 1); end if _BaseRight.transform:Find("BaseLeft/ChatFrameRoot(Clone)") ~= nil then local _ChatFrameRoot = _BaseRight.transform:Find("BaseLeft/ChatFrameRoot(Clone)/ChatFrameAnchor").gameObject; _ChatFrameRoot:SetActive(isShow ~= 1); end if _BaseRight.transform:Find("BaseLeft/MissionDialogAndLeftTabsRoot(Clone)") ~= nil then local _MissionDialogAndLeftTabsRoot = _BaseRight.transform:Find("BaseLeft/MissionDialogAndLeftTabsRoot(Clone)").gameObject; _MissionDialogAndLeftTabsRoot:GetComponent("MissionDialogAndLeftTabsLogic"):OnBtnShow() end if _BaseRight.transform:Find("ExtraFunTipRoot(Clone)") ~= nil then local _ExtraFunTipRoot = _BaseRight.transform:Find("ExtraFunTipRoot(Clone)").gameObject; _ExtraFunTipRoot:SetActive(isShow ~= 1); end local WorldUIRootObj = CS.UnityEngine.GameObject.Find(WorldUIRoot) if WorldUIRootObj.transform:Find("JoyStickRoot(Clone)") ~= nil then local _JoyStickRoot = WorldUIRootObj.transform:Find("JoyStickRoot(Clone)").gameObject; _JoyStickRoot:SetActive(isShow ~= 1); end end