Beispiel #1
0
	// 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();
	}
Beispiel #2
0
	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);
 }
Beispiel #7
0
 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);
        }
    }
Beispiel #9
0
	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);

	}
Beispiel #10
0
    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();
        }
Beispiel #12
0
        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();
        }
Beispiel #13
0
 public static void Cancel(string eventName, EventDelegate d)
 {
     if (handlers.ContainsKey (eventName))
     {
         handlers[eventName].Remove(d);
     }
 }
Beispiel #14
0
    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();
        });
    }
Beispiel #15
0
    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;
    
    }
Beispiel #16
0
	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);
                }
            }
        }
Beispiel #18
0
	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();
    }
Beispiel #20
0
 public static void Listen(string eventName, EventDelegate d)
 {
     if (!handlers.ContainsKey (eventName))
     {
         handlers[eventName] = new List<EventDelegate>();
     }
     handlers [eventName].Add (d);
 }
Beispiel #21
0
	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);
     }
 }
Beispiel #24
0
	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);
     }
 }
Beispiel #27
0
	private void ShowHp (string hp, EventDelegate.Callback callback)
	{
		hpLabel.text = hp;
		hpObject.SetActive (true);
		EventDelegate.Add (tweenPos.onFinished, callback, true);
		tweenPos.ResetToBeginning ();
		tweenPos.PlayForward ();
	}
Beispiel #28
0
 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);
 }
Beispiel #29
0
 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);
 }
Beispiel #30
0
	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.");
		}
	}
Beispiel #31
0
    /// <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);
            }
        }
    }
Beispiel #32
0
    /// <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);
    }
Beispiel #33
0
 public override void AttachEvent()
 {
     base.AttachEvent();
     EventDelegate.Add(FindChild("CardPanelBG").GetComponent <UIEventTrigger>().onRelease, OnRelease);
 }
Beispiel #34
0
 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
        }
Beispiel #36
0
    /// <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);
            }
        }
    }
Beispiel #37
0
    /// <summary>
    /// Append a new event delegate to the list.
    /// </summary>

    static public void Add(List <EventDelegate> list, EventDelegate ev)
    {
        Add(list, ev, false);
    }
Beispiel #38
0
    /// <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();
                }
            }
        }
    }
Beispiel #39
0
 public static void SetCallback(this UIToggle button, EventDelegate.Callback callback)
 {
     EventDelegate.Set(button.onChange, callback);
 }
Beispiel #40
0
    /// <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));
    }