fix:1、添加arrow的游戏代码,和相关的周边功能

This commit is contained in:
2026-07-10 17:57:02 +08:00
parent dd56ccb469
commit f1e05d9547
145 changed files with 8492 additions and 1059 deletions
@@ -0,0 +1,41 @@
namespace RedHotRoast
{
public class ArrowThemeCtrl : BaseCtrl
{
public static ArrowThemeCtrl Instance { get; private set; }
private ArrowThemeModel model;
#region
protected override void OnInit()
{
Instance = this;
}
protected override void OnDispose()
{
Instance = null;
}
#endregion
#region
protected override void RemoveListener()
{
}
protected override void AddServerListener()
{
}
protected override void AddListener()
{
}
protected override void RemoveServerListener()
{
}
#endregion
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: e50273fc8b5c4fd28617651e820de81c
timeCreated: 1781573811
@@ -0,0 +1,43 @@
namespace RedHotRoast
{
public class ArrowThemeModel : BaseModel
{
#region
protected override void OnInit()
{
}
protected override void OnDispose()
{
}
// protected override void OnReset()
// {
// }
// #endregion
// #region 读取数据
// protected override void OnReadData()
// {
// }
// #endregion
// #region 本地存储
// protected override void WriteLocalStorage()
// {
// }
#endregion
#region
protected override void AddListener()
{
}
protected override void RemoveListener()
{
}
#endregion
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: cf2b28aa9d18433f9e27343cfcab577d
timeCreated: 1781573811
@@ -0,0 +1,149 @@
using System;
using FGUI.Arrow_game;
using FGUI.Arrow_Theme;
namespace RedHotRoast
{
public class ArrowThemeUI : BaseUI
{
private ArrowThemeUICtrl ctrl;
private ArrowThemeModel model;
private com_theme ui;
private Action closeCallback;
public ArrowThemeUI(ArrowThemeUICtrl ctrl) : base(ctrl)
{
uiName = UIConst.ArrowThemeUI;
this.ctrl = ctrl;
}
protected override void SetUIInfo(UIInfo uiInfo)
{
uiInfo.packageName = "Arrow_Theme";
uiInfo.assetName = "com_theme";
uiInfo.layerType = UILayerType.Popup;
uiInfo.isNeedOpenAnim = true;
uiInfo.isNeedCloseAnim = true;
uiInfo.isNeedUIMask = true;
}
#region
protected override void OnInit()
{
//model = ModuleManager.Instance.GetModel(ModelConst.GameResultModel) as GameResultModel;
}
protected override void OnClose()
{
GameDispatcher.Instance.Dispatch(GameMsg.StopArrowTouch, true);
}
//
protected override void OnBind()
{
ui = baseUI as com_theme;
}
private SuccessData successData_;
protected override void OnOpenBefore(object args)
{
GameDispatcher.Instance.Dispatch(GameMsg.StopArrowTouch, false);
ui.btn_switch.state.selectedIndex = DataMgr.ArrowDarkTheme.Value;
SetBtnState();
ui.btn_dark.SetClick(() => { SetBtnClick(0); });
// ui.btn_worm.SetClick(() => { SetBtnClick(1); });
ui.btn_colours.SetClick(() => { SetBtnClick(2); });
ui.btn_switch.SetClick(() =>
{
if (DataMgr.ArrowDarkTheme.Value == 0)
{
DataMgr.ArrowDarkTheme.Value = 1;
}
else
{
DataMgr.ArrowDarkTheme.Value = 0;
}
ui.btn_switch.state.selectedIndex = DataMgr.ArrowDarkTheme.Value;
GameDispatcher.Instance.Dispatch(GameMsg.ThemeChange);
});
ui.btn_close.SetClick(() =>
{
CtrlCloseUI();
});
}
private void SetBtnClick(int index)
{
DataMgr.ArrowTheme.Value = index;
SetBtnState();
GameDispatcher.Instance.Dispatch(GameMsg.ThemeChange);
}
private void SetBtnState()
{
switch (DataMgr.ArrowTheme.Value)
{
case 0:
((btn_green)ui.btn_dark).touchable = false;
((btn_green)ui.btn_worm).touchable = true;
((btn_green)ui.btn_colours).touchable = true;
((btn_green)ui.btn_dark).state.selectedIndex = 0;
((btn_green)ui.btn_worm).state.selectedIndex = 1;
((btn_green)ui.btn_colours).state.selectedIndex = 1;
break;
case 1:
((btn_green)ui.btn_dark).touchable = true;
((btn_green)ui.btn_worm).touchable = false;
((btn_green)ui.btn_colours).touchable = true;
((btn_green)ui.btn_dark).state.selectedIndex = 1;
((btn_green)ui.btn_worm).state.selectedIndex = 0;
((btn_green)ui.btn_colours).state.selectedIndex = 1;
break;
case 2:
((btn_green)ui.btn_dark).touchable = true;
((btn_green)ui.btn_worm).touchable = true;
((btn_green)ui.btn_colours).touchable = false;
((btn_green)ui.btn_dark).state.selectedIndex = 1;
((btn_green)ui.btn_worm).state.selectedIndex = 1;
((btn_green)ui.btn_colours).state.selectedIndex = 0;
break;
}
}
protected override void OnOpen(object args)
{
}
protected override void OnHide()
{
}
protected override void OnDisplay(object args)
{
}
#endregion
#region
protected override void AddListener()
{
}
protected override void RemoveListener()
{
}
#endregion
private int time_count;
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 730d3bd4697242e9a28a7f9b2933bcbb
timeCreated: 1781573811
@@ -0,0 +1,87 @@
using DG.Tweening;
namespace RedHotRoast
{
public class ArrowThemeUICtrl : BaseUICtrl
{
private ArrowThemeUI ui;
private ArrowThemeModel model;
private uint openUIMsg = UICtrlMsg.ArrowThemeUI_Open;
private uint closeUIMsg = UICtrlMsg.ArrowThemeUI_Close;
#region
protected override void OnInit()
{
//model = ModuleManager.Instance.GetModel(ModelConst.GameResultModel) as GameResultModel;
}
protected override void OnDispose()
{
}
private object m_data;
public override void OpenUI(object args = null)
{
if (ui == null)
{
ui = new ArrowThemeUI(this);
ui.Open(args);
}
else
{
m_data ??= args;
}
}
public override void CloseUI(object args = null)
{
if (ui != null && !ui.isClose)
{
ui.Close();
}
ui = null;
if (m_data != null)
{
DOVirtual.DelayedCall(0.2f, () =>
{
OpenUI(m_data);
m_data = 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,3 @@
fileFormatVersion: 2
guid: f49d5a3813264e589acb43f743d50d24
timeCreated: 1781573811