Jump to content
Unity Insider Forum

Namspace


Kojote

Recommended Posts

Grüße!

Sagt mal, nutzt ihr für eure Projekte eigentlich Namespace oder lasst ihr die Klassen einfach so?

Dann noch mal ne zweite Frage. Wie greift ihr auf andere Klassen zu? Initialisiert ihr die im Script und legt sie dann im Inspector ab:

public Ladebildschirm ladebildschirm;

Oder erzeugt ihr Objekte aus den Klassen?

Kojote

Link zu diesem Kommentar
Auf anderen Seiten teilen

Namespace macht für mich nur Sinn, wenn mehrere Klassen in einem Script sind. Wenn nicht, ist es nur ballast, den man extra eintippen muss. Meiner Meinung nach.

Zur 2ten Frage:
In der Regel suche ich danach in der Start. Ich lege die aber meist so ab, dass nur wenige Objekte überhaupt scripte tragen, nach denen ich "suchen" muss.
Die Wichtigen liegen bei mir auf der MainCamera.

ladebildschirm=Camera.main.GetComponent<Ladebildschirm>();

 

Ansonsten ist es ein anderes Sammelobjekt mit einem Tag nachdem ich suche und dann die Komponente einbinde.
Bei kleinen Prefabs, wo ganz klar 2 oder 3 Scripte drauf sind, mach ich das manchmal auch, dass ich eine Public Variable erzeuge und die Komponente dann im Inspector einfüge. Inzwischen habe ich das aber so verinnerlicht, dass ich kaum noch was im Inspector ablege.

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Namespaces sind dann sinnvoll, wenn du Pakete hast. Ich habe mir ein paar Sachen entwickelt, die ich in verschiedenen Projekten verwende. Wenn ich die importiere, will ich die nicht im Default-Namespace haben.

Wenn deine Klasse einfach nur zum Projekt gehört, ist der Default-Namespace völlig ausreichend. Bis du den Punkt erreichst, dass deine Systeme so groß und komplex sind, dass du sie aufteilen willst.

Zur zweiten: Kommt auf die Situation an. Für den richtigen Kontext die richtige Lösung.

Link zu diesem Kommentar
Auf anderen Seiten teilen

zu 2: Ich benutze so oft es geht, Dinge im Inspector zuzuweisen oder mal die FindInChildren Methoden. Aber das auch recht selten. Allerdings habe ich in meinem Spiel unter Umständen eine Menge objekte und da möchte ich genau wissen wo ich wie drauf zugreife ohne danach erst suchen zu müssen. Schont auch die Performance.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke für die vielen Antworten! ^_^

Mich würde da noch was interessieren, gerade bei Menüs.

Mal mein Menü:

  • Charakterauswahl
  • Laden
  • Einstellungen - Grafik / Sound / Spieleinstellungen
  • Beenden

Egal wie mans anstellt, man muss umschalten können. Am Beispiel wären dies 7 GameObjects die ich zuweisen muss, damit ich hin und her wechseln kann mittels SetAktive. Alternativ kann man ausblenden oder Verschieben, ect. Zugriff darauf brauche ich trotzdem.

Weißt ihr hier jedes GameObject einzeln zu und arbeitet damit dann im Script oder wie macht ihr das?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich würde eine Art UI Manager schreiben. Dieser bekomme alle UI-Komponenten zugewiesen (vor allem die Hauptdialoge). Idealerweise bekommt er nur Prefabs und erzeugt sich dann die Instanzen der Dialoge in der Szene. Man kann aber auch den Dialog bereits in die Szene schieben und dem UI-Manager die Dialoge an- und ausschalten lassen (enable / disable).

Ah " Graphics.DrawMeshInstanced" ist ein harter Tobak...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Was ich auch manchmal mache wenn es nur ums bloße hin und her wechseln zwsichen Dialogen ohne komplizierte interaktion ist:

Ich erstelle mir ein Script, welches man auf jedem Button, welcher zwischen Dialogen wechselt zwei Panels zu. Einmal das Panel wo der Button drauf ist und einmal das Panel wohin gewechselt werden soll. Bei onClick dann einfach die beiden Panels umschalten mit SetActive oder irgendeiner Animation. Klappt wunderbar und spart ne Menge Code. Bei Komplexeren Dialogen muss man sich dann natürlich schon mehr einfallen lassen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...