Files
JJBB/Assets/Project/Script/LuaScripts/UI/Lua/Welfare/MoneyTree/LuaMoneyTree.txt
2024-08-23 15:49:34 +08:00

292 lines
11 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

local LuaUtils = require("LuaUtil");
local Util = require("Util");
LuaMoneyTree ={};
local model;-- 模型
local _MoneyTreeDesc;-- 活动描述
local _vcoinBtn;-- 元宝按钮
local _vcoinEndBtn;-- 元宝按钮-结束
local _vcoinVipHintBtn;
local _vcoinBtnDesc;-- 元宝按钮描述
local _vcoinBtnDescNum -- 元宝消耗数量
local _vcoinBtnRedDot;-- 元宝按钮红点
local _lingYuBtn;-- 灵玉按钮
local _lingYuEndBtn;-- 灵玉按钮-结束
local _lingYuVipHintBtn;
local _lingYuBtnDesc;-- 灵玉按钮描述
local _lingYuBtnDescNum -- 灵玉消耗数量
local _lingYuBtnRedDot;-- 灵玉按钮红点
local _localData; -- 后端返回
local _lingYuStr; -- 灵玉
local _yuanBaoStr; --元宝
local _StrDictionary = CS.GCGame.Table.StrDictionary;
function LuaMoneyTree.Awake()
--获取组件
LuaMoneyTree.GetModule();
end
function LuaMoneyTree.OnEnable()
LuaMoneyTree.ReqData();
-- 加载模型
LuaMoneyTree.ShowModel(4115);
end
function LuaMoneyTree.GetModule()
model = UICameraTexture:GetComponent("UICameraTexture"); -- 模型
_MoneyTreeDesc = MoneyTreeDesc :GetComponent("Text"); -- 活动描述
_vcoinBtn = vcoinBtn :GetComponent("Button"); -- 元宝按钮
_vcoinEndBtn = vcoinEndBtn :GetComponent("Button"); -- 元宝按钮-结束
_vcoinVipHintBtn = vcoinVipHintBtn :GetComponent("Button"); -- 元宝按钮-vip
_vcoinBtnDesc = vcoinBtnDesc :GetComponent("Text"); -- 元宝按钮描述
_vcoinBtnDescNum= vcoinBtnDescNum :GetComponent("Text");
_vcoinBtnRedDot = vcoinBtnRedDot :GetComponent("Transform"); -- 元宝按钮红点
_lingYuBtn = lingYuBtn :GetComponent("Button"); -- 灵玉按钮
_lingYuEndBtn = lingYuEndBtn :GetComponent("Button"); -- 灵玉按钮-结束
_lingYuVipHintBtn = lingYuVipHintBtn :GetComponent("Button"); -- 灵玉按钮-vip
_lingYuBtnDesc = lingYuBtnDesc :GetComponent("Text"); -- 灵玉按钮描述
_lingYuBtnDescNum=lingYuBtnDescNum:GetComponent("Text");
_lingYuBtnRedDot = lingYuBtnRedDot:GetComponent("Transform"); -- 领域按钮红点
-- 默认值
LuaMoneyTree.TheDefaultValue();
end
function LuaMoneyTree.TheDefaultValue()
_vcoinBtn.gameObject:SetActive(true);
_vcoinEndBtn.gameObject:SetActive(false);
_vcoinBtnRedDot.gameObject:SetActive(false);
_vcoinVipHintBtn.gameObject:SetActive(false);
_lingYuBtn.gameObject:SetActive(true);
_lingYuEndBtn.gameObject:SetActive(false);
_lingYuBtnRedDot.gameObject:SetActive(false);
_lingYuVipHintBtn.gameObject:SetActive(false);
_lingYuStr = _StrDictionary.GetClientDictionaryString("#{6001}");
_yuanBaoStr = _StrDictionary.GetClientDictionaryString("#{6002}");
--按钮事件绑定
LuaMoneyTree.TheBindingEvent();
end
function LuaMoneyTree.TheBindingEvent()
-- 元宝摇钱
_vcoinBtn.onClick:RemoveAllListeners();
_vcoinBtn.onClick:AddListener(LuaMoneyTree.OnYuanBaoBtnClick);
-- 元宝摇钱次数不够
_vcoinEndBtn.onClick:RemoveAllListeners();
_vcoinEndBtn.onClick:AddListener(LuaMoneyTree.OngrayBtnClick);
--元宝摇钱vip提示
_vcoinVipHintBtn.onClick:RemoveAllListeners();
_vcoinVipHintBtn.onClick:AddListener(LuaMoneyTree.OnYuVipHintBtnClick);
------------------------------------------------------------------------------
--灵玉摇钱
_lingYuBtn.onClick:RemoveAllListeners();
_lingYuBtn.onClick:AddListener(LuaMoneyTree.OnLingYuBtnClick);
--灵玉摇钱次数不够
_lingYuEndBtn.onClick:RemoveAllListeners();
_lingYuEndBtn.onClick:AddListener(LuaMoneyTree.OngrayBtnClick);
--灵玉摇钱VIP提示
_lingYuVipHintBtn.onClick:RemoveAllListeners();
_lingYuVipHintBtn.onClick:AddListener(LuaMoneyTree.OnYuVipHintBtnClick);
end
-- 请求协议
function LuaMoneyTree.ReqData()
local _actId = self:GetComponent("WelfarePageBaseCS")._NodeId;
Log("请求_actId==".._actId);
require("LuaDistributesReqMoneyTree")
local req = {actID = _actId}
LuaDistributesReqMoneyTree.SendPacket(req)
end
--接收返回数据
function LuaMoneyTree.RetData(data)
if data == nil then
ELog("没有收到 RetMoneyTree 协议返回的数据");
return;
end
_localData = data;
-- 模型ID=4115
--LuaMoneyTree.ShowModel(4115)
-- 活动描述
_MoneyTreeDesc.text = _StrDictionary.GetClientDictionaryString("#{60048}",data.rewdBaseCoppers, data.multiplePower1 , data.multiplePower2);
-- 按钮状态 按钮描述 红点状态
LuaMoneyTree.BtnDesc(data)
end
function LuaMoneyTree.BtnDesc(_RetData)
--[=[
actID = 1;
button1State = 2;//元宝按钮状态 0 免费 1 没有次数 2 可用
button1MonyeNum = 3;//元宝按钮上的元宝数
button2State = 4;//灵玉按钮状态 0 免费 1 没有次数 2 可用
button2MonyeNum = 5;//灵玉按钮上的灵玉数
rewdBaseCoppers = 6;//奖励的基础铜币数
multiplePower1 = 7;//倍率1
multiplePower2 = 8;//倍率2
isRedPoint = 9;//元宝红点0没有 1有
viplimYuanBao = 10;//元宝VIP限制
viplimLinYu = 11;//灵玉VIP限制
]=]--
Log("actId == ".._RetData.actID);
Log("基础铜币数 rewdBaseCoppers == ".._RetData.rewdBaseCoppers);
Log("元宝红点 isRedPoint == ".._RetData.isRedPoint);
Log("元宝按钮状态 button1State == ".._RetData.button1State);
Log("元宝按钮上的元宝数 button1MonyeNum == ".._RetData.button1MonyeNum);
Log("灵玉按钮状态 button2State == ".._RetData.button2State);
Log("灵玉按钮上的灵玉数 button2MonyeNum == ".._RetData.button2MonyeNum);
Log("元宝VIP限制 viplimYuanBao == ".._RetData.viplimYuanBao);
Log("灵玉VIP限制 viplimLinYu == ".._RetData.viplimLinYu);
--元宝按钮 状态
_vcoinEndBtn.gameObject:SetActive(_RetData.button1State == 1);
_vcoinBtnRedDot.gameObject:SetActive(_RetData.isRedPoint == 1);
_vcoinVipHintBtn.gameObject:SetActive(_RetData.viplimYuanBao > 0);
--元宝按钮 描述
if _RetData.button1State == 0 and _RetData.button1MonyeNum <= 0 then
_vcoinBtnDesc.gameObject:SetActive(true);
vcoinBtnDesc_Num.gameObject:SetActive(false);
_vcoinBtnDesc.text = _StrDictionary.GetClientDictionaryString("#{60049}");
end
if _RetData.button1State == 1 then
_vcoinBtnDesc.gameObject:SetActive(true);
vcoinBtnDesc_Num.gameObject:SetActive(false);
_vcoinBtnDesc.text = _StrDictionary.GetClientDictionaryString("#{60051}");
end
if _RetData.button1State == 2 then
_vcoinBtnDesc.gameObject:SetActive(false);
vcoinBtnDesc_Num.gameObject:SetActive(true);
_vcoinBtnDescNum.text = _RetData.button1MonyeNum;
end
if _RetData.viplimYuanBao > 0 then
_vcoinBtnDesc.gameObject:SetActive(true);
vcoinBtnDesc_Num.gameObject:SetActive(false);
_vcoinBtnDesc.text = _StrDictionary.GetClientDictionaryString("#{60054}",_RetData.viplimYuanBao);
end
--灵玉按钮 状态
_lingYuEndBtn.gameObject:SetActive(_RetData.button2State == 1);
_lingYuVipHintBtn.gameObject:SetActive(_RetData.viplimLinYu > 0);
--灵玉按钮 描述
if _RetData.button2State == 0 and _RetData.button2MonyeNum <= 0 then
_lingYuBtnDesc.gameObject:SetActive(true);
lingYuBtnDesc_Num.gameObject:SetActive(false);
_lingYuBtnDesc.text = _StrDictionary.GetClientDictionaryString("#{60049}");
end
if _RetData.button2State == 1 then
_lingYuBtnDesc.gameObject:SetActive(true);
lingYuBtnDesc_Num.gameObject:SetActive(false);
_lingYuBtnDesc.text = _StrDictionary.GetClientDictionaryString("#{60051}");
end
if _RetData.button2State == 2 then
_lingYuBtnDesc.gameObject:SetActive(false);
lingYuBtnDesc_Num.gameObject:SetActive(true);
_lingYuBtnDescNum.text = _RetData.button2MonyeNum;
end
if _RetData.viplimLinYu > 0 then
_lingYuBtnDesc.gameObject:SetActive(true);
lingYuBtnDesc_Num.gameObject:SetActive(false);
_lingYuBtnDesc.text = _StrDictionary.GetClientDictionaryString("#{60054}",_RetData.viplimLinYu);
end
end
--模型
function LuaMoneyTree.ShowModel(modelID)
if modelID ~= 0 then
local tab = TabMan.GetCharModelByID(modelID, 0)
if tab ~= nil then
model:GetComponent("UICameraTexture"):InitModelPath(tab.ResPath, tab,CS.LoadAssetBundle.BUNDLE_PATH_MODEL,true,function()
--model._CameraPrefab:GetComponent("Camera").orthographicSize = tab.Scale;
model.gameObject:SetActive(true);
end)
else
model.gameObject:SetActive(false)
end
end
end
--------------------------------------------------------------------------
function LuaMoneyTree.OngrayBtnClick()
-- 点击灰色按钮 飄字提示 60052
CS.GUIData.AddNotifyData(_StrDictionary.GetClientDictionaryString("#{60052}"));
end
function LuaMoneyTree.OnYuVipHintBtnClick()
-- 点击vip按钮 飄字提示 60053 提升VIP等级可继续摇奖
CS.GUIData.AddNotifyData(_StrDictionary.GetClientDictionaryString("#{60053}"));
end
function LuaMoneyTree.OnYuanBaoBtnClick()
-- 申请元宝摇奖
local yuanBaoNum = CS.GameManager.gameManager.PlayerDataPool.Money:GetMoney_YuanBaoBind();
if yuanBaoNum < _localData.button1MonyeNum then
--CS.GUIData.AddNotifyData(GCGame.Table.StrDictionary.GetClientDictionaryString("#{1406}"));
CS.MessageBoxLogic.OpenOKCancelBox(_StrDictionary.GetClientDictionaryString("#{6101}"),nil,function()
--跳转充值界面
CS.UIManager.ShowUI(CS.UIInfo.SwitchMoneyPanl, function()
CS.SwitchMoneyPanlCtr.Instance:OnMenuItemClick(1);
end);
end,nil);
return;
end
LuaMoneyTree.ReqShakeMoney(1);
end
function LuaMoneyTree.OnLingYuBtnClick()
-- 申请灵玉摇奖
local lingYuNum = CS.GameManager.gameManager.PlayerDataPool.Money:GetMoney_YuanBao();
if lingYuNum < _localData.button2MonyeNum then
--CS.GUIData.AddNotifyData(_StrDictionary.GetClientDictionaryString("#{6100}"));
CS.MessageBoxLogic.OpenOKCancelBox(_StrDictionary.GetClientDictionaryString("#{6100}"),nil,function()
--跳转充值界面
CS.YuanBaoShopLogic.OpenChargePage();
end,nil)
return;
end
LuaMoneyTree.ReqShakeMoney(2);
end
--申请摇奖协议
function LuaMoneyTree.ReqShakeMoney(data)
-- 申请摇奖
require("LuaDistributesReqMoneyAct")
local reqInfo = {actID = _localData.actID,type = data}
Log("摇钱树 actID == ".._localData.actID);
LuaDistributesReqMoneyAct.SendPacket(reqInfo)
end
-- 返回摇钱结果
function LuaMoneyTree.RetMoneyAct(data)
-- 动作ID = data.actIndex
local animationTab = CS.GCGame.Table.TableManager.GetAnimationByID(data.actIndex, 0);
if animationTab == nil then
ELog("animationTab is null : " + data.actIndex);
return;
end
if model._FakeObj ~= nil and model._FakeObj.FakeObj ~= nil and model._FakeObj.FakeObj.AnimLogic ~= nil then
local animationLogic = model._FakeObj.FakeObj.AnimLogic;
--animationLogic:Trigger(data.actIndex);
animationLogic:Play(data.actIndex);
end
end
---------------------------------------------------------------------------