//public void Init(Item item)//UI쪾은 범용적으로 쓸수 있겠끔 파라메터 여러개로 (표시할게 같으므로) public void Init(int id, string name, string contents, int level, double cost, Delegates.IntInvoidReturn callback) //UnityAction 파라메터 불가능 { mID = id; mTileText.text = name; mContentsText.text = contents; mLevelText.text = level.ToString(); mCostText.text = cost.ToString(); mPurchaseButton.onClick.AddListener(() => { callback(mID); }); }
// Start is called before the first frame update void Start() { mText.text = ("aaa"); call = (int a) => { Debug.Log(a); }; call(1); call = LevelUp; call(1); //for(int i= 0; i<mButtonArr.Length;i++) //{ // int j = i; // mButtonArr[i].onClick.AddListener(() => { LevelUp(j); });// 람다식 i반복문 문제점/LevelUp(i) 임시값이 들어가므로 나중에 덮어쓰기됨 지역변수쓰면됨. //} mElementArr[0].Init(0, "공격증가", "공격력이 1 증가합니다", 0, 10, LevelUp); mElementArr[1].Init(1, "방어증가", "방어력이 0.1 증가합니다", 0, 15, LevelUp); mElementArr[2].Init(2, "체력증가", "체력이 1 증가합니다", 0, 20, LevelUp); //for(int i=0;i<mElementArr.Length;i++) //{ // mElementArr[i].SetButtonOnClick(this); //} }
// Start is called before the first frame update void Start() { mSpriteArr = Resources.LoadAll <Sprite>("Image/Icons"); //폴더전체 mSprite = Resources.Load <Sprite>("Image/Icons/Bone (1) 1"); //유니티에서 보이는 파일 이름까지. mText.text = ("aaa"); call = (int a) => { Debug.Log(a); }; call(1); call = LevelUp; call(1); //for(int i= 0; i<mButtonArr.Length;i++) //{ // int j = i; // mButtonArr[i].onClick.AddListener(() => { LevelUp(j); });// 람다식 i반복문 문제점/LevelUp(i) 임시값이 들어가므로 나중에 덮어쓰기됨 지역변수쓰면됨. //} mElementArr[0].Init(mSpriteArr[0], 0, "공격증가", "공격력이 1 증가합니다", 0, 10, LevelUp); mElementArr[1].Init(mSpriteArr[1], 1, "방어증가", "방어력이 0.1 증가합니다", 0, 15, LevelUp); mElementArr[2].Init(mSpriteArr[2], 2, "체력증가", "체력이 1 증가합니다", 0, 20, LevelUp); //for(int i=0;i<mElementArr.Length;i++) //{ // mElementArr[i].SetButtonOnClick(this); //} }