前提・実現したいこと
ここに質問の内容を詳しく書いてください。
タイトルの通りですが、public で宣言しているのにUNITYからプレファブの割り当てをしたいのですが、アタッチができません。
プレファブというか、アタッチ自体ができません。
serializefieldにしても反応しません。
ほぼ同じ内容の(メソッドの名前が違うくらいの差異です)CardContlrollerというクラスは問題なく使えています。
発生している問題・エラーメッセージ
NullReferenceException: Object reference not set to an instance of an object
該当のソースコード
public class GameManagerForDisaster : MonoBehaviour { **__public CardControllerDisaster disasterPrefab;__** **//CardControllerDisasterを使用するとUnityからprefabをアタッチできない為、エラーが出る。原因不明** [SerializeField] Transform SelectField; 中略 } using System.Collections; using System.Collections.Generic; using UnityEngine; public class CardControllerDisaster : MonoBehaviour { CardViewDisaster view; // 見かけ(view)に関することを操作 public CardModelDisaster model; // データ(model)に関することを操作 private void Awake() { view = GetComponent<CardViewDisaster>(); } public void Init(int cardID) { model = new CardModelDisaster(cardID); view.Show(model); } public void CheckWaste() { if (model.waste == false) { return; } else { Destroy(this.gameObject); } } }
public class CardController : MonoBehaviour { CardView view; // 見かけ(view)に関することを操作 public CardModel model; // データ(model)に関することを操作 //public CardMovement movement; // 移動(movement)に関することを操作 private void Awake() { view = GetComponent<CardView>(); // movement = GetComponent<CardMovement>(); } public void Init(int cardID) { model = new CardModel(cardID); view.Show(model); } public void CheckWaste() { if (model.waste == false) { return; } else { Destroy(this.gameObject); } } }
試したこと!
5時間くらいわからないなりに模索していたのですが、全然解決できませんでした。
getcomponent<>で直接割り当てようとしましたが、文法が間違っているのか、うまくいかずこれも諦めました
エラーのでている
public CardControllerDisaster disasterPrefab;
をGameObject型や他の型にしてみれば解決できるかなと思って型も触れましたが。これもいろいろな所でエラーがでて解決できませんでした。
追記2:
CardControllerDisaster をGameObject型に変更すると下記のエラーがでてきます
重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態
エラー CS1061 'GameObject' に 'Init' の定義が含まれておらず、型 'GameObject' の最初の引数を受け付けるアクセス可能な拡張メソッド 'Init' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足していないことを確認してください Assembly-CSharp D:\デスクトップ\Unity Default\DeckBuildingGame\Assets\Scripts\Disaster\GameManagerForDisaster.cs 59 アクティブ
補足情報(FW/ツールのバージョンなど)
回答1件
あなたの回答
tips
プレビュー