提交小游戏项目

This commit is contained in:
2026-07-06 16:27:14 +08:00
commit 2a717c6a2f
7575 changed files with 710847 additions and 0 deletions
@@ -0,0 +1,25 @@
namespace TowerClimberChronicles
{
public class FlowerCtrl : BaseCtrl
{
public static FlowerCtrl Instance { get; private set; }
private FlowerModel model;
#region
protected override void OnInit()
{
Instance = this;
//model = ModuleManager.Instance..GetModel(ModelConst.FlowerModel) as FlowerModel;
}
protected override void OnDispose()
{
Instance = null;
}
#endregion
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: bc5bebe7787244086989b193bce8a385
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,20 @@
namespace TowerClimberChronicles
{
public class FlowerModel : BaseModel
{
#region
protected override void OnInit()
{
}
protected override void OnDispose()
{
}
#endregion
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 07ec7d3e699024bdfa7e71f58b0cd127
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
+462
View File
@@ -0,0 +1,462 @@
using FGUI.ZM_Common_01;
using UnityEngine;
using FairyGUI;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using FGUI.Game_flower;
using DG.Tweening;
using SGModule.Common.Extensions;
namespace TowerClimberChronicles
{
public class FlowerUI : BaseUI
{
private FlowerUICtrl ctrl;
private FlowerModel model;
private FGUI.Game_flower.com_flower ui;
public FlowerUI(FlowerUICtrl ctrl) : base(ctrl)
{
uiName = UIConst.FlowerUI;
this.ctrl = ctrl;
}
protected override void SetUIInfo(UIInfo uiInfo)
{
uiInfo.packageName = "Game_flower";
uiInfo.assetName = "com_flower";
uiInfo.layerType = UILayerType.Normal;
uiInfo.isNeedOpenAnim = false;
uiInfo.isNeedCloseAnim = false;
uiInfo.isNeedUIMask = false;
}
#region
protected override void OnInit()
{
//model = ModuleManager.Instance.GetModel(ModelConst.FlowerModel) as FlowerModel;
}
protected override void OnClose()
{
}
protected override void OnBind()
{
ui = baseUI as FGUI.Game_flower.com_flower;
}
protected override void OnOpenBefore(object args)
{
InitView();
}
protected override void OnOpen(object args)
{
}
protected override void OnHide()
{
}
protected override void OnDisplay(object args)
{
}
#endregion
#region
protected override void AddListener()
{
GameDispatcher.Instance.AddListener(GameMsg.RefreshFlowerCleanBtn, RefreshBtnCleanPot);
GameDispatcher.Instance.AddListener(GameMsg.FlowelSuccess, GameSuccess);
GameDispatcher.Instance.AddListener(GameMsg.FlowerReset, Reset);
GameDispatcher.Instance.AddListener(GameMsg.FlowerRemake, Remake);
GameDispatcher.Instance.AddListener(GameMsg.Update101, Set101);
GameDispatcher.Instance.AddListener(GameMsg.FlowerBuyItem, SetItemBtn);
GameDispatcher.Instance.AddListener(GameMsg.FlowerFullTips, ShowFullani);
}
protected override void RemoveListener()
{
GameDispatcher.Instance.RemoveListener(GameMsg.RefreshFlowerCleanBtn, RefreshBtnCleanPot);
GameDispatcher.Instance.RemoveListener(GameMsg.FlowelSuccess, GameSuccess);
GameDispatcher.Instance.RemoveListener(GameMsg.FlowerReset, Reset);
GameDispatcher.Instance.RemoveListener(GameMsg.FlowerRemake, Remake);
GameDispatcher.Instance.RemoveListener(GameMsg.Update101, Set101);
GameDispatcher.Instance.RemoveListener(GameMsg.FlowerBuyItem, SetItemBtn);
GameDispatcher.Instance.RemoveListener(GameMsg.FlowerFullTips, ShowFullani);
}
#endregion
private void ShowFullani(object a = null)
{
ui.t0.Play();
}
private void ShowUnlockItem()
{
if (DataMgr.FlowerLevel.Value >= GameHelper.GetCommonModel().PropLevel[0] - 1 && !DataMgr.FlowerItemUnlock.Value[0])
{
UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.FlowerUnlockItemUI_Open, 0);
}
else if (DataMgr.FlowerLevel.Value >= GameHelper.GetCommonModel().PropLevel[1] - 1 && !DataMgr.FlowerItemUnlock.Value[1])
{
UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.FlowerUnlockItemUI_Open, 1);
}
else if (DataMgr.FlowerLevel.Value >= GameHelper.GetCommonModel().PropLevel[2] - 1 && !DataMgr.FlowerItemUnlock.Value[2])
{
UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.FlowerUnlockItemUI_Open, 2);
}
}
private void Reset(object a = null)
{
start_update = false;
remain_time = GameHelper.GetCommonModel().FinishTime;
ui.text_time.text = CommonHelper.TimeFormat(remain_time, CountDownType.Minute);
ui.btn_add0.visible = ui.btn_add1.visible = true;
ui.text_level.text = (DataMgr.FlowerLevel.Value + 1).ToString();
ShowUnlockItem();
SetItemBtn();
}
private void Remake(object a = null)
{
DataMgr.FlowerItem1.Value = DataMgr.FlowerItem1.Value + 1;
CreatFlower.instance.UseCleanItem();
remain_time += GameHelper.GetCommonModel().ExtraTime;
start_update = true;
SetItemBtn();
}
//初始化页面逻辑
private void InitView()
{
//Debug.Log(JsonConvert.SerializeObject(ConfigSystem.GetConfig<FlowerMatch>()));
CreatFlower.instance.ResetGame();
// ui.btn_tip.SetClick(TipsFunc);
// ui.btn_clean.SetClick(CleanFunc);
// ui.btn_refresh.SetClick(RefreshFunc);
ui.btn_pot.SetClick(() =>
{
ui.group_list.visible = !ui.group_list.visible;
});
ui.list_pot.itemRenderer = CleanListRender;
RefreshBtnCleanPot();
// GameEnd();
ui.btn_add0.SetClick(() =>
{
GameHelper.ShowVideoAd("flower_add0", (success) =>
{
if (success)
{
AddSlotFunc(0);
ui.btn_add0.visible = false;
}
});
});
ui.btn_add1.SetClick(() =>
{
GameHelper.ShowVideoAd("flower_add1", (success) =>
{
if (success)
{
AddSlotFunc(1);
ui.btn_add1.visible = false;
}
});
});
HallManager.Instance.UpdateSecondEvent += Update_event;
remain_time = GameHelper.GetCommonModel().FinishTime;
ui.text_time.text = CommonHelper.TimeFormat(remain_time, CountDownType.Minute);
if (Screen.safeArea.y != 0)
{
ui.group_safe.y += 68;
}
Set101();
ui.text_level.text = (DataMgr.FlowerLevel.Value + 1).ToString();
SetItemBtn();
ShowUnlockItem();
Stop_time = -3;
if (DataMgr.FlowerLevel.Value == 0)
{
ui.com_guide.visible = true;
ui.com_guide.btn_close.SetClick(() =>
{
ui.com_guide.state.selectedIndex = 1;
ui.com_guide.btn_close.SetClick(() =>
{
ui.com_guide.visible = false;
CreatFlower.instance.DestoryFinger();
});
});
}
ui.btn_close.SetClick(() =>
{
// CreatPuzzle.instance.PuzzlenResetFunc();
OnBackToHall();
});
}
private void OnBackToHall(object obj = null)
{
Debug.Log("??????????jjjjkkkkkkkk0");
if (!GameHelper.GetVipPrivilege(Subscription.RemoveInterstitialAd.As<int>()) && GameHelper.IsGiftSwitch())
{
int random_ = UnityEngine.Random.Range(1, 100);
Debug.Log($"[back hall] SaveData.GetSaveObject().is_get_removead=========={SaveData.GetSaveObject().is_get_removead} ");
if (!SaveData.GetSaveObject().is_get_removead && random_ < GameHelper.GetCommonModel().HomeInterstitialAd)
{
//GameHelper.ShowInterstitial("BackHall");
uiCtrlDispatcher.Dispatch(UICtrlMsg.AdcomingUI_Open);
}
}
// for (int i = 0; i < card_item_list.Count; i++)
// {
// for (int j = 0; j < card_item_list[i].Count; j++)
// {
// if (card_item_list[i][j] != null)
// {
// GameObject.Destroy(card_item_list[i][j].sheep_card);
// }
// }
// }
// SaveJson();
UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.FlowerUI_Close);
GameDispatcher.Instance.Dispatch(GameMsg.BackMainScene);
CtrlCloseUI();
}
public void Set101(object a = null)
{
int coin = DataMgr.Coin.Value;
var btnCoin = ui.btn_gold as com_gold;
btnCoin.text_gold.text = $"{coin:N0}";
}
void Update_event()
{
Stop_time++;
if (Stop_time == 5)
{
GameDispatcher.Instance.Dispatch(GameMsg.FlowerShowclickAni);
}
if (!start_update) return;
remain_time--;
ui.text_time.text = CommonHelper.TimeFormat(remain_time, CountDownType.Minute);
if (remain_time <= 0)
{
if (DataMgr.FlowerLevelState.Value != 0)
{
start_update = false;
UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.FlowerRemakeUI_Open);
}
else
{
float[] ch_array = GameHelper.GetRewardValue(2);
var temp = new SuccessData();
temp.IsWin = false;
temp.ch_number = ch_array[0];
temp.IsLevelSuccess = true;
temp.IsH5Reward = false;
temp.boost_array = GameHelper.GetRewardBoost(2);
temp.level = DataMgr.FlowerLevel.Value;
UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.FlowerEndUI_Open, temp);
}
}
}
private int remain_time;
public static bool start_update = false;
public static long Stop_time = 0;
void GameSuccess(object a = null)
{
float[] cash_array = GameHelper.GetRewardValue(0);
var temp = new SuccessData();
temp.IsWin = true;
temp.ch_number = cash_array[0];
temp.rate = (int)cash_array[1];
temp.IsLevelSuccess = false;
temp.IsH5Reward = false;
temp.boost_array = GameHelper.GetRewardBoost(0);
// DataMgr.FlowerTimeCoinsUse.Value = false;
DataMgr.FlowerLevel.Value = DataMgr.FlowerLevel.Value + 1;
DOVirtual.DelayedCall(0.55f, () =>
{
UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.FlowerEndUI_Open, temp);
});
}
private void CleanListRender(int index, GObject obj)
{
item_potFlower item = (item_potFlower)obj;
item.type.selectedIndex = clean_pot_list[index][0];
item.text_flower_number.text = "x" + clean_pot_list[index][1];
}
void AddSlotFunc(int index)
{
//Debug.Log("解锁。。。。。。。。。。" + index);
CreatFlower.instance.AddSlost(index);
}
void SetItemBtn(object a = null)
{
if (DataMgr.FlowerLevel.Value < GameHelper.GetCommonModel().PropLevel[0] - 1)
{
ui.btn_tip.state.selectedIndex = 2;
ui.btn_tip.SetClick(() =>
{
GameHelper.ShowTips("Complete up to Level " + GameHelper.GetCommonModel().PropLevel[0] + " to unlock!");
});
ui.btn_tip.text_unlock.SetVar("num", GameHelper.GetCommonModel().PropLevel[0].ToString()).FlushVars();
}
else if (DataMgr.FlowerItem0.Value > 0)
{
ui.btn_tip.state.selectedIndex = 1;
ui.btn_tip.text_number.text = DataMgr.FlowerItem0.Value.ToString();
ui.btn_tip.SetClick(() =>
{
// int childCount = FlowerParent.transform.childCount;
// if (childCount <= 0)
// {
// GameHelper.ShowTips("Cannot Use Now");
// return;
// }
TipsFunc();
// DataMgr.FlowerItem0.Value = DataMgr.FlowerItem0.Value - 1;
SetItemBtn();
});
}
else
{
ui.btn_tip.state.selectedIndex = 0;
ui.btn_tip.SetClick(() =>
{
uiCtrlDispatcher.Dispatch(UICtrlMsg.FlowerBuyItemUI_Open, 0);
});
}
if (DataMgr.FlowerLevel.Value < GameHelper.GetCommonModel().PropLevel[1] - 1)
{
ui.btn_clean.state.selectedIndex = 2;
ui.btn_clean.SetClick(() =>
{
GameHelper.ShowTips("Complete up to Level " + GameHelper.GetCommonModel().PropLevel[1] + " to unlock!");
});
ui.btn_clean.text_unlock.SetVar("num", GameHelper.GetCommonModel().PropLevel[1].ToString()).FlushVars();
}
else if (DataMgr.FlowerItem1.Value > 0)
{
ui.btn_clean.state.selectedIndex = 1;
ui.btn_clean.text_number.text = DataMgr.FlowerItem1.Value.ToString();
ui.btn_clean.SetClick(() =>
{
// int childCount = FlowerParent.transform.childCount;
// if (childCount <= 0)
// {
// GameHelper.ShowTips("Cannot Use Now");
// return;
// }
CleanFunc();
// DataMgr.FlowerItem1.Value = DataMgr.FlowerItem1.Value - 1;
SetItemBtn();
});
}
else
{
ui.btn_clean.state.selectedIndex = 0;
ui.btn_clean.SetClick(() =>
{
uiCtrlDispatcher.Dispatch(UICtrlMsg.FlowerBuyItemUI_Open, 1);
});
}
if (DataMgr.FlowerLevel.Value < GameHelper.GetCommonModel().PropLevel[2] - 1)
{
ui.btn_refresh.state.selectedIndex = 2;
ui.btn_refresh.SetClick(() =>
{
GameHelper.ShowTips("Complete up to Level " + GameHelper.GetCommonModel().PropLevel[2] + " to unlock!");
});
ui.btn_refresh.text_unlock.SetVar("num", GameHelper.GetCommonModel().PropLevel[2].ToString()).FlushVars();
}
else if (DataMgr.FlowerItem2.Value > 0)
{
ui.btn_refresh.state.selectedIndex = 1;
ui.btn_refresh.text_number.text = DataMgr.FlowerItem2.Value.ToString();
ui.btn_refresh.SetClick(() =>
{
// int childCount = FlowerParent.transform.childCount;
// if (childCount <= 0)
// {
// GameHelper.ShowTips("Cannot Use Now");
// return;
// }
RefreshFunc();
DataMgr.FlowerItem2.Value = DataMgr.FlowerItem2.Value - 1;
SetItemBtn();
});
}
else
{
ui.btn_refresh.state.selectedIndex = 0;
ui.btn_refresh.SetClick(() =>
{
uiCtrlDispatcher.Dispatch(UICtrlMsg.FlowerBuyItemUI_Open, 2);
});
}
}
void TipsFunc()
{
if (!CreatFlower.instance.CanClick) return;
CreatFlower.instance.UseTipsItem();
}
void CleanFunc()
{
if (!CreatFlower.instance.CanClick) return;
CreatFlower.instance.UseCleanItem();
}
void RefreshFunc()
{
if (!CreatFlower.instance.CanClick) return;
CreatFlower.instance.UseRefreshItem();
}
List<List<int>> clean_pot_list;
void RefreshBtnCleanPot(object a = null)
{
ui.btn_pot.title = CreatFlower.instance.clean_item_list.Count.ToString();
clean_pot_list = new List<List<int>>() {
new List<int>(){0,0},new List<int>(){1,0},new List<int>(){2,0},
new List<int>(){3,0},new List<int>(){4,0},new List<int>(){5,0},
new List<int>(){6,0},new List<int>(){7,0},new List<int>(){8,0},
new List<int>(){9,0},new List<int>(){10,0},new List<int>(){11,0},
};
for (int i = 0; i < CreatFlower.instance.clean_item_list.Count; i++)
{
clean_pot_list[CreatFlower.instance.clean_item_list[i].GetComponent<ChildItem>().type][1]++;
}
clean_pot_list.RemoveAll(subList => subList[1] == 0);
ui.list_pot.numItems = clean_pot_list.Count;
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: eec14c6cb833b4c198addebfff0b54ed
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,73 @@
namespace TowerClimberChronicles
{
public class FlowerUICtrl : BaseUICtrl
{
private FlowerUI ui;
private FlowerModel model;
private uint openUIMsg = UICtrlMsg.FlowerUI_Open;
private uint closeUIMsg = UICtrlMsg.FlowerUI_Close;
#region
protected override void OnInit()
{
//model = ModuleManager.Instance.GetModel(ModelConst.FlowerModel) as FlowerModel;
}
protected override void OnDispose()
{
}
public override void OpenUI(object args = null)
{
if (ui == null)
{
ui = new FlowerUI(this);
ui.Open(args);
}
}
public override void CloseUI(object args = null)
{
if (ui != null && !ui.isClose)
{
ui.Close();
}
ui = null;
}
#endregion
#region
public override uint GetOpenUIMsg(string uiName)
{
return openUIMsg;
}
public override uint GetCloseUIMsg(string uiName)
{
return closeUIMsg;
}
protected override void AddListener()
{
uiCtrlDispatcher.AddListener(openUIMsg, OpenUI);
uiCtrlDispatcher.AddListener(closeUIMsg, CloseUI);
}
protected override void RemoveListener()
{
uiCtrlDispatcher.RemoveListener(openUIMsg, OpenUI);
uiCtrlDispatcher.RemoveListener(closeUIMsg, CloseUI);
}
protected override void AddServerListener()
{
}
protected override void RemoveServerListener()
{
}
#endregion
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 20c8608eafd224b1ebc4687698fa69a1
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: