Jump to content
Unity Insider Forum
Sign in to follow this  
gombolo

List mit Objekten befüllen und löschen

Recommended Posts

Hallo zusammen, 

ich möchte eine Liste mit einer undefinierten Anzahl an Objekten befüllen. Diese Objekte sollen nach einer definierten Zeit wieder aus der Liste entfernt werden.

Ich fange wie folgt an:

	public class Entity
	{
		public GameObject go;
		public float lifeTime;
	}

	public List<Entity> listOfGameObjects = new List<Entity>();

Die Liste soll die Klasse Entity verwalten

		Entity entity = new Entity();
		
		//...hier passiert dies und das...ein GameObjekt wird erstellt usw...

		entity.go = instance;
		entity.lifeTime = Time.time + lifetime;
		
		// Objekt in die Liste eintragen
		listOfGameObjects.Add(entity);

Der Code funktioniert so nicht. Wenn ich "nur" zwei Objekte erstelle scheint es zu gehen, aber wenn ich mehr als zwei erstelle verhält sich der Prozess undefiniert. Die Objekte werden erstellt, jedoch bleiben diese an unterschiedlichen Stellen stehen und machen nichts mehr...

Mir scheint es so, dass ich keinen Speicherplatz bekomme. Ich kann jedoch keinen Fehler im Code finden. Ist die Herangehensweise bei Listen, wie ich es mache, eigentlich richtig? 

Danke und viele Grüße GOMBOLO

Share this post


Link to post
Share on other sites
vor 16 Minuten schrieb gombolo:

Mir scheint es so, dass ich keinen Speicherplatz bekomme.

Das auf keinen Fall. Programme machen nicht einfach komische Dinge, wenn sie keinen Speicherplatz mehr haben, sondern werfen entsprechende Fehler. Kannst ja im Task-Manager schauen, wie viel RAM du noch hast :)

vor 17 Minuten schrieb gombolo:

Die Objekte werden erstellt, jedoch bleiben diese an unterschiedlichen Stellen stehen und machen nichts mehr...

Wenn hier noch der Bewegungscode mit reinspielt, dann ist der Fehler schonmal nicht in dem Code, den du gepostet hast. Wie sieht denn dein Code mit und um Destroy() aus?

Alternativ kann ich mir vorstellen, dass dir hier die Referenzsemantik ein Bein stellt. Kann man ohne den restlichen Code, wo Entity-Objekte auftauchen, aber auch nicht wirklich sagen.

Share this post


Link to post
Share on other sites

Ja...lag doch nicht an der Liste :)  ich verwende C# zum ersten mal "richtig" und war mir nicht sicher ob ich bei der Benutzung was falsch gemacht habe. 

Der Fehler lag an der Methode zur Objektbewegung. Wenn ein Objekt im Pool deaktiviert wird, dann sollte man auch die Werte wieder zurück stellen ;) Sonst erhält das nächste aktivierte Objekt falsche Daten 😇

So einfach kann manchmal ein Programmiereleben sein...

  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...