// Use this for initialization void Start () { DiaryListItem[] items = ResourceLoader.GetInstance().LoadDiaryItems(); int index = 0; foreach (DiaryListItem diaryListItem in items) { diaryListItem.listIndex = index; diaryListItem.transform.parent = this.transform; diaryListItem.transform.localPosition = Vector3.zero; diaryListItem.transform.localScale = Vector3.one; //동적 이벤트 생성 UIButton uiButton = diaryListItem.GetComponent<UIButton>(); EventDelegate eventDelegate = new EventDelegate(clickNotifyTarget, "DiaryListItemButtonPressed"); eventDelegate.parameters[0] = new EventDelegate.Parameter(); eventDelegate.parameters[0].obj = diaryListItem.GetComponent<DiaryListItem>(); eventDelegate.parameters[0].expectedType = typeof(DiaryListItem); uiButton.onClick.Add(eventDelegate); ++index; } GetComponent<UIGrid>().Reposition(); }
void Awake(){ _instance = this; headSprite = transform.Find ("HeadSprite").GetComponent<UISprite> (); levelLabel = transform.Find ("LevelLabel").GetComponent<UILabel> (); nameLabel = transform.Find ("NameLabel").GetComponent<UILabel> (); diamondLabel = transform.Find ("DiamondLabel/DiamondNumLabel").GetComponent<UILabel> (); coinLabel = transform.Find ("CoinLabel/CoinNumLabel").GetComponent<UILabel> (); tween = this.GetComponent<TweenPosition> (); closeButton = transform.Find ("CancelButton").GetComponent<UIButton> (); changeNameButton = transform.Find ("ChangeNameButton").GetComponent<UIButton> (); changeNameGo = transform.Find ("ChangeNameBg").gameObject; nameInput = transform.Find ("ChangeNameBg/NameInput").GetComponent<UIInput> (); sureButton = transform.Find ("ChangeNameBg/SureButton").GetComponent<UIButton> (); cancelButton = transform.Find ("ChangeNameBg/CancelButton").GetComponent<UIButton> (); changeNameGo.SetActive (false); EventDelegate ed = new EventDelegate(this,"OnButtonCloseClick"); closeButton.onClick.Add (ed); EventDelegate ed2 = new EventDelegate (this, "OnButtonChangeNameClick"); changeNameButton.onClick.Add (ed2); EventDelegate ed3 = new EventDelegate (this, "OnButtonSureClick"); sureButton.onClick.Add (ed3); EventDelegate ed4 = new EventDelegate (this, "OnButtonCancelClick"); cancelButton.onClick.Add (ed4); PlayerInfo._instance.OnPlayerInfoChanged += this.OnPlayerInfoChanged; }
public void DeRegisterEvent(eEvents @event, EventDelegate _delListener) { if (!_dicEventRegistry.ContainsKey(@event)) return; _dicEventRegistry[@event] -= _delListener; }
public void Awake() { desLabel = transform.Find("DesLabel").GetComponent<UILabel>(); energyLabel = transform.Find("EnergyLabel").GetComponent<UILabel>(); energyTitleLabel = transform.Find("EnergyTitleLabel").GetComponent<UILabel>(); btnsignleEnter = transform.Find("BtnSignleEnter").GetComponent<UIButton>(); btnteamEnter = transform.Find("BtnTeamEnter").GetComponent<UIButton>(); btnClose = transform.Find("BtnClose").GetComponent<UIButton>(); tween = transform.GetComponent<TweenScale>(); //注册按钮点击事件 EventDelegate ed1 = new EventDelegate(this,"OnSignleEnter"); btnsignleEnter.onClick.Add(ed1); EventDelegate ed2 = new EventDelegate(this, "OnClose"); btnClose.onClick.Add(ed2); EventDelegate.Set(btnteamEnter.onClick, () => { OnteamEnter(); }); battleController = GameManger._instance.GetComponent<BattleController>(); battleController.OnGetTeam += this.OnGetTeam; battleController.OnWaitTeam += this.OnWaitTeam; battleController.OnCancelTeam += this.OnCancelTeam; }
public void QuitAnimation(EventDelegate.Callback onComplete) { if (twPosition == null) twPosition = objAnimation.GetComponent<TweenPosition>(); twPosition.PlayReverse(); EventDelegate.Set(twPosition.onFinished, onComplete); }
public void AnimateDisappear() { delegateDisappearFinish = new EventDelegate(DisappearFinish); TweenScale.Begin(transform.FindChild("Body").gameObject, 0.2f, new Vector3(0f, 0f, 1f)); TweenAlpha.Begin(transform.FindChild("BG").gameObject, 0.2f, 0); transform.FindChild("Body").GetComponent<TweenScale>().SetOnFinished(delegateDisappearFinish); }
public static void DownloadFileAsync(string remoteFilePath, EventDelegate dwnldCompletedDelegate) { var url = new Uri (SERVER + remoteFilePath); var webClient = new WebClient (); webClient.DownloadDataCompleted += new DownloadDataCompletedEventHandler (dwnldCompletedDelegate); webClient.DownloadDataAsync (url); }
public void changeResources(EDragonStateAction stateAction) { string branch = ConvertSupportor.convertUpperFirstChar(PlayerInfo.Instance.dragonInfo.id); float timeFrame = (float)getValueFromDatabase(EAnimationDataType.TIME_FRAME); EventDelegate callback = null; switch (stateAction) { case EDragonStateAction.IDLE: animationFrames.createAnimation(EDragonStateAction.IDLE, "Image/Dragon/Player/" + branch + "/Idle", timeFrame, true); break; case EDragonStateAction.MOVE: animationFrames.createAnimation(EDragonStateAction.MOVE, "Image/Dragon/Player/" + branch + "/Move", timeFrame, true); break; case EDragonStateAction.ATTACK: animationFrames.createAnimation(EDragonStateAction.ATTACK, "Image/Dragon/Player/" + branch + "/Attack", timeFrame, true); callback = new EventDelegate(controller.stateAttack.attackEnemy); break; case EDragonStateAction.DIE: animationFrames.createAnimation(EDragonStateAction.DIE, "Image/Dragon/Player/" + branch + "/Die", timeFrame, true); callback = new EventDelegate(controller.stateDie.fadeOutSprites); //animationFrames.addEventLastKey(new EventDelegate(controller.stateDie.fadeOutSprites), false); break; } object[] events = (object[])getValueFromDatabase(EAnimationDataType.EVENT); if (events.Length != 0) { animationFrames.addEvent(events, callback, false); } }
void Awake() { equipSprite = transform.Find("EquipBg/Sprite").GetComponent<UISprite>(); nameLabel = transform.Find("NameLabel").GetComponent<UILabel>(); qualityLabel = transform.Find("QualityLabel/Label").GetComponent<UILabel>(); damageLabel = transform.Find("DamageLabel/Label").GetComponent<UILabel>(); hpLabel = transform.Find("HpLabel/Label").GetComponent<UILabel>(); powerLabel = transform.Find("PowerLabel/Label").GetComponent<UILabel>(); desLabel = transform.Find("DesLabel").GetComponent<UILabel>(); levelLabel = transform.Find("LevelLabel/Label").GetComponent<UILabel>(); btnLabel = transform.Find("EquipButton/Label").GetComponent<UILabel>(); closeButton = transform.Find("CloseButton").GetComponent<UIButton>(); equipButton = transform.Find("EquipButton").GetComponent<UIButton>(); upgradeButton = transform.Find("UpgradeButton").GetComponent<UIButton>(); //注册按钮点击事件 EventDelegate ed1 = new EventDelegate(this,"OnClose"); closeButton.onClick.Add(ed1); EventDelegate ed2 = new EventDelegate(this,"OnEquip"); equipButton.onClick.Add(ed2); EventDelegate ed3 = new EventDelegate(this,"OnUpgrade"); upgradeButton.onClick.Add(ed3); }
private void Awake() { combatButton = FindButton("Combat"); knapsackButton = FindButton("Knapsack"); taskButton = FindButton("Task"); skillButton = FindButton("Skill"); shopButton = FindButton("Shop"); systemButton = FindButton("System"); EventDelegate ed1 = new EventDelegate(this,"OnCombatClick"); combatButton.onClick.Add(ed1); EventDelegate ed2 = new EventDelegate(this,"OnKnapsackClick"); knapsackButton.onClick.Add(ed2); EventDelegate ed3 = new EventDelegate(this,"OnTaskClick"); taskButton.onClick.Add(ed3); EventDelegate ed4 = new EventDelegate(this,"OnSkillClick"); skillButton.onClick.Add(ed4); EventDelegate ed5 = new EventDelegate(this,"OnShopClick"); shopButton.onClick.Add(ed5); EventDelegate ed6 = new EventDelegate(this,"OnSystemClick"); systemButton.onClick.Add(ed6); }
public void Start() { int i = 0; List<Room> rooms = new List<Room>(); rooms.Add(new House()); rooms.Add(new Deposit()); foreach (Room room in rooms) { GameObject newButton = NGUITools.AddChild(gameObject, BuildButton); newButton.transform.name = room.Name; newButton.GetComponentInChildren<UILabel>().text = room.Name; newButton.GetComponentInChildren<UI2DSprite>().sprite2D = room.GetSprite(new Position(0, 0)); EventDelegate del = new EventDelegate(Cursor.Cursor.Instance, "BuildRoom"); del.parameters[0].value = room; EventDelegate.Set(newButton.GetComponentInChildren<UIButton>().onClick, del); } GetComponent<UIGrid>().Reposition(); }
private void Start() { List<DressItem> dressItems = DressCreator.Instance.GetDressItemsCategory(dressCagegory); foreach (DressItem dressItem in dressItems) { GameObject listItem = Instantiate(Resources.Load("Object/UI/DressListItem")) as GameObject; listItem.transform.parent = transform; listItem.transform.localPosition = Vector3.zero; listItem.transform.localScale = Vector3.one; //이미지 설정 UISprite uiSprite = listItem.GetComponent<UISprite>(); uiSprite.atlas = atlas; uiSprite.spriteName = dressItem.GetComponent<UISprite>().spriteName; uiSprite.MakePixelPerfect(); //동적 이벤트 생성 UIButton uiButton = listItem.GetComponent<UIButton>(); EventDelegate eventDelegate = new EventDelegate(clickNotifyTarget, "DressListItemButtonPressed"); eventDelegate.parameters[0] = new EventDelegate.Parameter(); eventDelegate.parameters[0].obj = listItem.GetComponent<DressListItem>(); eventDelegate.parameters[0].expectedType = typeof (DressListItem); uiButton.onClick.Add(eventDelegate); //category설정 DressListItem dressItemList = listItem.GetComponent<DressListItem>(); dressItemList.dressCategory = dressItem.dressCategory; dressItemList.dressCode = dressItem.dressCode; } GetComponent<UIGrid>().Reposition(); }
public static void Cancel(string eventName, EventDelegate d) { if (handlers.ContainsKey (eventName)) { handlers[eventName].Remove(d); } }
void Awake() { task = transform.Find("task").GetComponent<UIButton>(); skill = transform.Find("skill").GetComponent<UIButton>(); bag = transform.Find("bag").GetComponent<UIButton>(); combat=transform.Find("combat").GetComponent<UIButton>(); shop = transform.Find("shop").GetComponent<UIButton>(); system = transform.Find("system").GetComponent<UIButton>(); EventDelegate tasked = new EventDelegate(this, "OnTask"); task.onClick.Add(tasked); EventDelegate skilled = new EventDelegate(this, "OnSkill"); skill.onClick.Add(skilled); EventDelegate baged = new EventDelegate(this, "OnBag"); bag.onClick.Add(baged); EventDelegate.Set(combat.onClick, () => { OnCombat(); }); EventDelegate.Set(shop.onClick, () => { OnShop(); }); EventDelegate.Set(system.onClick, () => { OnSystem(); }); }
void Awake() { icon = transform.Find("IconBg/IconSprite").GetComponent<UISprite>(); nameLabel = transform.Find("NameLabel").GetComponent<UILabel>(); qualityLabel=transform.Find("QualityLabel/Label").GetComponent<UILabel>(); damageLabel = transform.Find("DamageLabel/Label").GetComponent<UILabel>(); lifeLabel = transform.Find("LifeLabel/Label").GetComponent<UILabel>(); powerLabel = transform.Find("PowerLabel/Label").GetComponent<UILabel>(); desLabel = transform.Find("DesLabel").GetComponent<UILabel>(); levelLabel = transform.Find("LevelLabel/Label").GetComponent<UILabel>(); buttonnameLbel = transform.Find("EquipButton/Label").GetComponent<UILabel>(); equipBtn = transform.Find("EquipButton").GetComponent<UIButton>(); upgradeBtn = transform.Find("EquipUpgradeButton").GetComponent<UIButton>(); closeBtn = transform.Find("CloseButton").GetComponent<UIButton>(); EventDelegate ed = new EventDelegate(this, "On_EquipPopup_Close_Click"); closeBtn.onClick.Add(ed); EventDelegate ed1 = new EventDelegate(this, "On_EquipPopup_Dress_Click"); equipBtn.onClick.Add(ed1); EventDelegate ed2 = new EventDelegate(this, "On_EquipPopup_Upgrade_Click"); upgradeBtn.onClick.Add(ed2); itemController = GameObject.Find("GameManager").GetComponent<InventoryItemDBController>(); itemController.OnUpdateInventoryItemDB += this.OnUpdateInventoryItemDB; }
public void ShowMessage (string msg, EventDelegate.Callback callback) { messageLabel.text = msg; messageTweener.ResetToBeginning (); EventDelegate.Add (messageTweener.onFinished, callback, true); messageTweener.PlayForward (); }
/// <summary> /// Posts an event to the control's event queue using <see cref="Control.BeginInvoke"/>. /// </summary> /// <remarks> /// If the control's handle is not available, the delegate will not be executed /// until the handle is (re-)created. /// </remarks> /// <param name="method">The method to invoke on the event thread.</param> public override void Post(EventDelegate method) { // Lock on the control to: // (1) Prevent events from being posted while the queue is being flushed. // (2) Prevent the control's handle from being created or destroyed while this method executes. using(Synchronizer.Lock(this.m_Control)) { if(this.Disposed) { Debug.WriteLine("WARNING: Ignoring posted event since EventQueue is disposed.", this.GetType().ToString() + "<" + this.m_Control.GetType().Name + ">"); return; } // If InvokeRequired is true, then the control has a handle and // we can use BeginInvoke immediately. Otherwise, it is safe to call // IsHandleCreated (it would not be safe if InvokeRequired were true), // and if there is a handle, we can also call BeginInvoke from any thread. // However, if there are events waiting in our own queue (ie., we're in // the middle of a call to FlushEventQueue), then the event must be queued // to preserve execution order. if(this.m_Queue.Count <= 0 && (this.m_Control.InvokeRequired || this.m_Control.IsHandleCreated)) { this.m_Control.BeginInvoke(method); } else { // But if there is no handle, we cannot call BeginInvoke, so we'll have to // wait until the control's handle is (re-)created. Therefore, queue // the delegate and its arguments until OnControlHandleCreated can use it. this.m_Queue.Enqueue(method); } } }
public void SetOkButton (EventDelegate okFunction) { okButton.gameObject.SetActive (true); okButton.GetComponent<UIButton> ().onClick.Add (okFunction); okSet = true; }
private void CreateChCard() { for(int idx = 0; idx < maxChCard; ++idx) { GameObject newChCard = Instantiate(chCardPrefab, new Vector3(0, 0, 0), new Quaternion(0, 0, 0, 0)) as GameObject; CharacterData chData = newChCard.GetComponent<CharacterData>(); string tmpStr; jsonDataSheet[idx].TryGetValue("chName", out tmpStr); chData.chName = tmpStr; jsonDataSheet[idx].TryGetValue("chType", out tmpStr); chData.chType = tmpStr; jsonDataSheet[idx].TryGetValue("chLevel", out tmpStr); chData.chLevel = int.Parse(tmpStr); jsonDataSheet[idx].TryGetValue("detailScript", out tmpStr); chData.detailScript = tmpStr; jsonDataSheet[idx].TryGetValue("chFaceTextureName", out tmpStr); chData.chFaceName = tmpStr; chData.InitData(); //chCard set OnClick Event Ed_OnClickChCard = new EventDelegate(this, "OnClickChCard"); Ed_OnClickChCard.parameters[0].value = chData; newChCard.GetComponent<UIButton>().onClick.Add(Ed_OnClickChCard); //chCard parenting newChCard.transform.parent = uiGridObj.transform; newChCard.transform.localScale = new Vector3(1, 1, 1); newChCard.transform.localPosition = new Vector3(0, 0, 0); } uiGridObj.GetComponent<UIGrid>().Reposition(); }
public static void Listen(string eventName, EventDelegate d) { if (!handlers.ContainsKey (eventName)) { handlers[eventName] = new List<EventDelegate>(); } handlers [eventName].Add (d); }
public void SetToggleChange() { toggle = GetComponent<UIToggle>(); EventDelegate toggleDelegate = new EventDelegate (commentsWindow, "CommentToggleChange"); EventDelegate.Parameter parameter = new EventDelegate.Parameter(this); toggleDelegate.parameters[0] = parameter; toggle.onChange.Add(toggleDelegate); }
public void Subscribe(Type pubtype, EventDelegate listener) { EventDelegate subs; if(!subscriptions.TryGetValue(pubtype, out subs)) { subscriptions[pubtype] = listener; } else { subscriptions[pubtype] = (EventDelegate)Delegate.Combine(subs, listener); } }
public void QuitAnimation(EventDelegate.Callback onComplete) { if (twAlpha != null) { twAlpha.PlayReverse(); EventDelegate.Set(twAlpha.onFinished, onComplete); } }
public void LookAtPos (VectorInt2 pos, EventDelegate.Callback callback) { tween.from = mapRoot.localPosition; tween.to = new Vector3 (-pos.X * tileSize + Screen.width / 2 - tileSize / 2, -pos.Y * tileSize + Screen.height / 2 - tileSize / 2); EventDelegate.Add (tween.onFinished, callback, true); tween.ResetToBeginning (); tween.PlayForward (); }
public void BlastCoin() { transform.FindChild("CoinBlastCopper").gameObject.SetActive(true); transform.FindChild("CoinBlastCopper").GetComponent<ParticleSystem>().Play(); TweenColor.Begin(transform.FindChild("Background").gameObject, 0.5f, Color.white); mCorrectDelegate = new EventDelegate(CorrectBright); transform.FindChild("Background").GetComponent<TweenColor>().SetOnFinished(mCorrectDelegate); }
public void EnterAnimation(EventDelegate.Callback onComplete) { if (twAlpha != null) { twAlpha.PlayForward(); EventDelegate.Set(twAlpha.onFinished, onComplete); } }
private void ShowHp (string hp, EventDelegate.Callback callback) { hpLabel.text = hp; hpObject.SetActive (true); EventDelegate.Add (tweenPos.onFinished, callback, true); tweenPos.ResetToBeginning (); tweenPos.PlayForward (); }
void Awake() { //_instance = this; numLabel = transform.Find("Label").GetComponent<UILabel>(); numTween = transform.GetComponent<TweenAlpha>(); EventDelegate ed = new EventDelegate(this, "OnTween"); numTween.onFinished.Add(ed); gameObject.SetActive(false); }
public static void DownloadFileAsync(string remoteFilePath, string localFilePath, EventDelegate dwnldCompletedDelegate) { var url = new Uri (SERVER + remoteFilePath); var webClient = new WebClient (); webClient.DownloadDataCompleted += (s, e) => { File.WriteAllBytes (localFilePath, e.Result); }; webClient.DownloadDataCompleted += new DownloadDataCompletedEventHandler (dwnldCompletedDelegate); webClient.DownloadDataAsync (url); }
public TaskAttribute(String attributeName,TaskAttributeType attributeType,String startValue, MonoBehaviour reciver, String functionName){ AttributeType = attributeType; AttributeName = attributeName; Value = startValue; eventDelegate = new EventDelegate (reciver, functionName); if (eventDelegate.parameters.Length != 1) { Debug.LogError(reciver+": Function needs 1 parameter to recive input."); } }
/// <summary> /// Draw a list of fields for the specified list of delegates. /// </summary> static public void Field(Object undoObject, List <EventDelegate> list, string noTarget, string notValid, bool minimalistic) { bool targetPresent = false; bool isValid = false; // Draw existing delegates for (int i = 0; i < list.Count;) { EventDelegate del = list[i]; if (del == null || (del.target == null && !del.isValid)) { list.RemoveAt(i); continue; } Field(undoObject, del, true, minimalistic); EditorGUILayout.Space(); if (del.target == null && !del.isValid) { list.RemoveAt(i); continue; } else { if (del.target != null) { targetPresent = true; } isValid = true; } ++i; } // Draw a new delegate EventDelegate newDel = new EventDelegate(); Field(undoObject, newDel, true, minimalistic); if (newDel.target != null) { targetPresent = true; list.Add(newDel); } if (!targetPresent) { if (!string.IsNullOrEmpty(noTarget)) { GUILayout.Space(6f); EditorGUILayout.HelpBox(noTarget, MessageType.Info, true); GUILayout.Space(6f); } } else if (!isValid) { if (!string.IsNullOrEmpty(notValid)) { GUILayout.Space(6f); EditorGUILayout.HelpBox(notValid, MessageType.Warning, true); GUILayout.Space(6f); } } }
/// <summary> /// Draw an editor field for the Unity Delegate. /// </summary> static public bool Field(Object undoObject, EventDelegate del, bool removeButton, bool minimalistic) { if (del == null) { return(false); } bool prev = GUI.changed; GUI.changed = false; bool retVal = false; MonoBehaviour target = del.target; bool remove = false; if (removeButton && (del.target != null || del.isValid)) { if (!minimalistic) { NGUIEditorTools.SetLabelWidth(82f); } if (del.target == null && del.isValid) { EditorGUILayout.LabelField("Notify", del.ToString()); } else { target = EditorGUILayout.ObjectField("Notify", del.target, typeof(MonoBehaviour), true) as MonoBehaviour; } GUILayout.Space(-18f); GUILayout.BeginHorizontal(); GUILayout.Space(70f); if (GUILayout.Button("", "ToggleMixed", GUILayout.Width(20f), GUILayout.Height(16f))) { target = null; remove = true; } GUILayout.EndHorizontal(); } else { target = EditorGUILayout.ObjectField("Notify", del.target, typeof(MonoBehaviour), true) as MonoBehaviour; } if (remove) { NGUIEditorTools.RegisterUndo("Delegate Selection", undoObject); del.Clear(); EditorUtility.SetDirty(undoObject); } else if (del.target != target) { NGUIEditorTools.RegisterUndo("Delegate Selection", undoObject); del.target = target; EditorUtility.SetDirty(undoObject); } if (del.target != null && del.target.gameObject != null) { GameObject go = del.target.gameObject; List <Entry> list = GetMethods(go); int index = 0; string[] names = PropertyReferenceDrawer.GetNames(list, del.ToString(), out index); int choice = 0; GUILayout.BeginHorizontal(); choice = EditorGUILayout.Popup("Method", index, names); NGUIEditorTools.DrawPadding(); GUILayout.EndHorizontal(); if (choice > 0 && choice != index) { Entry entry = list[choice - 1]; NGUIEditorTools.RegisterUndo("Delegate Selection", undoObject); del.target = entry.target as MonoBehaviour; del.methodName = entry.name; EditorUtility.SetDirty(undoObject); retVal = true; } GUI.changed = false; EventDelegate.Parameter[] ps = del.parameters; if (ps != null) { for (int i = 0; i < ps.Length; ++i) { EventDelegate.Parameter param = ps[i]; Object obj = EditorGUILayout.ObjectField(" Arg " + i, param.obj, typeof(Object), true); if (GUI.changed) { GUI.changed = false; param.obj = obj; EditorUtility.SetDirty(undoObject); } if (obj == null) { continue; } GameObject selGO = null; System.Type type = obj.GetType(); if (type == typeof(GameObject)) { selGO = obj as GameObject; } else if (type.IsSubclassOf(typeof(Component))) { selGO = (obj as Component).gameObject; } if (selGO != null) { // Parameters must be exact -- they can't be converted like property bindings PropertyReferenceDrawer.filter = param.expectedType; PropertyReferenceDrawer.canConvert = false; List <PropertyReferenceDrawer.Entry> ents = PropertyReferenceDrawer.GetProperties(selGO, true, false); int selection; string[] props = GetNames(ents, NGUITools.GetFuncName(param.obj, param.field), out selection); GUILayout.BeginHorizontal(); int newSel = EditorGUILayout.Popup(" ", selection, props); NGUIEditorTools.DrawPadding(); GUILayout.EndHorizontal(); if (GUI.changed) { GUI.changed = false; if (newSel == 0) { param.obj = selGO; param.field = null; } else { param.obj = ents[newSel - 1].target; param.field = ents[newSel - 1].name; } EditorUtility.SetDirty(undoObject); } } else if (!string.IsNullOrEmpty(param.field)) { param.field = null; EditorUtility.SetDirty(undoObject); } PropertyReferenceDrawer.filter = typeof(void); PropertyReferenceDrawer.canConvert = true; } } } else { retVal = GUI.changed; } GUI.changed = prev; return(retVal); }
public override void AttachEvent() { base.AttachEvent(); EventDelegate.Add(FindChild("CardPanelBG").GetComponent <UIEventTrigger>().onRelease, OnRelease); }
private void Awake() { EventDelegate.Set(this.btn_confirm.onClick, new EventDelegate.Callback(this.OnConfirmBtnClick)); EventDelegate.Set(this.btn_quit.onClick, new EventDelegate.Callback(this.OnQuitBtnClick)); }
private void Start() { #if !UNITY_EDITOR try { #endif // 普通攻击按钮 var del = new EventDelegate(() => { try { OnClick_SkillButton(0); } catch (Exception ex) { Logger.Error(ex.ToString()); } }); AttackBtn.onClick.Add(del); RegisterPressEvent(AttackBtn, null); { var __list1 = SkillItems; var __listCount1 = __list1.Count; for (var __i1 = 0; __i1 < __listCount1; ++__i1) { var skillBarItemLogic = __list1[__i1]; { var logic = skillBarItemLogic; del = new EventDelegate(() => { try { logic.OnSkillUse(OnClickEvent); } catch (Exception ex) { Logger.Error(ex.ToString()); } }); logic.SkillButton.onClick.Add(del); RegisterPressEvent(logic, logic); } } } // 换目标 del = new EventDelegate(() => { try { OnClick_SkillButton(2); } catch (Exception ex) { Logger.Error(ex.ToString()); } }); //SwitchBtn.onClick.Add(del); eventHandler = evn => { var e = evn as Attr_Change_Event; if (eAttributeType.MpNow != e.Type) { return; } var mp = e.NewValue; { var __list2 = SkillItems; var __listCount2 = __list2.Count; for (var __i2 = 0; __i2 < __listCount2; ++__i2) { var btn = __list2[__i2]; { var skillId = btn.SkillItemDataModel.SkillId; if (-1 == skillId) { continue; } if (null != GameControl.Instance) { if (ErrorCodes.Error_MpNoEnough == GameControl.Instance.CheckSkill(skillId)) { btn.ChangeActive(false); } else { btn.ChangeActive(true); } } } } } }; EventDispatcher.Instance.AddEventListener(Attr_Change_Event.EVENT_TYPE, eventHandler); #if !UNITY_EDITOR } catch (Exception ex) { Logger.Error(ex.ToString()); } #endif }
/// <summary> /// Notify the target when the animation finishes playing. /// </summary> void Update() { float delta = RealTime.deltaTime; if (delta == 0f) { return; } #if USE_MECANIM if (mAnimator != null) { mAnimator.Update((mLastDirection == Direction.Reverse) ? -delta : delta); if (isPlaying) { return; } mAnimator.enabled = false; enabled = false; } else if (mAnim != null) #else if (mAnim != null) #endif { bool playing = false; foreach (AnimationState state in mAnim) { if (!mAnim.IsPlaying(state.name)) { continue; } float movement = state.speed * delta; state.time += movement; if (movement < 0f) { if (state.time > 0f) { playing = true; } else { state.time = 0f; } } else { if (state.time < state.length) { playing = true; } else { state.time = state.length; } } } mAnim.Sample(); if (playing) { return; } enabled = false; } else { enabled = false; return; } if (mNotify) { mNotify = false; if (current == null) { current = this; EventDelegate.Execute(onFinished); // Deprecated functionality, kept for backwards compatibility if (eventReceiver != null && !string.IsNullOrEmpty(callWhenFinished)) { eventReceiver.SendMessage(callWhenFinished, SendMessageOptions.DontRequireReceiver); } current = null; } if (mDisableDirection != Direction.Toggle && mLastDirection == mDisableDirection) { NGUITools.SetActive(gameObject, false); } } }
/// <summary> /// Append a new event delegate to the list. /// </summary> static public void Add(List <EventDelegate> list, EventDelegate ev) { Add(list, ev, false); }
/// <summary> /// Fade out or fade in the active sprite and notify the OnChange event listener. /// </summary> public void Set(bool state) { if (validator != null && !validator(state)) { return; } if (!mStarted) { mIsActive = state; startsActive = state; if (activeSprite != null) { activeSprite.alpha = state ? 1f : 0f; } } else if (mIsActive != state) { // Uncheck all other toggles if (group != 0 && state) { for (int i = 0, imax = list.size; i < imax;) { UIToggle cb = list[i]; if (cb != this && cb.group == group) { cb.Set(false); } if (list.size != imax) { imax = list.size; i = 0; } else { ++i; } } } // Remember the state mIsActive = state; // Tween the color of the active sprite if (activeSprite != null) { if (instantTween || !NGUITools.GetActive(this)) { activeSprite.alpha = mIsActive ? 1f : 0f; } else { TweenAlpha.Begin(activeSprite.gameObject, 0.15f, mIsActive ? 1f : 0f); } } if (current == null) { UIToggle tog = current; current = this; if (EventDelegate.IsValid(onChange)) { EventDelegate.Execute(onChange); } else if (eventReceiver != null && !string.IsNullOrEmpty(functionName)) { // Legacy functionality support (for backwards compatibility) eventReceiver.SendMessage(functionName, mIsActive, SendMessageOptions.DontRequireReceiver); } current = tog; } // Play the checkmark animation if (animator != null) { ActiveAnimation aa = ActiveAnimation.Play(animator, null, state ? Direction.Forward : Direction.Reverse, EnableCondition.IgnoreDisabledState, DisableCondition.DoNotDisable); if (aa != null && (instantTween || !NGUITools.GetActive(this))) { aa.Finish(); } } else if (activeAnimation != null) { ActiveAnimation aa = ActiveAnimation.Play(activeAnimation, null, state ? Direction.Forward : Direction.Reverse, EnableCondition.IgnoreDisabledState, DisableCondition.DoNotDisable); if (aa != null && (instantTween || !NGUITools.GetActive(this))) { aa.Finish(); } } } }
public static void SetCallback(this UIToggle button, EventDelegate.Callback callback) { EventDelegate.Set(button.onChange, callback); }
/// <summary> /// Draw an editor field for the Unity Delegate. /// </summary> static public bool Field(Object undoObject, EventDelegate del) { return(Field(undoObject, del, true, NGUISettings.minimalisticLook)); }