修复Condition or的bug
This commit is contained in:
parent
1203cccf31
commit
0f2f49dd01
@ -43,6 +43,11 @@ namespace QFramework
|
|||||||
public ActionStatus Status { get; set; }
|
public ActionStatus Status { get; set; }
|
||||||
public void OnStart()
|
public void OnStart()
|
||||||
{
|
{
|
||||||
|
foreach (var item in mCondition)
|
||||||
|
{
|
||||||
|
item.OnStart();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnExecute(float dt)
|
public void OnExecute(float dt)
|
||||||
|
|||||||
@ -44,6 +44,7 @@ namespace QFramework
|
|||||||
|
|
||||||
public void Send(string key)
|
public void Send(string key)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (mEvents.TryGetValue(key, out var e))
|
if (mEvents.TryGetValue(key, out var e))
|
||||||
{
|
{
|
||||||
var easyEvent = e.As<EasyEvent>();
|
var easyEvent = e.As<EasyEvent>();
|
||||||
@ -67,6 +68,10 @@ namespace QFramework
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool HasRegister(string key)
|
||||||
|
{
|
||||||
|
return mEvents.ContainsKey(key);
|
||||||
|
}
|
||||||
|
|
||||||
public void UnRegister<T>(string key, Action<T> onEvent)
|
public void UnRegister<T>(string key, Action<T> onEvent)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -13,7 +13,7 @@ namespace QFramework
|
|||||||
|
|
||||||
private StrEventCondition() { }
|
private StrEventCondition() { }
|
||||||
string key;
|
string key;
|
||||||
|
bool isFinished = false;
|
||||||
public static StrEventCondition Allocate(string key)
|
public static StrEventCondition Allocate(string key)
|
||||||
{
|
{
|
||||||
var conditionAction = mSimpleObjectPool.Allocate();
|
var conditionAction = mSimpleObjectPool.Allocate();
|
||||||
@ -21,11 +21,12 @@ namespace QFramework
|
|||||||
conditionAction.Deinited = false;
|
conditionAction.Deinited = false;
|
||||||
conditionAction.Reset();
|
conditionAction.Reset();
|
||||||
conditionAction.key = key;
|
conditionAction.key = key;
|
||||||
|
conditionAction.isFinished = false;
|
||||||
return conditionAction;
|
return conditionAction;
|
||||||
}
|
}
|
||||||
public bool Check()
|
public bool Check()
|
||||||
{
|
{
|
||||||
return false;
|
return isFinished;
|
||||||
}
|
}
|
||||||
public bool Paused { get; set; }
|
public bool Paused { get; set; }
|
||||||
public bool Deinited { get; set; }
|
public bool Deinited { get; set; }
|
||||||
@ -39,6 +40,7 @@ namespace QFramework
|
|||||||
private void OnEventFnished()
|
private void OnEventFnished()
|
||||||
{
|
{
|
||||||
StringEventSystem.Global.UnRegister(key, OnEventFnished);
|
StringEventSystem.Global.UnRegister(key, OnEventFnished);
|
||||||
|
isFinished = true;
|
||||||
this.Finish();
|
this.Finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -102,6 +102,8 @@ namespace QFramework.Example
|
|||||||
ScoreController.Instance.Add(mData.scoreStepName, mData.rightScore);
|
ScoreController.Instance.Add(mData.scoreStepName, mData.rightScore);
|
||||||
answers.Remove(item.Name);
|
answers.Remove(item.Name);
|
||||||
if (answers.Count <= 0)
|
if (answers.Count <= 0)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(mData.rightLable) == false)
|
||||||
{
|
{
|
||||||
var data = new UIResultTipData();
|
var data = new UIResultTipData();
|
||||||
data.label = mData.rightLable;
|
data.label = mData.rightLable;
|
||||||
@ -116,15 +118,26 @@ namespace QFramework.Example
|
|||||||
data.autoHideTime = mData.autoHideResult;
|
data.autoHideTime = mData.autoHideResult;
|
||||||
UIKit.OpenPanelAsync<UIResultTip>(uiData: data, canvasLevel: UILevel.PopUI).ToAction().StartGlobal();
|
UIKit.OpenPanelAsync<UIResultTip>(uiData: data, canvasLevel: UILevel.PopUI).ToAction().StartGlobal();
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(mData.rightEvent) == false)
|
||||||
|
{
|
||||||
|
StringEventSystem.Global.Send(mData.rightEvent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ScoreController.Instance.Add(mData.scoreStepName, mData.wrongScore);
|
ScoreController.Instance.Add(mData.scoreStepName, mData.wrongScore);
|
||||||
|
if (string.IsNullOrEmpty(mData.wrongLabel) == false)
|
||||||
|
{
|
||||||
var data = new UIResultTipData();
|
var data = new UIResultTipData();
|
||||||
data.label = mData.wrongLabel;
|
data.label = mData.wrongLabel;
|
||||||
data.isRight = false;
|
data.isRight = false;
|
||||||
data.callback = () =>
|
data.callback = () =>
|
||||||
{
|
{
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(mData.wrongEvent) == false)
|
if (string.IsNullOrEmpty(mData.wrongEvent) == false)
|
||||||
{
|
{
|
||||||
StringEventSystem.Global.Send(mData.wrongEvent);
|
StringEventSystem.Global.Send(mData.wrongEvent);
|
||||||
@ -133,9 +146,18 @@ namespace QFramework.Example
|
|||||||
};
|
};
|
||||||
data.autoHideTime = mData.autoHideResult;
|
data.autoHideTime = mData.autoHideResult;
|
||||||
UIKit.OpenPanelAsync<UIResultTip>(uiData: data, canvasLevel: UILevel.PopUI).ToAction().Start(this);
|
UIKit.OpenPanelAsync<UIResultTip>(uiData: data, canvasLevel: UILevel.PopUI).ToAction().Start(this);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(mData.wrongEvent) == false)
|
||||||
|
{
|
||||||
|
StringEventSystem.Global.Send(mData.wrongEvent);
|
||||||
|
}
|
||||||
|
SetSelected(obj, false);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user