【建造】工具类
parent
c44e84122e
commit
a76b0a2b53
|
@ -17,7 +17,7 @@ public class BuildBoot : MonoBehaviour
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 节点类
|
/// 节点类
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class Node
|
private class Node
|
||||||
{
|
{
|
||||||
public string Name;
|
public string Name;
|
||||||
|
|
||||||
|
@ -50,7 +50,7 @@ public class BuildBoot : MonoBehaviour
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 选项类
|
/// 选项类
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class Option
|
private class Option
|
||||||
{
|
{
|
||||||
public GameObject NodeObj;
|
public GameObject NodeObj;
|
||||||
public GameObject OptionObj;
|
public GameObject OptionObj;
|
||||||
|
@ -64,6 +64,9 @@ public class BuildBoot : MonoBehaviour
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 物品栏类
|
||||||
|
/// </summary>
|
||||||
private class BuildBar
|
private class BuildBar
|
||||||
{
|
{
|
||||||
private GameObject _bar;
|
private GameObject _bar;
|
||||||
|
@ -135,6 +138,9 @@ public class BuildBoot : MonoBehaviour
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 物品栏Icon类
|
||||||
|
/// </summary>
|
||||||
private class BuildItem
|
private class BuildItem
|
||||||
{
|
{
|
||||||
private Button _btn;
|
private Button _btn;
|
||||||
|
@ -195,7 +201,7 @@ public class BuildBoot : MonoBehaviour
|
||||||
|
|
||||||
private void Start()
|
private void Start()
|
||||||
{
|
{
|
||||||
UpdateUI();
|
UpdateBuildDisplay();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnDisable()
|
private void OnDisable()
|
||||||
|
@ -205,6 +211,9 @@ public class BuildBoot : MonoBehaviour
|
||||||
|
|
||||||
#region Build相关
|
#region Build相关
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 初始化建造物数据
|
||||||
|
/// </summary>
|
||||||
private void InitBuildData()
|
private void InitBuildData()
|
||||||
{
|
{
|
||||||
_nodes = new Dictionary<string, Node>();
|
_nodes = new Dictionary<string, Node>();
|
||||||
|
@ -215,42 +224,11 @@ public class BuildBoot : MonoBehaviour
|
||||||
_nodes.Add(child.name, node);
|
_nodes.Add(child.name, node);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
/// <summary>
|
||||||
|
/// 刷新建造物表现
|
||||||
#region UI相关
|
/// </summary>
|
||||||
|
private void UpdateBuildDisplay()
|
||||||
private void InitUI()
|
|
||||||
{
|
|
||||||
_btnClose = transform.Find("UIRoot/UIMainBuild/UI_LiuHaiTop/BG_Top/Btn_Close").GetComponent<Button>();
|
|
||||||
_btnClose.onClick.AddListener(CloseBuildPanel);
|
|
||||||
|
|
||||||
InitTipPanel();
|
|
||||||
InitBuildBar();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void InitTipPanel()
|
|
||||||
{
|
|
||||||
_tipObj = transform.Find("UIRoot/UIMainBuild/Build_Tip").gameObject;
|
|
||||||
_btnTipClose = _tipObj.transform.Find("Btn_Close").GetComponent<Button>();
|
|
||||||
_btnTipGoGame = _tipObj.transform.Find("Btn_Game").GetComponent<Button>();
|
|
||||||
_btnTipClose.onClick.AddListener(CloseTipPanel);
|
|
||||||
_btnTipGoGame.onClick.AddListener(TipGoGame);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void InitBuildBar()
|
|
||||||
{
|
|
||||||
var bar = transform.Find("UIRoot/UIMainBuild/UI_LiuHaiBottom/Build_Bar").gameObject;
|
|
||||||
_buildBar = new BuildBar(bar);
|
|
||||||
_btnBarClose = transform.Find("UIRoot/UIMainBuild/UI_LiuHaiBottom/Build_Bar/Btn_Close")
|
|
||||||
.GetComponent<Button>();
|
|
||||||
_btnBarYes = transform.Find("UIRoot/UIMainBuild/UI_LiuHaiBottom/Build_Bar/Btn_Yes").GetComponent<Button>();
|
|
||||||
|
|
||||||
_btnBarClose.onClick.AddListener(CloseBar);
|
|
||||||
_btnBarYes.onClick.AddListener(YesBar);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void UpdateUI()
|
|
||||||
{
|
{
|
||||||
foreach (var node in _nodes)
|
foreach (var node in _nodes)
|
||||||
{
|
{
|
||||||
|
@ -273,16 +251,66 @@ public class BuildBoot : MonoBehaviour
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region UI相关
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 初始化UI
|
||||||
|
/// </summary>
|
||||||
|
private void InitUI()
|
||||||
|
{
|
||||||
|
_btnClose = transform.Find("UIRoot/UIMainBuild/UI_LiuHaiTop/BG_Top/Btn_Close").GetComponent<Button>();
|
||||||
|
_btnClose.onClick.AddListener(CloseBuildPanel);
|
||||||
|
|
||||||
|
InitTipPanel();
|
||||||
|
InitBuildBar();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 初始化上锁提示界面
|
||||||
|
/// </summary>
|
||||||
|
private void InitTipPanel()
|
||||||
|
{
|
||||||
|
_tipObj = transform.Find("UIRoot/UIMainBuild/Build_Tip").gameObject;
|
||||||
|
_btnTipClose = _tipObj.transform.Find("Btn_Close").GetComponent<Button>();
|
||||||
|
_btnTipGoGame = _tipObj.transform.Find("Btn_Game").GetComponent<Button>();
|
||||||
|
_btnTipClose.onClick.AddListener(CloseTipPanel);
|
||||||
|
_btnTipGoGame.onClick.AddListener(TipGoGame);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 初始化物品栏
|
||||||
|
/// </summary>
|
||||||
|
private void InitBuildBar()
|
||||||
|
{
|
||||||
|
var bar = transform.Find("UIRoot/UIMainBuild/UI_LiuHaiBottom/Build_Bar").gameObject;
|
||||||
|
_btnBarClose = bar.transform.Find("Btn_Close").GetComponent<Button>();
|
||||||
|
_btnBarClose.onClick.AddListener(CloseBar);
|
||||||
|
_btnBarYes = bar.transform.Find("Btn_Yes").GetComponent<Button>();
|
||||||
|
_btnBarYes.onClick.AddListener(YesBar);
|
||||||
|
_buildBar = new BuildBar(bar);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 关闭建造界面
|
||||||
|
/// </summary>
|
||||||
private void CloseBuildPanel()
|
private void CloseBuildPanel()
|
||||||
{
|
{
|
||||||
GameStateManager.Instance.ChangeState(new GameStateStart(UIConstants.UIMainPanel));
|
GameStateManager.Instance.ChangeState(new GameStateStart(UIConstants.UIMainPanel));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 关闭提示界面
|
||||||
|
/// </summary>
|
||||||
private void CloseTipPanel()
|
private void CloseTipPanel()
|
||||||
{
|
{
|
||||||
_tipObj.SetActive(false);
|
_tipObj.SetActive(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 开始游戏
|
||||||
|
/// </summary>
|
||||||
private void TipGoGame()
|
private void TipGoGame()
|
||||||
{
|
{
|
||||||
var levelID = $"level{LevelSelectManager.Instance.CurPassLevelIndex + 1}";
|
var levelID = $"level{LevelSelectManager.Instance.CurPassLevelIndex + 1}";
|
||||||
|
@ -292,12 +320,18 @@ public class BuildBoot : MonoBehaviour
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 关闭物品栏
|
||||||
|
/// </summary>
|
||||||
private void CloseBar()
|
private void CloseBar()
|
||||||
{
|
{
|
||||||
_buildBar.Close();
|
_buildBar.Close();
|
||||||
_curBubble.SetActive(true);
|
_curBubble.SetActive(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 保存更改
|
||||||
|
/// </summary>
|
||||||
private void YesBar()
|
private void YesBar()
|
||||||
{
|
{
|
||||||
DebugUtil.LogError("保存更改");
|
DebugUtil.LogError("保存更改");
|
||||||
|
@ -306,11 +340,19 @@ public class BuildBoot : MonoBehaviour
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
private void OnBuilItemClick(GameObject obj)
|
#region 点击事件
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 建造物节点点击
|
||||||
|
/// </summary>
|
||||||
|
private void OnBuildItemClick(GameObject obj)
|
||||||
{
|
{
|
||||||
DebugUtil.LogError("obj");
|
DebugUtil.LogError("obj");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 泡泡点击
|
||||||
|
/// </summary>
|
||||||
private void OnBuildBubbleClick(GameObject obj)
|
private void OnBuildBubbleClick(GameObject obj)
|
||||||
{
|
{
|
||||||
_curBubble = obj;
|
_curBubble = obj;
|
||||||
|
@ -327,11 +369,17 @@ public class BuildBoot : MonoBehaviour
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 解锁图标点击
|
||||||
|
/// </summary>
|
||||||
private void BuildIconClick()
|
private void BuildIconClick()
|
||||||
{
|
{
|
||||||
DebugUtil.LogError("点击了图标");
|
DebugUtil.LogError("点击了图标");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 未解锁图标点击
|
||||||
|
/// </summary>
|
||||||
private void BuildLockIconClick()
|
private void BuildLockIconClick()
|
||||||
{
|
{
|
||||||
DebugUtil.LogError("点击了上锁图标");
|
DebugUtil.LogError("点击了上锁图标");
|
||||||
|
@ -340,13 +388,15 @@ public class BuildBoot : MonoBehaviour
|
||||||
|
|
||||||
private void RegisterClickEvent()
|
private void RegisterClickEvent()
|
||||||
{
|
{
|
||||||
InputManager.Instance.OnBuildItemClick += OnBuilItemClick;
|
InputManager.Instance.OnBuildItemClick += OnBuildItemClick;
|
||||||
InputManager.Instance.OnBuildBubbleClick += OnBuildBubbleClick;
|
InputManager.Instance.OnBuildBubbleClick += OnBuildBubbleClick;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UnregisterClickEvent()
|
private void UnregisterClickEvent()
|
||||||
{
|
{
|
||||||
InputManager.Instance.OnBuildItemClick -= OnBuilItemClick;
|
InputManager.Instance.OnBuildItemClick -= OnBuildItemClick;
|
||||||
InputManager.Instance.OnBuildBubbleClick -= OnBuildBubbleClick;
|
InputManager.Instance.OnBuildBubbleClick -= OnBuildBubbleClick;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
}
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
using System.Text.RegularExpressions;
|
||||||
|
|
||||||
|
namespace Framework.GameBuild
|
||||||
|
{
|
||||||
|
public static class GameBuildUtils
|
||||||
|
{
|
||||||
|
public static int ExtractNumber(string input)
|
||||||
|
{
|
||||||
|
var str = input;
|
||||||
|
int lastIndex = input.LastIndexOf('_');
|
||||||
|
if (lastIndex != -1 && lastIndex < input.Length - 1)
|
||||||
|
{
|
||||||
|
str = input.Substring(lastIndex + 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
Match match = Regex.Match(str, @"\d+");
|
||||||
|
|
||||||
|
if (match.Success)
|
||||||
|
{
|
||||||
|
return int.Parse(match.Value);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 78df10e0d84464c68800c006f61d2d4c
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
Loading…
Reference in New Issue