Ich habe zwei separate Monobehaviors, eine, Card, hat eine Enum für 4 Anzüge und einen Konstruktor für zwei Werte von Anzug und Nennwert. Das zweite Deck hat für jede Schleife eine Instanz, um Instanzen meiner Karte zu erstellen. Es erstellt meine 52 Karten mit einer for-Schleife, die 13 Karten pro Enum begrenzt, aber wenn es versucht, die Instanzen zu machen, sagt es mir, dass new nicht erlaubt ist und addcomponent ist, wie man das macht, aber ich kann es nicht zum Laufen bringen. Ich kann meinen Code zur Überprüfung in Kürze hochladen.Monobehavior Ausgaben
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
public class Deck : MonoBehaviour
{
public int minVal = 1;
public int maxVal = 13;
List<Card> _cards = new List<Card>();
public void Awake()
{
foreach (var Suit in Enum.GetValues(typeof(Card.Suit)).Cast<Card.Suit>())
{
for (int i = minVal; i <= maxVal; i++)
{
_cards.Add(new Card(Suit, i));
}
}
}
}
Dies ist das Deck. Unten ist die Karte:
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Card : MonoBehaviour
{
public enum Suit { Clubs, Hearts, Diomonds, Spades };
public Suit suit;
public int faceValue;
public Card(Suit _suit, int _faceValue)
{
suit = _suit;
faceValue = _faceValue;
}
}
"Ich kann meinen Code zur Überprüfung in Kürze hochladen." Immer das tun - nicht unbedingt den eigentlichen Code, sondern ein [mcve] - * vor * die erste Version der Frage zu stellen. Einfach nur Code zu beschreiben ist fast nie hilfreich. –
So haben Sie alle Informationen, die Sie brauchen, kein Konstruktor erlaubt und Sie sollten addComponent verwenden, welches Problem haben Sie? Haben Sie sich addComponent angesehen? – ElDuderino
Und bitte fügen Sie den Code nicht in Kommentare ein - bearbeiten Sie Ihre Frage, um sie dort zu platzieren, einschließlich der genauen Fehlermeldung. –