- 添加 CombatFailedState 执行路径
- CombatInfoForm 测试异常方法
This commit is contained in:
@@ -20,6 +20,7 @@ namespace GeometryTD.UI
|
||||
{
|
||||
GameEntry.Event.Subscribe(CombatPauseEventArgs.EventId, OnCombatPauseButtonClicked);
|
||||
GameEntry.Event.Subscribe(CombatEndEventArgs.EventId, OnCombatEndButtonClicked);
|
||||
GameEntry.Event.Subscribe(CombatDebugFailEventArgs.EventId, OnCombatDebugFailButtonClicked);
|
||||
GameEntry.Event.Subscribe(CombatProcessEventArgs.EventId, OnCombatProcessChanged);
|
||||
GameEntry.Event.Subscribe(CombatCoinChangedEventArgs.EventId, OnCombatCoinChanged);
|
||||
GameEntry.Event.Subscribe(CombatBaseHpChangedEventArgs.EventId, OnCombatBaseHpChanged);
|
||||
@@ -30,6 +31,7 @@ namespace GeometryTD.UI
|
||||
{
|
||||
GameEntry.Event.Unsubscribe(CombatPauseEventArgs.EventId, OnCombatPauseButtonClicked);
|
||||
GameEntry.Event.Unsubscribe(CombatEndEventArgs.EventId, OnCombatEndButtonClicked);
|
||||
GameEntry.Event.Unsubscribe(CombatDebugFailEventArgs.EventId, OnCombatDebugFailButtonClicked);
|
||||
GameEntry.Event.Unsubscribe(CombatProcessEventArgs.EventId, OnCombatProcessChanged);
|
||||
GameEntry.Event.Unsubscribe(CombatCoinChangedEventArgs.EventId, OnCombatCoinChanged);
|
||||
GameEntry.Event.Unsubscribe(CombatBaseHpChangedEventArgs.EventId, OnCombatBaseHpChanged);
|
||||
@@ -176,6 +178,16 @@ namespace GeometryTD.UI
|
||||
_useCase?.TryEndCombat();
|
||||
}
|
||||
|
||||
private void OnCombatDebugFailButtonClicked(object sender, GameEventArgs e)
|
||||
{
|
||||
if (!(sender is CombatInfoForm) || !(e is CombatDebugFailEventArgs))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
_useCase?.TryDebugFail();
|
||||
}
|
||||
|
||||
private void OnCombatProcessChanged(object sender, GameEventArgs e)
|
||||
{
|
||||
if (!(e is CombatProcessEventArgs))
|
||||
|
||||
@@ -8,6 +8,7 @@ namespace GeometryTD.UI
|
||||
{
|
||||
private Func<CombatInfoFormRawData> _modelProvider;
|
||||
private Func<bool> _tryEndCombat;
|
||||
private Func<bool> _tryDebugFail;
|
||||
|
||||
public CombatInfoFormRawData CreateInitialModel()
|
||||
{
|
||||
@@ -19,10 +20,11 @@ namespace GeometryTD.UI
|
||||
return BuildModel();
|
||||
}
|
||||
|
||||
public void Configure(Func<CombatInfoFormRawData> modelProvider, Func<bool> tryEndCombat)
|
||||
public void Configure(Func<CombatInfoFormRawData> modelProvider, Func<bool> tryEndCombat, Func<bool> tryDebugFail)
|
||||
{
|
||||
_modelProvider = modelProvider;
|
||||
_tryEndCombat = tryEndCombat;
|
||||
_tryDebugFail = tryDebugFail;
|
||||
}
|
||||
|
||||
public bool TryEndCombat()
|
||||
@@ -35,6 +37,16 @@ namespace GeometryTD.UI
|
||||
return _tryEndCombat.Invoke();
|
||||
}
|
||||
|
||||
public bool TryDebugFail()
|
||||
{
|
||||
if (_tryDebugFail == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return _tryDebugFail.Invoke();
|
||||
}
|
||||
|
||||
private CombatInfoFormRawData BuildModel()
|
||||
{
|
||||
return _modelProvider != null ? _modelProvider.Invoke() : null;
|
||||
|
||||
@@ -83,6 +83,11 @@ namespace GeometryTD.UI
|
||||
GameEntry.Event.Fire(this, CombatEndEventArgs.Create());
|
||||
}
|
||||
|
||||
public void OnFailButtonClick()
|
||||
{
|
||||
GameEntry.Event.Fire(this, CombatDebugFailEventArgs.Create());
|
||||
}
|
||||
|
||||
protected override void OnOpen(object userData)
|
||||
{
|
||||
base.OnOpen(userData);
|
||||
|
||||
Reference in New Issue
Block a user