C#委托事件

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class KUIInGame : MonoBehaviour {
    public static event Action <int> OnClick;
    public static KUIInGame I;

    public KUIInGame()
    {
        I = this;
    }
    Button b1;
    Button b2;
    Button b3;
    Button b4;
    Button b5;
    Button b0;
    void Start () {
        new KUIManagerInGame();
        b1= GameObject.Find("Right/Skill1").GetComponent<Button>();
        b2 = GameObject.Find("Right/Skill2").GetComponent<Button>();
        b3= GameObject.Find("Right/Skill3").GetComponent<Button>();
        b4 = GameObject.Find("Right/Skill4").GetComponent<Button>();
        b5= GameObject.Find("Right/Skill5").GetComponent<Button>();
        b0=GameObject.Find("Right/Attack").GetComponent<Button>();
        b1.onClick.AddListener(delegate () { Click(1); });
        b2.onClick.AddListener(delegate () { Click(2); });
        b3.onClick.AddListener(delegate () { Click(3); });
        b4.onClick.AddListener(delegate () { Click(4); });
        b5.onClick.AddListener(delegate () { Click(5); });
        b0.onClick.AddListener(delegate () { Click(0); });
        // delegate () {  Click(); } 
    }

    /// <summary>
    /// 按钮改为可点击或者不可点击
    /// </summary>
    /// <param name="i">按钮索引</param>
    /// <param name="b">改为是否可用</param>
    public void ButtonControl(int i,bool b )
    {
        if (i == 1)
        {
            b1.interactable = b;
        }
       else  if (i == 2)
        {
            b1.interactable = b;
        }
        else if (i == 3)
        {
            b1.interactable = b;
        }
        else if (i == 4)
        {
            b1.interactable = b;
             
        }
        else if (i == 5)
        {
            b1.interactable = b;
        }
    }

    public void Click(int i)
    {

        if(OnClick!=null)
            OnClick(i);
    }


    /*
   public void Click0()
   {
       Debug.Log("haha ");
       if(OnClick!=null )
           OnClick(0);
   }

   public void Click1()
   {
       if (OnClick != null)
           OnClick(1);
   }
   public void Click2()
   {
       if (OnClick != null)
           OnClick(2);
   }
   public void Click3()
   {
       if (OnClick != null)
           OnClick(3);
   }
   public void Click4()
   {
       if (OnClick != null)
           OnClick(4);
   }
   public void Click5()
   {
       if (OnClick != null)
           OnClick(5);
   }
   */
}

猜你喜欢

转载自blog.csdn.net/qq_22012149/article/details/68060323