public override void OnRemoved() { mBuffer.Add(this); if (mLastTip == this) { mLastTip = null; } }
public static EditorCanvasTip NewTip(string text, float time) { if (mLastTip != null && mLastTip.mText == text) { mLastTip.mTick = JDateTime.NowMillies; return(mLastTip); } EditorCanvasTip tip = mBuffer.Get(); tip.mDuration = (long)(time * 1000); tip.mText = text; mLastTip = tip; return(tip); }
public override bool InteractMouseClick(EMouseButton button, Vector2 mousePosition) { if (!Visible) { return(false); } mFocusSearch = mRaycastSearch; if (mRaycastMeta != null && button == EMouseButton.left) { if (mRaycastMeta.IsTitle) { mRaycastMeta.Collaped = !mRaycastMeta.Collaped; } //mDropDownMeta = mRaycastMeta == mDropDownMeta ? null : mRaycastMeta; else { switch (mRaycastMeta.BTMeta.NodeType) { case EBTNodeType.task: case EBTNodeType.controller: mWindow.AddChild(Context, mRaycastMeta.BTMeta, new Vector2(LocalRect.center.x, LocalRect.yMin)); Hide(); return(true); case EBTNodeType.condition: case EBTNodeType.service: BehaviourNodeGUI node = Context as BehaviourNodeGUI; if (node != null) { BehaviourNodeGUI.Decorator decor = node.AddDecorator(mRaycastMeta.BTMeta); if (decor != null && decor.Properties.Length > 0) { //mFocusDecorator = decor; decor.UpdatePropertiesInfo(); } //Hide(); node.Resize(); if (decor == null) { EditorCanvasTip.NewTip("不能添加<color=yellow>" + mRaycastMeta.BTMeta.DisplayName + "</color>", 2) .Show(mWindow.RootCanvas, mWindow.RootCanvas.CalculateLocalPosition(mousePosition - Vector2.up * 20)); } } return(true); default: break; } } } bool act = mFocusProperty == null && mRaycastProperty == null; if (mFocusProperty != mRaycastProperty) { SubmitProperty(); } mFocusProperty = mRaycastProperty; mFocusDecorator = mRaycastDecorator; if (act && mRaycastDecorator != null && mRaycastDecorator.BTMeta.NodeType == EBTNodeType.condition) { mRaycastDecorator.NotFlag = !mRaycastDecorator.NotFlag; } //if (mRaycastDecorator != null && mRaycastDecorator.Properties.Length > 0) //{ // mFocusDecorator = mRaycastDecorator; //} return(Visible); }