using System.Collections; using System.Collections.Generic; using UnityEngine; using System; public class SignManager : GameSystemManager { public int repairSignMoneyType; public int repairSignMoney; public byte[] signStateList = new byte[7]; public event Action OnSignEvent; public override void Init() { DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize; ParseConfig(); } public override void Release() { DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize; } void OnBeforePlayerDataInitialize() { signStateList = new byte[7]; } void ParseConfig() { var config = FuncConfigConfig.Get("SignInSet"); var arr = ConfigParse.GetMultipleStr(config.Numerical1); repairSignMoneyType = arr[0]; repairSignMoney = arr[1]; } public void UpdateSignInfo(HA30D_tagSCDaySignInfo netPack) { signStateList = netPack.SignStateList; OnSignEvent?.Invoke(); UpdateRedpoint(); } //状态:0-不可签到;1-已签到;2-可补签;3-已领取 public int GetSignDayState(int day) { return signStateList[day - 1]; } public Redpoint redPointSign = new Redpoint(MainRedDot.RightFuncRedpoint, MainRedDot.RedPoint_SignKey); void UpdateRedpoint() { if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.DaySign)) { return; } foreach (var item in signStateList) { if (item == 1) { redPointSign.state = RedPointState.Simple; return; } } redPointSign.state = RedPointState.None; } }