Files
JJBB/Assets/Project/Script/Player/DailyLuckyDraw/DailyLuckyDrawData.cs

164 lines
4.3 KiB
C#
Raw Normal View History

2024-08-23 15:49:34 +08:00
//********************************************************************
// 文件名: DailyLuckyDrawData.cs
// 描述: 每日幸运抽奖数据
// 作者: gaona
// 创建时间: 2014-4-18
// 功能说明每日幸运抽奖活动数据包括获奖ID抽奖类型已抽中奖励标记位等
// 修改历史:
//********************************************************************
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
namespace Games.DailyLuckyDraw
{
public enum DLDDRAWTYPE
{
DLD_DRAWTYPE_ONE,
DLD_DRAWTYPE_TEN,
DLD_DRAWTYPE_ONE_YUANBAO,
}
public enum BONUSRAREDEGREE
{
DLD_BONUS_LOW=1,
DLD_BONUS_MIDDLE,
DLD_BONUS_HIGH,
DLD_BONUS_VERYHIGH,
}
public class DailyLuckyDrawData
{
private int m_nDrawFreeTimes;
public int DrawFreeTimes
{
get { return m_nDrawFreeTimes; }
set { m_nDrawFreeTimes = value; }
}
private int m_nDrawFreeCDTime;
public int DrawFreeCDTime
{
get { return m_nDrawFreeCDTime; }
set { m_nDrawFreeCDTime = value; }
}
private float m_fTickTime;
public float TickTime
{
get { return m_fTickTime; }
set { m_fTickTime = value; }
}
public const int m_nMaxBonusBoxCount = 14;//有修改需要同步修改DailyLuckyDrawLogic.cs
public const int m_nMaxGainBonusCount = 10;//有修改需要同步修改DailyLuckyDrawLogic.cs
private int[] m_nGainBonusArray = new int[m_nMaxGainBonusCount];
private int m_nDrawType;
public int DrawType
{
get { return m_nDrawType; }
set { m_nDrawType = value; }
}
private bool m_bDrawing;
public bool Drawing
{
get { return m_bDrawing; }
set { m_bDrawing = value; }
}
public void CleanUp()
{
m_nDrawType = -1;
m_nDrawFreeTimes = 0;
m_bDrawing = false;
CleanUpGainBonus();
}
public void CleanUpGainBonus()
{
for (int i = 0; i < m_nMaxGainBonusCount; i++)
{
m_nGainBonusArray[i] = -1;
}
}
public DailyLuckyDrawData()
{
CleanUp();
}
public int GetMaxBonusBoxCount()
{
return m_nMaxBonusBoxCount;
}
public int GetMaxGainBonusCount()
{
return m_nMaxGainBonusCount;
}
public void HandlePacket(GC_DAILYLUCKYDRAW_GAINBONUS packet)
{
m_nDrawType = packet.Drawtype;
CleanUpGainBonus();
for (int i = 0; i < m_nMaxGainBonusCount && i < packet.gainbonusidCount; i++)
{
m_nGainBonusArray[i] = packet.GetGainbonusid(i);
}
m_bDrawing = false;
}
public void HandlePacket(GC_DAILYLUCKYDRAW_UPDATE packet)
{
if (packet.HasDrawfreetimes)
{
m_nDrawFreeTimes = packet.Drawfreetimes;
//if(FunctionButtonLogic.Instance().)
}
if (packet.HasDrawfreecdtime)
{
m_nDrawFreeCDTime = packet.Drawfreecdtime;
}
if (FunctionButtonLogic.Instance())
{
FunctionButtonLogic.Instance().UpdateButtonAwardTips();
}
}
public void HandlePacket(GC_DAILYLUCKYDRAW_FAIL packet)
{
m_bDrawing = false;
}
//获得奖励的ID
public int GetGainBonusID(int nIndex)
{
if (nIndex >= 0 && nIndex < m_nGainBonusArray.Length)
{
return m_nGainBonusArray[nIndex];
}
return -1;
}
//
public void Tick_FreeCDTime()
{
TickTime += Time.deltaTime;
if (TickTime < 1)
{
return;
}
if (DrawFreeCDTime > 0)
{
DrawFreeCDTime--;
if (FunctionButtonLogic.Instance())
{
FunctionButtonLogic.Instance().UpdateButtonAwardTips();
}
}
TickTime = 0;
}
}
}