마지막 게임 제작에 넣어 보충 #게임 제작 2.5
5670 단어 VisualStudio2017Unity
카드는 어떤 역할의 요소입니까?
카드에는 HP나 AT, 화상 등의 기본적인 정보를 보유하고 있어(아래와 같이)
보유 데이터
CardModel.cs
public Sprite icon;
public new string name;
public int hp;
public int at;
public bool isDead;
CardModel을 생성했을 때에 불리는 함수 ( 생성자?)
사전에 준비한 ScriptableObject의 정보를 읽어들입니다.
CardModel.cs
//Entityからカードモデルにデータを送る
public CardModel(int cardID)
{
CardEntity cardEntity = Resources.Load<CardEntity>("CardEntityList/Card"+cardID);
icon = cardEntity.icon;
name = cardEntity.name;
hp = cardEntity.hp;
at = cardEntity.at;
isDead = false;
}
CardView에서 모델로 데이터를 전달하고 그립니다.
CardView.cs
public void Show(CardModel cardModel)
{
// カードデータの受け渡し+描画
iconImage.sprite = cardModel.icon;
hpText.text = cardModel.hp.ToString();
atText.text = cardModel.at.ToString();
}
CardController에서 Model을 생성하고 View를 통해 그리는 것 같은 형태를 취하고 있습니다.
CardController.cs
public void Init(int cardID)
{
model = new CardModel(cardID);// 生成
view.Show(model);// 反映
}
실제로 카드를 Instantiate 할 때는 이렇게 기술하고 있습니다.
GameManager.cs
//生成
CardController card = Instantiate(cardPrehab, position, false);
card.Init(cardID);
※CardPrehab→카드형의 Prefab
※Position→부모 요소로 하고 싶은 Panel
역할로서는, 대전에 있어서 체력의 관리를 하거나 전투로 승리했을 때 공격력분 데미지를 준다고 말한 적이 있습니다.
어떤 데이터를 어떻게 전달하려고 하지 못했는지
결론부터 말하면 카드 만들기를 별로 변경하지 않고 CardController의 모든 정보를 전달하고 싶습니다. 하지만 현상은 CardController의 형태로 PhotonNetwork.Instantiate를 할 수 없다(CardPrehab에는 빈 형태 밖에 없다 + GameObject형에서는 내부에 데이터를 가질 수 없기 때문에) 때문에 곤란해지고 있던 상태입니다(;´д `) 토호…
턴제이므로 항상 데이터를 많이 송수신 할 예정은 없습니다.
다소 많은 데이터를 보유하고 있어도 문제 없을까 생각하고 있습니다. (얕은 물건이라면 죄송합니다)
이상입니다. 고마워요.
Reference
이 문제에 관하여(마지막 게임 제작에 넣어 보충 #게임 제작 2.5), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/wttk05/items/3d44495eaa479ba96614텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)