Initial version - 1.2.0.60
EN: 1.2.0.60 CN: 1.2.0.61 JP: 1.2.0.63 KR: 1.2.0.67
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
local CampingJoystickCtrl = class("CampingJoystickCtrl", BaseCtrl)
|
||||
CampingJoystickCtrl._mapNodeConfig = {
|
||||
placeRoot = {},
|
||||
Slider = {
|
||||
sComponentName = "Slider",
|
||||
callback = "OnSliderValueChange"
|
||||
},
|
||||
btnSure = {sComponentName = "UIButton", callback = "OnBtn_Sure"},
|
||||
btnCancel = {
|
||||
sComponentName = "UIButton",
|
||||
callback = "OnBtn_Cancel"
|
||||
},
|
||||
btnBack = {sComponentName = "UIButton", callback = "OnBtn_Back"},
|
||||
btnCancelRound = {
|
||||
sComponentName = "UIButton",
|
||||
callback = "OnBtn_CancelRound"
|
||||
}
|
||||
}
|
||||
CampingJoystickCtrl._mapEventConfig = {
|
||||
Camping_Select_Obj = "OnEvent_CampingSelectObj",
|
||||
Camping_Enter_Edit_Mode = "OnEvent_EnterEditMode"
|
||||
}
|
||||
function CampingJoystickCtrl:Awake()
|
||||
self.CampingPlaceObjectCS = nil
|
||||
if NovaAPI.GetCurrentModuleName() == "CampingModuleScene" then
|
||||
CS.AdventureModuleHelper.CampingModuleLoadComplete()
|
||||
end
|
||||
end
|
||||
function CampingJoystickCtrl:OnSliderValueChange(_, value)
|
||||
local nValue = value
|
||||
if nValue == 0.5 then
|
||||
self.CampingPlaceObjectCS.gameObject.transform.eulerAngles = Vector3.zero
|
||||
elseif nValue < 0.5 then
|
||||
local tmxY = 360 - (0.5 - nValue) * 360
|
||||
self.CampingPlaceObjectCS.gameObject.transform.eulerAngles = Vector3(0, tmxY, 0)
|
||||
else
|
||||
local tmxY = (nValue - 0.5) * 360
|
||||
self.CampingPlaceObjectCS.gameObject.transform.eulerAngles = Vector3(0, tmxY, 0)
|
||||
end
|
||||
end
|
||||
function CampingJoystickCtrl:OnBtn_Sure()
|
||||
if self.CampingPlaceObjectCS.isCollision then
|
||||
EventManager.Hit(EventId.OpenMessageBox, "摆放位置有误")
|
||||
return
|
||||
end
|
||||
self._mapNode.placeRoot:SetActive(false)
|
||||
self.CampingPlaceObjectCS:SavePlaneMsg()
|
||||
self.CampingPlaceObjectCS = nil
|
||||
end
|
||||
function CampingJoystickCtrl:OnBtn_Cancel()
|
||||
self._mapNode.placeRoot:SetActive(false)
|
||||
self.CampingPlaceObjectCS:QuitEditMode()
|
||||
self.CampingPlaceObjectCS = nil
|
||||
end
|
||||
function CampingJoystickCtrl:OnBtn_Back()
|
||||
NovaAPI.EnterModule("MainMenuModuleScene", true)
|
||||
end
|
||||
function CampingJoystickCtrl:OnEvent_EnterEditMode()
|
||||
self._mapNode.placeRoot:SetActive(true)
|
||||
end
|
||||
function CampingJoystickCtrl:OnEvent_CampingSelectObj(obj)
|
||||
self.CampingPlaceObjectCS = nil
|
||||
self.CampingPlaceObjectCS = obj:GetComponent("CampingPlaceObject")
|
||||
self.tmxY = math.fmod(obj.transform.eulerAngles.y, 360)
|
||||
if self.tmxY == 0 then
|
||||
NovaAPI.SetSliderValue(self._mapNode.Slider, 0.5)
|
||||
elseif self.tmxY > 0 and self.tmxY <= 180 then
|
||||
NovaAPI.SetSliderValue(self._mapNode.Slider, 0.5 + self.tmxY / 180 * 0.5)
|
||||
else
|
||||
NovaAPI.SetSliderValue(self._mapNode.Slider, 0.5 - (360 - self.tmxY) / 180 * 0.5)
|
||||
end
|
||||
end
|
||||
function CampingJoystickCtrl:OnBtn_CancelRound()
|
||||
if self.tmxY == 0 then
|
||||
NovaAPI.SetSliderValue(self._mapNode.Slider, 0.5)
|
||||
elseif self.tmxY > 0 and self.tmxY <= 180 then
|
||||
NovaAPI.SetSliderValue(self._mapNode.Slider, 0.5 + self.tmxY / 180 * 0.5)
|
||||
else
|
||||
NovaAPI.SetSliderValue(self._mapNode.Slider, 0.5 - (360 - self.tmxY) / 180 * 0.5)
|
||||
end
|
||||
end
|
||||
return CampingJoystickCtrl
|
||||
Reference in New Issue
Block a user