提交工程

This commit is contained in:
2026-05-20 12:01:19 +08:00
commit e0ddde0393
5502 changed files with 596320 additions and 0 deletions
+3
View File
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 77c9a25febe54dffbb6afade123b3a42
timeCreated: 1692267362
+223
View File
@@ -0,0 +1,223 @@
using System;
using System.Collections.Generic;
using IgnoreOPS;
namespace ChillConnect
{
public class ConsumeSystem : BaseSystem
{
public ConsumeSystem(bool isAutoInit = true)
{
if (isAutoInit)
{
Init();
}
}
public sealed override void Init()
{
base.Init();
AddListener();
}
private void AddListener()
{
CtrlDispatcher.Instance.AddListener(CtrlMsg.ConsumeResources, OnConsumeResources);
}
private void OnConsumeResources(object obj)
{
ConsumeVal consumeVal = (ConsumeVal)obj;
int consumeSuccessCount = 0;
for (var index = 0; index < consumeVal.ItemId.Count; index++)
{
var item = consumeVal.ItemId[index];
var itemValue = consumeVal.ItemVal[index];
switch (item)
{
case 101:
if (itemValue <= DataMgr.Coin.Value)
{
consumeSuccessCount++;
}
else
{
// GameHelper.ShowTips("No enough", true);
}
break;
case 102:
if (itemValue <= DataMgr.Ticket.Value)
{
consumeSuccessCount++;
}
else
{
// GameHelper.ShowTips("No enough", true);
}
break;
}
}
if (consumeVal.isConsume)
{
if (consumeSuccessCount == consumeVal.ItemId.Count)
{
for (var index = 0; index < consumeVal.ItemId.Count; index++)
{
var item = consumeVal.ItemId[index];
var itemValue = consumeVal.ItemVal[index];
switch (item)
{
case 101:
if (itemValue <= DataMgr.Coin.Value)
{
DataMgr.Coin.Value -= (int)itemValue;
}
break;
case 102:
if (itemValue <= DataMgr.Ticket.Value)
{
DataMgr.Ticket.Value -= itemValue;
}
break;
}
}
consumeVal.onfinish?.Invoke(true);
}
else
{
consumeVal.onfinish?.Invoke(false);
}
}
else
{
consumeVal.onfinish?.Invoke(consumeSuccessCount == consumeVal.ItemId.Count);
}
consumeVal.Release();
}
#region
public static void Consume(int itemId, int itemNum, Action<bool> onCompleted = null, bool isConsume = true)
{
ConsumeVal consumeVal = ConsumeVal.Get(itemId, itemNum, onCompleted);
consumeVal.isConsume = isConsume;
CtrlDispatcher.Instance.Dispatch(CtrlMsg.ConsumeResources, consumeVal);
}
public static void Consume(int itemId, decimal itemNum, Action<bool> onCompleted = null, bool isConsume = true)
{
ConsumeVal consumeVal = ConsumeVal.Get(itemId, itemNum, onCompleted);
consumeVal.isConsume = isConsume;
CtrlDispatcher.Instance.Dispatch(CtrlMsg.ConsumeResources, consumeVal);
}
public static void Consume(int[] itemIds, int[] itemNums, Action<bool> onCompleted = null,
bool isConsume = true)
{
ConsumeVal consumeVal = ConsumeVal.Get();
consumeVal.onfinish = onCompleted;
for (int i = 0; i < itemIds.Length; i++)
{
consumeVal.AddConsume(itemIds[i], itemNums[i]);
}
consumeVal.isConsume = isConsume;
CtrlDispatcher.Instance.Dispatch(CtrlMsg.ConsumeResources, consumeVal);
}
public static void Consume(int[] itemIds, decimal[] itemNums, Action<bool> onCompleted = null,
bool isConsume = true)
{
ConsumeVal consumeVal = ConsumeVal.Get();
consumeVal.onfinish = onCompleted;
for (int i = 0; i < itemIds.Length; i++)
{
consumeVal.AddConsume(itemIds[i], itemNums[i]);
}
consumeVal.isConsume = isConsume;
CtrlDispatcher.Instance.Dispatch(CtrlMsg.ConsumeResources, consumeVal);
}
#endregion
public static void CheckItem(int itemId, int itemNum, Action<bool> onCompleted = null)
{
Consume(itemId, itemNum, onCompleted, false);
}
public static void CheckItem(int itemId, decimal itemNum, Action<bool> onCompleted = null)
{
Consume(itemId, itemNum, onCompleted, false);
}
public static void CheckItem(int[] itemId, int[] itemNum, Action<bool> onCompleted = null)
{
Consume(itemId, itemNum, onCompleted, false);
}
public static void CheckItem(int[] itemId, decimal[] itemNum, Action<bool> onCompleted = null)
{
Consume(itemId, itemNum, onCompleted, false);
}
}
public class ConsumeVal
{
private static ObjectPool<ConsumeVal> _pool = new ObjectPool<ConsumeVal>();
public static ConsumeVal Get()
{
ConsumeVal val = _pool.Get();
return val;
}
public static ConsumeVal Get(int id, decimal sum)
{
return Get(id, sum);
}
public static ConsumeVal Get(int id, decimal sum, Action<bool> finish = null)
{
ConsumeVal val = _pool.Get();
val.AddConsume(id, sum);
val.onfinish = finish;
return val;
}
public void Release()
{
ItemId.Clear();
ItemVal.Clear();
isConsume = true;
onfinish = null;
_pool.Release(this);
}
public Action<bool> onfinish;
public List<int> ItemId = new List<int>();
public List<decimal> ItemVal = new List<decimal>();
public bool isConsume = true;
public void AddConsume(int id, decimal sum)
{
ItemId.Add(id);
ItemVal.Add(sum);
}
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: fcd01defe47f4c65b155e8edb148d1cc
timeCreated: 1692785015
@@ -0,0 +1,564 @@
using System;
using System.Linq;
using IgnoreOPS;
using Newtonsoft.Json;
using SGModule.Net;
using SGModule.NetKit;
using UnityEngine;
namespace ChillConnect
{
public class GameDataSystem : BaseSystem
{
public Action UpdateSecondEvent;
private Action onChangeDollar;
private Action onChangeGiftSwitch;
public GameDataSystem(bool isAutoInit = true)
{
if (isAutoInit)
{
Init();
}
}
public sealed override void Init()
{
base.Init();
AddListener();
}
private void AddListener()
{
CtrlDispatcher.Instance.AddListener(CtrlMsg.Game_StartBefore, InitPreferences);
PreferencesDispatcher<decimal>.Instance.AddListener(DataMsg.currency101, OnChange101);
PreferencesDispatcher<float>.Instance.AddListener(DataMsg.playReawrd111, OnChange111);
CtrlDispatcher.Instance.AddListener(CtrlMsg.GameNewDays, NewDay);
CtrlDispatcher.Instance.AddListener(CtrlMsg.Module_GiftSwitchChange, OnChangeGiftSwitch);
GameDispatcher.Instance.AddListener(GameMsg.RefreshADTask, RefreshADTaskData);
CtrlDispatcher.Instance.AddListener(CtrlMsg.WatchVideoFinish, AddWatchVideo);
CtrlDispatcher.Instance.AddListener(CtrlMsg.WatchIntVideoFinish, AddIntWatchVideo);
PreferencesDispatcher<bool>.Instance.AddListener(DataMsg.isShowRewardFly101, OnChangeRewardFly101);
PreferencesDispatcher<bool>.Instance.AddListener(DataMsg.isShowRewardFly111, OnChangeRewardFly111);
GameDispatcher.Instance.AddListener(GameMsg.ProcessReward, OnGetReward);
GameDispatcher.Instance.AddListener(GameMsg.RefreshMakeupData, OnRefreshMakeupData);
}
private void OnChangeGiftSwitch(object obj)
{
onChangeGiftSwitch?.Invoke();
}
private void InitPreferences(object obj)
{
if (DataMgr.Coin.Value == -1)
{
DataMgr.Coin.Value = 0;
}
if (DataMgr.PlayerName.Value.IsNullOrWhiteSpace())
{
if (GameHelper.GetLoginModel() != null)
{
DataMgr.PlayerName.Value = GameHelper.GetLoginModel().InviteCode;
}
}
if (DataMgr.PlayerName.Value.IsNullOrWhiteSpace())
{
// DataMgr.PlayerName = "ProductSort001";
}
if (!GameHelper.IsContinuousSignIn())
{
DataMgr.SignState.Value.Clear();
DataMgr.SignState.Save();
}
// DataMgr.IsShowRewardFly101 = false;
// DataMgr.IsShowRewardFly102 = false;
CheckMakeupTaskData();
// RankSystemMgr.Instance.checkUsers();
// DataMgr.IsLastH5Tab = true;
}
private void OnRefreshMakeupData(object obj)
{
AddMakeupTaskData();
}
private void CheckMakeupTaskData()
{
if (!GameHelper.IsGiftSwitch())
{
return;
}
if (DataMgr.MakeupTaskHistory.Value.Count == 0)
{
Debug.Log("tianjialishiiiiiiiiiiiiii");
AddMakeupTaskData();
}
else
{
var common = ConfigSystem.GetConfig<CommonModel>();
foreach (var makeuptaskData in DataMgr.MakeupTaskHistory.Value)
{
if (makeuptaskData.status == MakeupTaskStatus.Inline
&& makeuptaskData.inlineNum > common.inlineMin)
{
var redeemVOModel = ConfigSystem.GetConfig<MakeupModel>().DataList
.FirstOrDefault(redeem => redeem.id == makeuptaskData.tableId);
var days = PlayerPrefs.GetInt($"days_{LoginKit.Instance.LoginModel.Uid}_{makeuptaskData.tableId}", 0);
if (days == DateTime.Today.Day)
{
continue;
}
PlayerPrefs.SetInt($"days_{LoginKit.Instance.LoginModel.Uid}_{makeuptaskData.tableId}", DateTime.Today.Day);
var loginNum = CommonHelper.RandomRange(common.inlineLoginDown[0],
common.inlineLoginDown[1]);
//如果登录减少人数大于配置的阈值,则不能减少排名了
// Debug.Log($"登录累计增加的排名为:{makeuptaskData.loginSpeedNum} 阈值为:{redeemVOModel.Login_Limit_times}");
if (makeuptaskData.loginSpeedNum > redeemVOModel.Login_Limit_times)
{
makeuptaskData.loginSpeedNum = redeemVOModel.Login_Limit_times;
continue;
}
if (makeuptaskData.loginSpeedNum + loginNum > redeemVOModel.Login_Limit_times) loginNum = redeemVOModel.Login_Limit_times - makeuptaskData.loginSpeedNum;
makeuptaskData.loginSpeedNum += loginNum;
Debug.Log($"订单为: {makeuptaskData.tableId} 通过登录减少的排名为:{loginNum}");
makeuptaskData.inlineNum -= loginNum;
if (makeuptaskData.inlineNum < common.inlineMin)
{
makeuptaskData.inlineNum = common.inlineMin;
}
}
}
DataMgr.MakeupTaskHistory.Save();
}
if (SaveData.GetSaveObject().saveingpot_history.Count == 0)
{
// Debug.Log("tianjialishiiiiiiiiiiiiii");
// AddMakeupTaskData();
}
else
{
var common = ConfigSystem.GetConfig<CommonModel>();
foreach (var makeuptaskData in SaveData.GetSaveObject().saveingpot_history)
{
if (makeuptaskData.status == SaveingPotTaskStatus.Inline
&& makeuptaskData.inlineNum > common.inlineMin)
{
var redeemVOModel = ConfigSystem.GetConfig<MakeupModel_2>().DataList
.FirstOrDefault(redeem => redeem.id == makeuptaskData.tableId);
var days = PlayerPrefs.GetInt($"days_{LoginKit.Instance.LoginModel.Uid}_{makeuptaskData.tableId}_pot", 0);
if (days == DateTime.Today.Day)
{
continue;
}
PlayerPrefs.SetInt($"days_{LoginKit.Instance.LoginModel.Uid}_{makeuptaskData.tableId}_pot", DateTime.Today.Day);
var loginNum = CommonHelper.RandomRange(common.inlineLoginDown[0],
common.inlineLoginDown[1]);
//如果登录减少人数大于配置的阈值,则不能减少排名了
// Debug.Log($"登录累计增加的排名为:{makeuptaskData.loginSpeedNum} 阈值为:{redeemVOModel.Login_Limit_times}");
if (makeuptaskData.loginSpeedNum > redeemVOModel.Login_Limit_times)
{
makeuptaskData.loginSpeedNum = redeemVOModel.Login_Limit_times;
continue;
}
if (makeuptaskData.loginSpeedNum + loginNum > redeemVOModel.Login_Limit_times) loginNum = redeemVOModel.Login_Limit_times - makeuptaskData.loginSpeedNum;
makeuptaskData.loginSpeedNum += loginNum;
//Debug.Log($"订单为: {makeuptaskData.tableId} 通过登录减少的排名为:{loginNum}");
makeuptaskData.inlineNum -= loginNum;
if (makeuptaskData.inlineNum < common.inlineMin)
{
makeuptaskData.inlineNum = common.inlineMin;
}
}
}
}
SaveData.saveDataFunc();
}
private void CheckSpeedUpTaskData(int type = 1)
{
if (!GameHelper.IsGiftSwitch())
{
return;
}
var common = ConfigSystem.GetConfig<CommonModel>();
if (type == 1 && DataMgr.MakeupTaskHistory.Value.Count > 0)
{
foreach (var makeuptaskData in DataMgr.MakeupTaskHistory.Value)
{
if (makeuptaskData.status == MakeupTaskStatus.Inline
&& makeuptaskData.inlineNum > common.inlineMin)
{
var redeemVOModel = ConfigSystem.GetConfig<MakeupModel>().DataList
.FirstOrDefault(redeem => redeem.id == makeuptaskData.tableId);
var dowmNum = redeemVOModel.AD_Down;
// Debug.Log($"CheckSpeedUpTaskData dowmNum=== {dowmNum} makeuptaskData.WatchVideoSpeedNum ==== {makeuptaskData.WatchVideoSpeedNum}");
//如果看广告的减少人数大于配置的阈值,则不能减少排名了
if (makeuptaskData.WatchVideoSpeedNum > redeemVOModel.AD_Limit_times)
{
makeuptaskData.WatchVideoSpeedNum = redeemVOModel.AD_Limit_times;
continue;
}
if (makeuptaskData.WatchVideoSpeedNum + dowmNum > redeemVOModel.AD_Limit_times) dowmNum = redeemVOModel.AD_Limit_times - makeuptaskData.WatchVideoSpeedNum;
Debug.Log($"订单为: {makeuptaskData.tableId} 通过看广告减少的排名为:{dowmNum}");
makeuptaskData.WatchVideoSpeedNum += dowmNum;
makeuptaskData.inlineNum -= dowmNum;
//Debug.Log($"订单为: {makeuptaskData.tableId} 减少后的排名:{makeuptaskData.inlineNum}");
if (makeuptaskData.inlineNum < common.inlineMin)
{
makeuptaskData.inlineNum = common.inlineMin;
}
}
}
}
if (type == 2 && SaveData.GetSaveObject().saveingpot_history.Count > 0)
{
foreach (var makeuptaskData in SaveData.GetSaveObject().saveingpot_history)
{
if (makeuptaskData.status == SaveingPotTaskStatus.Inline
&& makeuptaskData.inlineNum > common.inlineMin)
{
var redeemVOModel = ConfigSystem.GetConfig<MakeupModel_2>().DataList
.FirstOrDefault(redeem => redeem.id == makeuptaskData.tableId);
var dowmNum = redeemVOModel.AD_Down;
// Debug.Log($"CheckSpeedUpTaskData dowmNum=== {dowmNum} makeuptaskData.WatchVideoSpeedNum ==== {makeuptaskData.WatchVideoSpeedNum}");
//如果看广告的减少人数大于配置的阈值,则不能减少排名了
if (makeuptaskData.WatchVideoSpeedNum > redeemVOModel.AD_Limit_times)
{
makeuptaskData.WatchVideoSpeedNum = redeemVOModel.AD_Limit_times;
continue;
}
if (makeuptaskData.WatchVideoSpeedNum + dowmNum > redeemVOModel.AD_Limit_times) dowmNum = redeemVOModel.AD_Limit_times - makeuptaskData.WatchVideoSpeedNum;
makeuptaskData.WatchVideoSpeedNum += dowmNum;
//Debug.Log($"订单为: {makeuptaskData.tableId} 通过看广告减少的排名为:{dowmNum}");
makeuptaskData.inlineNum -= dowmNum;
//Debug.Log($"订单为: {makeuptaskData.tableId} 减少后的排名:{makeuptaskData.inlineNum}");
if (makeuptaskData.inlineNum < common.inlineMin)
{
makeuptaskData.inlineNum = common.inlineMin;
}
}
}
}
}
public void AddMakeupTaskData()
{
var makeupVOModel = ConfigSystem.GetConfig<MakeupModel>();
Debug.Log($"AddMakeupTaskData-====={JsonConvert.SerializeObject(makeupVOModel)}");
if (makeupVOModel == null || makeupVOModel.DataList == null || makeupVOModel.DataList.Count <= 0)
{
return;
}
var lastId = -1;
var isRepeat = DataMgr.MakeupTaskHistory.Value.Count >= makeupVOModel.DataList.Count;
if (DataMgr.MakeupTaskHistory.Value.Count > 0)
{
var makeupTaskData = DataMgr.MakeupTaskHistory.Value.Last();
if (makeupTaskData.status != MakeupTaskStatus.Inline)
{
return;
}
lastId = makeupTaskData.tableId;
}
if (lastId == makeupVOModel.DataList.Last().id)
{
lastId = -1;
}
foreach (var makeupVo in makeupVOModel.DataList)
{
if (makeupVo.id > lastId)
{
if ((isRepeat && !makeupVo.is_onetime) || !isRepeat)
{
var makeupTaskData = new MakeupTaskData();
makeupTaskData.tableId = makeupVo.id;
makeupTaskData.id = DataMgr.MakeupTaskHistory.Value.Count + 1;
makeupTaskData.amountStr = $"{GameHelper.Get101Str(makeupVo.item_need)}";
makeupTaskData.amount = makeupVo.item_need;
makeupTaskData.orderID = GameHelper.GetRandomNum(8);
DataMgr.MakeupTaskHistory.Value.Add(makeupTaskData);
if ((GameHelper.isRDExchangeMode() && SaveData.GetSaveObject().ExchangeProcessMode == 1) || (!GameHelper.isRDExchangeMode() && SaveData.GetSaveObject().CHProcessMode == 1)) makeupTaskData.SetStatus(MakeupTaskStatus.Level);
else makeupTaskData.SetStatus(MakeupTaskStatus.None);
DataMgr.MakeupTaskHistory.Save();
// DataMgr.MakeupTaskH5Time = 0;
break;
}
}
}
}
private void OnChange101(ChangeValue<decimal> obj)
{
var val = obj.newValue - obj.oldValue;
if (val > 0)
{
DataMgr.MaxCurrency101.Value += (int)val;
}
if (!DataMgr.IsShowRewardFly101.Value)
{
GameDispatcher.Instance.Dispatch(GameMsg.Update101Completed);
}
onChangeDollar?.Invoke();
}
private void OnChange111(ChangeValue<float> obj)
{
if (!DataMgr.IsShowRewardFly111.Value)
{
GameDispatcher.Instance.Dispatch(GameMsg.Update111Completed);
}
}
private void NewDay(object obj)
{
DataMgr.IsShowOpenReward.Value = true;
}
private void RefreshADTaskData(object obj = null)
{
}
private void AddIntWatchVideo(object obj = null)
{
// if (DataMgr.MakeupTaskHistory.Value.Count > 0)
// {
// CheckSpeedUpTaskData(1);
// }
}
private void AddWatchVideo(object obj = null)
{
DataMgr.VideoWatchCount.Value++;
RankSystemMgr.Instance.addGameExp(addPointType.ads);
int adNums = AdRedeemManager.Instance.GetLookRewardADNum();
adNums++;
AdRedeemManager.Instance.SetLookRewardADNum(adNums);
if (DataMgr.MakeupTaskHistory.Value.Count > 0)
{
CheckSpeedUpTaskData();
var taskData = DataMgr.MakeupTaskHistory.Value.Last();
if (taskData.status == MakeupTaskStatus.Task)
{
var makeupVo = ConfigSystem.GetConfig<MakeupModel>().GetData(taskData.tableId);
if (makeupVo != null && taskData.videoCount < makeupVo.ad_need)
{
taskData.videoCount++;
// NetworkKit.BuriedPoint(BuriedPointEvent.ad_task, BuriedPointEvent.watch_ad_number, 1);
TrackKit.SendEvent(Property.adEvent, Property.WatchAdNumber);
DataMgr.MakeupTaskHistory.Save();
PlayerPrefs.SetInt("fin_ad_num", 0);
}
else
{
if (PlayerPrefs.GetInt("fin_ad_num", 0) == 0)
{
TrackKit.SendEvent(Property.adEvent, Property.FinishAdNumber);
// NetworkKit.BuriedPoint(BuriedPointEvent.ad_task, BuriedPointEvent.finish_ad_number, 1);
PlayerPrefs.SetInt("fin_ad_num", 1);
}
}
}
else if (taskData.status == MakeupTaskStatus.Level)
{
var ExpiryUnlock = ConfigSystem.GetConfig<CommonModel>().ExpiryUnlock;
taskData.LvVideoCount++;
if (taskData.LvVideoCount >= ExpiryUnlock)
{
taskData.LvVideoCount = 0;
taskData.ch_time = GameHelper.GetNowTime() + ConfigSystem.GetConfig<CommonModel>().BalanceExpired * 3600;
}
DataMgr.MakeupTaskHistory.Save();
}
}
if (SaveData.GetSaveObject().saveingpot_history.Count > 0)
{
SaveingPotHelper.TestingClearTime();
CheckSpeedUpTaskData(2);
SaveingPotClass taskData = SaveData.GetSaveObject().saveingpot_history.Last();
Makeup_2 makeupVo = ConfigSystem.GetConfig<MakeupModel_2>().GetData(taskData.tableId);
SaveData.GetSaveObject().saveingpot_ch += makeupVo.ADIncrease;
GameDispatcher.Instance.Dispatch(GameMsg.RefreshSaveingPot);
if (ConfigSystem.GetConfig<CommonModel>().PiggyBankSwitch == 1 && GameHelper.IsGiftSwitch())
{
if ((SaveData.GetSaveObject().saveingpot_ch > taskData.amount) && (!taskData.auto_show) && !UIManager.Instance.IsExistUI(UIConst.H5UI))
{
UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.SaveingPotUI_Open);
taskData.auto_show = true;
}
}
if (taskData.status == SaveingPotTaskStatus.Task)
{
;
if (makeupVo != null && taskData.videoCount < makeupVo.ad_need)
{
taskData.videoCount++;
//NetworkKit.BuriedPoint(BuriedPointEvent.ad_task, BuriedPointEvent.watch_ad_number, 1);
PlayerPrefs.SetInt("fin_ad_num_saveingpot", 0);
}
else
{
if (PlayerPrefs.GetInt("fin_ad_num_saveingpot", 0) == 0)
{
//NetworkKit.BuriedPoint(BuriedPointEvent.ad_task, BuriedPointEvent.finish_ad_number, 1);
PlayerPrefs.SetInt("fin_ad_num_saveingpot", 1);
}
}
}
}
}
private void OnChangeRewardFly101(ChangeValue<bool> obj)
{
var oldValue = obj.oldValue;
var newValue = obj.newValue;
InitChangeRewardFly(101, oldValue, newValue);
}
private void OnChangeRewardFly111(ChangeValue<bool> obj)
{
var oldValue = obj.oldValue;
var newValue = obj.newValue;
InitChangeRewardFly(111, oldValue, newValue);
}
private void InitChangeRewardFly(int id, bool oldValue, bool newValue)
{
if (oldValue)
{
if (newValue)
{
}
else
{
switch (id)
{
case 101:
GameDispatcher.Instance.Dispatch(GameMsg.Update101Completed);
break;
case 102:
GameDispatcher.Instance.Dispatch(GameMsg.Update101Completed);
break;
case 111:
GameDispatcher.Instance.Dispatch(GameMsg.Update111Completed);
break;
}
}
}
else
{
if (newValue)
{
}
}
}
private void OnGetReward(object obj)
{
if (obj is RewardData rewardModel)
{
foreach (var rewardData in rewardModel.GetRewardDataList())
{
ProcessData(rewardData);
}
}
}
private void ProcessData(RewardSingleData rewardSingleData)
{
if (rewardSingleData.origin == RewardOrigin.None)
{
return;
}
switch (rewardSingleData.id)
{
case 101:
{
var dollar = DataMgr.Coin.Value;
dollar += (int)rewardSingleData.GetTotalValue();
DataMgr.Coin.Value = dollar;
break;
}
case 102:
{
var dollar = DataMgr.Ticket.Value;
dollar += rewardSingleData.GetTotalValue();
DataMgr.Ticket.Value = dollar;
break;
}
case 111:
{
var dollar = DataMgr.PlayReawrd111.Value;
dollar += rewardSingleData.GetTotalValue();
DataMgr.PlayReawrd111.Value = dollar;
break;
}
}
}
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: b33f1a409b61479e9b014ab951bbff47
timeCreated: 1692256149
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 8f6d5b53c7e08b5488dd93747c32f03b
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
+207
View File
@@ -0,0 +1,207 @@
using ChillConnect;
using DG.Tweening;
using IgnoreOPS;
using UnityEngine;
public class RewardSystem : BaseSystem
{
public RewardSystem(bool isAutoInit = true)
{
if (isAutoInit)
{
Init();
}
}
public sealed override void Init()
{
base.Init();
AddListener();
}
private void AddListener()
{
GameDispatcher.Instance.AddListener(GameMsg.GetReward, OnGetReward);
}
private void OnGetReward(object obj)
{
if (!(obj is RewardData rewardData))
{
return;
}
if (IsRewardDialog(rewardData))
{
UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.RewardUI_Open, rewardData);
}
else
{
if (IsRewardNumber(rewardData))
{
rewardData.OnCompleted(true);
GameDispatcher.Instance.Dispatch(GameMsg.ProcessReward, rewardData);
}
else
{
GetReward(rewardData);
}
}
}
public static bool IsRewardFly(RewardData rewardData)
{
return (RewardDisplayType.RewardFly & rewardData.displayType) == RewardDisplayType.RewardFly;
}
public static bool IsRewardValueChange(RewardData rewardData)
{
return (RewardDisplayType.ValueChange & rewardData.displayType) == RewardDisplayType.ValueChange;
}
public static bool IsRewardNumber(RewardData rewardData)
{
return (RewardDisplayType.Number & rewardData.displayType) == RewardDisplayType.Number;
}
public static bool IsRewardDialog(RewardData rewardData)
{
return (RewardDisplayType.Dialog & rewardData.displayType) == RewardDisplayType.Dialog;
}
public static void GetReward(RewardData rewardData)
{
PlayReward(rewardData);
GameDispatcher.Instance.Dispatch(GameMsg.ProcessReward, rewardData);
}
private static Tween _tween;
private static void PlayReward(RewardData rewardData)
{
if (rewardData == null) return;
var completed = 0;
foreach (var rewardSingleData in rewardData.GetRewardDataList())
{
var id = rewardSingleData.id;
var sum = rewardSingleData.value;
if (sum <= 0)
{
continue;
}
var isValueChange = IsRewardValueChange(rewardData);
if (isValueChange)
{
if (rewardSingleData.endPosition == Vector2.zero && id is 101 or 102)
{
// if (!UIManager.Instance.IsExistUI(UIConst.H5UI))
// {
if (_tween is { active: true })
{
_tween?.Kill();
}
GameHelper.OnRiseUI(id);
// }
}
else if (id == 111 || id == 112)
{
if (_tween is { active: true })
{
_tween?.Kill();
}
}
SetRewardValueChangeState(id, true);
}
if (!rewardSingleData.IsCanFly())
{
continue;
}
var isNeedFly = IsRewardFly(rewardData);
var rewardDisplayModel = new RewardDisplayData(rewardSingleData)
{
isSingle = rewardData.isSingle,
isPlayAudio = true,
isNeedFly = isNeedFly,
isNeedValueChange = isValueChange,
audioName = AudioConst.CoinFly
};
rewardDisplayModel.SetUpdate(changeValue => { OnChangeValue(id, changeValue); });
rewardDisplayModel.SetUpdateComplete(() =>
{
completed++;
if (isValueChange)
{
SetRewardValueChangeState(id, false);
if (id == 101)
{
// if (!UIManager.Instance.IsExistUI(UIConst.H5UI))
// {
_tween = DOVirtual.DelayedCall(0.5f,
() => { GameHelper.OnRiseUIRecover(id, UILayerType.Normal); });
// }
}
}
if (completed >= rewardData.GetRewardFlyCount())
{
rewardData.OnCompleted(true);
}
});
rewardSingleData.InitFlyPosition();
UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.RewardAniUI_Open, rewardDisplayModel);
}
}
private static void SetRewardValueChangeState(int id, bool isShow)
{
switch (id)
{
case 101:
DataMgr.IsShowRewardFly101.Value = isShow;
break;
case 102:
DataMgr.IsShowRewardFly102.Value = isShow;
break;
case 111:
DataMgr.IsShowRewardFly111.Value = isShow;
break;
}
}
private static void OnChangeValue(int id, decimal changeValue)
{
switch (id)
{
case 101:
GameDispatcher.Instance.Dispatch(GameMsg.Update101, changeValue);
break;
case 102:
GameDispatcher.Instance.Dispatch(GameMsg.Update102, changeValue);
break;
case 111:
GameDispatcher.Instance.Dispatch(GameMsg.Update111, changeValue);
break;
}
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: b41a4be29284494880840871bb69070a
timeCreated: 1692696618
@@ -0,0 +1,78 @@
using ChillConnect;
namespace Assets.Scripts
{
public class WindowSystem : BaseSystem
{
public WindowSystem(bool isAutoInit = true)
{
if (isAutoInit)
{
Init();
}
}
TaskSequence startGameSequence = new TaskSequence();
TaskSequence backMainSequence = new TaskSequence();
public sealed override void Init()
{
base.Init();
AddListener();
}
private void AddListener()
{
CtrlDispatcher.Instance.AddOnceListener(CtrlMsg.Game_Start, StartGame);
GameDispatcher.Instance.AddListener(GameMsg.BackMainScene, BackMain);
}
private void StartGame(object obj)
{
startGameSequence.Clear();
if (startGameSequence.Count == 0)
{
End();
}
else
{
startGameSequence.Run();
}
}
private void End()
{
}
private bool haveBackMain = false;
private void BackMain(object obj)
{
if (!true)
{
return;
}
backMainSequence.Clear();
haveBackMain = true;
backMainSequence.Run();
}
private void AddRateUs(TaskSequence backMainSequence)
{
bool isAdd = 5 == DataMgr.GameOfCount.Value;
backMainSequence.Add(isAdd, (procedure) =>
{
UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.RateUsDialogUI_Open);
UICtrlDispatcher.Instance.AddOnceListener(UICtrlMsg.RateUsDialogUI_Close,
(e) => { procedure.InvokeComplete(); });
});
}
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 1b4c0d23d2744f868b80f5ea89b2bddf
timeCreated: 1692848262
+3
View File
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 9b8a1ab8e5a64e3f88ab5bca879f13d6
timeCreated: 1692267374
@@ -0,0 +1,240 @@
using UnityEngine;
using System.Collections.Generic;
using System.Linq;
using SGModule.ConfigLoader;
using SGModule.Net;
using Newtonsoft.Json;
using SGModule.NetKit;
namespace ChillConnect
{
public class ConfigSystem : BaseSystem
{
public static List<GameUrls> light_weblist = new List<GameUrls>();
public static List<GameUrls> dark_weblist = new List<GameUrls>();
public static string web_through_str;
public ConfigSystem(bool isAutoInit = true)
{
if (isAutoInit)
{
Init();
}
}
public sealed override void Init()
{
base.Init();
AddListener();
}
private void AddListener()
{
NetworkDispatcher.Instance.AddListener(NetworkMsg.GetConfig, OnGetConfig);
}
private void RemoveListener()
{
NetworkDispatcher.Instance.RemoveListener(NetworkMsg.GetConfig, OnGetConfig);
}
private void OnGetConfig(object obj)
{
TrackKit.TrackLoginFunnel(LoginFunnelEventType.LoadBegin); //加载开始打点
int type = 0;
if (obj != null) type = (int)obj;
var loginModel = LoginKit.Instance.LoginModel;
ConfigLoader.Instance.Init(loginModel.Setting, loginModel.CdnURL, new List<ConfigModel>() {
new CommonModel("Common"),
new SignDailyRewardModel("SignDailyReward"),
new TurntableModel("turntable"),
new RewardNumModel("rewardNum"),
new DurationtasksModel("Durationtasks"),
new PassingTaskModel("PassingTasks"),
new PassportrewardsModel("Passportrewards"),
new ADTaskModel("ADTasks"),
new SmallrewardNumModel("SmallrewardNum"),
new LargerewardNumModel("LargerewardNum"),
new PaidcoinsModel("Paidcoins"),
new PaidgiftModel("Paidgift"),
new OnlineRewardsModel("OnlineRewards"),
new MakeupModel("makeup"),
new GameUrlsModel("GameUrls"),
new exBrPoolModel("exBrPool"),
new RankHourRewardsModel("RankHourRewards"),
new RankDayRewardsModel("RankDayRewards"),
new RankWeekRewardsModel("RankWeekRewards"),
new MakeupModel_2("makeup_2"),
new exBrPoolModel_2("exBrPool_2"),
new MultigiftModel("Multigift"),
new ApplePayModel("applePay"),
new ApplePayModel2("applePay2"),
new FAQRuleModel("FAQRule"),
new FAQRuleModel1("FAQRule_1"),
new MessageBoardModel("MessageBoard"),
new MessageBoardModel1("MessageBoard_1"),
new LevelAttemptsModel("LevelAttempts"),
new TurnOffRewardsModel("TurnOffRewards"),
new ExchangeDesModel("ExchangeDescriptors"),
new AppOpenAdModel("SplashAD"),
},
state =>
{
Debug.Log($"配置加载状态{state}");
Debug.Log(JsonConvert.SerializeObject(ConfigSystem.GetConfig<ApplePayModel>().DataList));
if (state == ConfigLoaderState.Successful)
{
Debug.Log(GameHelper.NeedShowOpenAd());
Debug.Log(type);
if (type == 0)
{
Debug.Log(GameHelper.NeedShowOpenAd());
if (GameHelper.NeedShowOpenAd() && GameHelper.IsGiftSwitch())
{
GameHelper.ShowOpenAd();
}
else
{
GameDispatcher.Instance.Dispatch(GameMsg.CloseMask);
}
}
ReloadConfig();
}
},
(errorName, message) =>
{
Debug.LogError($"配置解析错误 {errorName} 错误信息:{message}");
});
}
/// <summary>
/// 重新加载配置
/// </summary>
/// <param name="json"></param>
private void ReloadConfig()
{
TrackKit.TrackLoginFunnel(LoginFunnelEventType.LoadFinish);//加载完成打点
ParseGameConfig();
UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.NetLoadingUI_Close);
AppDispatcher.Instance.Dispatch(AppMsg.LoginInit);
if (SaveData.GetSaveObject().ExchangeProcessMode < 0)
{
SaveData.GetSaveObject().ExchangeModeToggle = ConfigSystem.GetConfig<CommonModel>().ExchangeModeToggle;
SaveData.GetSaveObject().ExchangeProcessMode = ConfigSystem.GetConfig<CommonModel>().ExchangeProcessMode;
SaveData.GetSaveObject().CHProcessMode = ConfigSystem.GetConfig<CommonModel>().CHProcessMode;
}
CtrlDispatcher.Instance.Dispatch(CtrlMsg.Game_StartBefore);
SaveingPotHelper.ResetHistory();
}
#region
private void ParseGameConfig()
{
var exBrPoolModel = GetConfig<exBrPoolModel>();
if (exBrPoolModel != null && exBrPoolModel.DataList.Count > 0)
{
exBrPoolModel.config_name_list = exBrPoolModel.DataList[0].user_name.Split(",").ToList();
exBrPoolModel.config_money_list = exBrPoolModel.DataList[0].amount.Split(",").ToList();
}
var exBrPoolModel2 = GetConfig<exBrPoolModel_2>();
if (exBrPoolModel2 != null && exBrPoolModel2.DataList.Count > 0)
{
exBrPoolModel2.config_name_list = exBrPoolModel2.DataList[0].user_name.Split(",").ToList();
exBrPoolModel2.config_money_list = exBrPoolModel2.DataList[0].amount.Split(",").ToList();
}
var LevelAttemptsModel_ = GetConfig<LevelAttemptsModel>();
if (LevelAttemptsModel_ != null && LevelAttemptsModel_.DataList.Count > 0)
{
LevelAttemptsModel_.config_name_list = LevelAttemptsModel_.DataList[0].user_name.Split(",").ToList();
LevelAttemptsModel_.config_money_list = LevelAttemptsModel_.DataList[0].amount.Split(",").ToList();
}
var gameUrlsModel = GetConfig<GameUrlsModel>();
if (gameUrlsModel != null && gameUrlsModel.DataList.Count > 0)
{
light_weblist.Clear();
dark_weblist.Clear();
web_through_str = "";
var allList = gameUrlsModel.DataList;
List<int> type_list = new List<int>();
for (int i = 0; i < allList.Count; i++)
{
if (allList[i].webType == 2)
{
if ((GameHelper.IsGiftSwitch() && allList[i].isMagic == 1) ||
(!GameHelper.IsGiftSwitch() && allList[i].isMagic == 0))
{
light_weblist.Add(allList[i]);
}
}
else
{
dark_weblist.Add(allList[i]);
if (!type_list.Contains(allList[i].wvType))
{
web_through_str += allList[i].wvthrough;
web_through_str += "|";
type_list.Add(allList[i].wvType);
}
}
}
web_through_str.Remove(web_through_str.Length - 1);
gameUrlsModel.DataList = light_weblist;
}
var jsonDictionary = ConfigLoader.Instance.JsonDictionary;
var gameConfigModel = new GameConfigModel("GameBoard");
foreach (var item in jsonDictionary)
{
if (item.Key.StartsWith("GameBoard"))
{
string[] parts = item.Key.Split('_');
int boardIndex;
if (parts.Length > 1 && int.TryParse(parts[1], out boardIndex))
{
// 成功解析出数字
Debug.Log($"[barry] jiexi boardIndex==== {boardIndex}");
}
else
{
boardIndex = 1;
}
if (jsonDictionary.TryGetValue(item.Key, out var gameboard))
{
if (!gameConfigModel.game_conf.ContainsKey(boardIndex))
{
gameConfigModel.game_conf.Add(boardIndex, null);
}
gameConfigModel.game_conf[boardIndex] =
SerializeUtil.ToObject<List<GameBoard>>(gameboard.ToString());
}
}
}
ConfigLoader.Instance.AddConfig(gameConfigModel);
}
#endregion
public static T GetConfig<T>()
{
return ConfigLoader.Instance.GetConfig<T>();
}
public override void Dispose()
{
base.Dispose();
RemoveListener();
}
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 3a3bd721f95842948573aea8599cd364
timeCreated: 1692603665
@@ -0,0 +1,99 @@
using System;
using SGModule.Net;
using SGModule.NetKit;
namespace ChillConnect
{
public class LoginSystem : BaseSystem
{
private int loginCount = 0;
public LoginSystem(bool isAutoInit = true)
{
if (isAutoInit)
{
Init();
}
}
public static string attribution = "";
public sealed override void Init()
{
base.Init();
InitData();
AddListener();
}
private void InitData()
{
}
private void AddListener()
{
NetworkDispatcher.Instance.AddListener(NetworkMsg.Login, RequestLogin);
}
private void RemoveListener()
{
NetworkDispatcher.Instance.RemoveListener(NetworkMsg.Login, RequestLogin);
}
private TimerTask timerTask = null;
private void RequestLogin(object obj = null)
{
TrackKit.TrackLoginFunnel(LoginFunnelEventType.LoginSend);
LoginKit.Instance.LoginRequest(SuperApplication.Instance.attribution, NetworkManager.haveSimCard, (isSuccess, loginData) =>
{
TrackKit.TrackLoginFunnel(LoginFunnelEventType.LoginRecv, isSuccess ? "success" : "fail");
if (isSuccess)
{
GameDispatcher.Instance.Dispatch(GameMsg.UpdateHotFixProgress, 97);
MaxADKit.SetUserID(loginData.Uid.ToString());
DateTimeManager.Instance.SetServerCurrTimestamp(loginData.LoginTime);
NetworkDispatcher.Instance.Dispatch(NetworkMsg.GetPlayData);
}
else
{
UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.NetLoadingUI_Close);
void OnFail()
{
NetworkDispatcher.Instance.Dispatch(NetworkMsg.Login);
}
// UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.TipsViewUI_Open, (Action)OnFail);zhushi
// UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.NetLoadingUI_Close);
//
// float times = loginCount == 0 ? 0 : 5f;
//
// DOVirtual.DelayedCall(times,()=>{
// if (loginCount < 5) {
// loginCount++;
// RequestLogin();
//
// } else {
// loginCount = 0;
// Action _OnFail = () =>
// {
// NetworkDispatcher.Instance.Dispatch(NetworkMsg.Login);
// };
// UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.TipsViewUI_Open, _OnFail);
// }
// });
}
});
}
public override void Dispose()
{
base.Dispose();
RemoveListener();
}
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 0e448e373b1b484b8918ec80a7f28448
timeCreated: 1692267393
@@ -0,0 +1,94 @@
using System.Collections.Generic;
using IgnoreOPS;
using SGModule.Net;
using SGModule.NetKit;
using UnityEngine;
namespace ChillConnect
{
public class PlayDataSystem : BaseSystem
{
public PlayDataSystem(bool isAutoInit = true)
{
if (isAutoInit)
{
Init();
}
}
public sealed override void Init()
{
base.Init();
AddListener();
}
private void AddListener()
{
NetworkDispatcher.Instance.AddListener(NetworkMsg.GetPlayData, OnRequestPlayData);
NetworkDispatcher.Instance.AddListener(NetworkMsg.SavePlayData, OnRequestSavePlayData);
}
private void RemoveListener()
{
NetworkDispatcher.Instance.RemoveListener(NetworkMsg.GetPlayData, OnRequestPlayData);
NetworkDispatcher.Instance.RemoveListener(NetworkMsg.SavePlayData, OnRequestSavePlayData);
}
private void OnRequestPlayData(object args) {
NetApi.RequestPlayerData((isSuccess, json) => {
// Debug.Log($"barry UserData : {json}");
if (isSuccess) {
var loginModel = LoginKit.Instance.LoginModel;
if (loginModel.NewPlayer || loginModel.Uid != DataMgr.UserID.Value)
{
SaveLocalData.clearRankData();
GameHelper.clearJsonData();
}
DataMgr.InitPreferences(json);
NetworkDispatcher.Instance.Dispatch(NetworkMsg.GetConfig);
}
else {
Debug.LogError($"OnRequestPlayData isError {json}");
}
});
}
private void OnRequestSavePlayData(object obj)
{
if (obj != null)
{
var msg = obj as Dictionary<string, object>;
if (msg == null)
{
return;
}
var version = 1L;
if (msg.TryGetValue("data_ver", out var ver))
{
if (version != default)
{
version = (long)ver;
}
}
var data = SerializeUtil.ToJson<Dictionary<string, object>>(msg);
var requestData = new RequestSavePlayData
{
version = version,
data = data
};
// NetworkKit.PostWithHeader("user/updateData", requestData);
}
}
public override void Dispose()
{
base.Dispose();
// RemoveListener();
}
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 7b2141f8f0f64581b0f291d0ca27ece2
timeCreated: 1692343794