[統合]在庫の作成
UI_Inven using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class UI_Inven : UI_Scene
{
enum GameObjects
{
GridPanel
}
void Start()
{
init();
}
public override void init()
{
base.init();
Bind<GameObject>(typeof(GameObjects));
GameObject gridPanel = Get<GameObject>((int)GameObjects.GridPanel);
foreach (Transform child in gridPanel.transform)
Managers.Resource.Destroy(child.gameObject);
// 실제 인벤토리 정보를 참고해서
for (int i = 0; i < 8; i++)
{
GameObject item = Managers.UI.MakeSubItem<UI_Inven_Item>(gridPanel.transform).gameObject;
UI_Inven_Item invenItem = item.GetOrAddComponent<UI_Inven_Item>();
invenItem.SetInfo($"집행검 {i}번");
}
}
}
UI_Inven_Item using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class UI_Inven_Item : UI_Base
{
enum GameObjects
{
ItemIcon,
ItemNameText,
}
string _name;
void Start()
{
init();
}
public override void init()
{
Bind<GameObject>(typeof(GameObjects));
Get<GameObject>((int)GameObjects.ItemNameText).GetComponent<Text>().text = _name;
Get<GameObject>((int)GameObjects.ItemIcon).BindEvent((PointerEventData) => { Debug.Log($"아이템 클릭! {_name}"); });
}
public void SetInfo(string name)
{
_name = name;
}
}
UIBaseを継承して使用し、上書きされたinit()を使用します.
既存のUI Baseにはinit()関数がないため、UI Baseクラスを抽象クラスに変更し、抽象init()関数を追加します.
Reference
この問題について([統合]在庫の作成), 我々は、より多くの情報をここで見つけました
https://velog.io/@kjhdx/Unity-인벤토리-만들기
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class UI_Inven : UI_Scene
{
enum GameObjects
{
GridPanel
}
void Start()
{
init();
}
public override void init()
{
base.init();
Bind<GameObject>(typeof(GameObjects));
GameObject gridPanel = Get<GameObject>((int)GameObjects.GridPanel);
foreach (Transform child in gridPanel.transform)
Managers.Resource.Destroy(child.gameObject);
// 실제 인벤토리 정보를 참고해서
for (int i = 0; i < 8; i++)
{
GameObject item = Managers.UI.MakeSubItem<UI_Inven_Item>(gridPanel.transform).gameObject;
UI_Inven_Item invenItem = item.GetOrAddComponent<UI_Inven_Item>();
invenItem.SetInfo($"집행검 {i}번");
}
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class UI_Inven_Item : UI_Base
{
enum GameObjects
{
ItemIcon,
ItemNameText,
}
string _name;
void Start()
{
init();
}
public override void init()
{
Bind<GameObject>(typeof(GameObjects));
Get<GameObject>((int)GameObjects.ItemNameText).GetComponent<Text>().text = _name;
Get<GameObject>((int)GameObjects.ItemIcon).BindEvent((PointerEventData) => { Debug.Log($"아이템 클릭! {_name}"); });
}
public void SetInfo(string name)
{
_name = name;
}
}
UIBaseを継承して使用し、上書きされたinit()を使用します.既存のUI Baseにはinit()関数がないため、UI Baseクラスを抽象クラスに変更し、抽象init()関数を追加します.
Reference
この問題について([統合]在庫の作成), 我々は、より多くの情報をここで見つけました https://velog.io/@kjhdx/Unity-인벤토리-만들기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol