CombatNode 相关逻辑补充

- CombatFinishForm:战斗节点的结算页面(杀死的敌人、获得的金币、获得的道具)
- CombatSelectForm:战斗节点建造防御塔的选择 UI 以及对防御塔进行操作的 UI(只实现了建造逻辑,在 MapEntity 里做射线检测)
- 构建了基本的防御塔三组件(ShooterMuzzleComp/BasicBearingComp/BasicBaseComp)和防御塔主控(DefenseTowerController)以及相应的实体类(DefenseTowerEntity)
This commit is contained in:
SepComet
2026-03-01 23:11:52 +08:00
parent 92cca14503
commit 564817d752
96 changed files with 7294 additions and 121 deletions
@@ -0,0 +1,21 @@
using GameFramework;
using GameFramework.Event;
namespace GeometryTD.CustomEvent
{
public class CombatFinishReturnEventArgs : GameEventArgs
{
public static int EventId => typeof(CombatFinishReturnEventArgs).GetHashCode();
public override int Id => EventId;
public static CombatFinishReturnEventArgs Create()
{
return ReferencePool.Acquire<CombatFinishReturnEventArgs>();
}
public override void Clear()
{
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 8ff2a3f68ab24bf294b24907548c88de
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,31 @@
using GameFramework;
using GameFramework.Event;
using GeometryTD.UI;
namespace GeometryTD.CustomEvent
{
public class CombatSelectItemClickEventArgs : GameEventArgs
{
public static int EventId => typeof(CombatSelectItemClickEventArgs).GetHashCode();
public override int Id => EventId;
public CombatSelectActionType ActionType { get; private set; } = CombatSelectActionType.None;
public int ActionIndex { get; private set; } = -1;
public static CombatSelectItemClickEventArgs Create(CombatSelectActionType actionType, int actionIndex)
{
CombatSelectItemClickEventArgs args = ReferencePool.Acquire<CombatSelectItemClickEventArgs>();
args.ActionType = actionType;
args.ActionIndex = actionIndex;
return args;
}
public override void Clear()
{
ActionType = CombatSelectActionType.None;
ActionIndex = -1;
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: d8a9619fe7cdb054ea7eeac820f95ae4
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: