Verständnis Frage Components.

  • Hallo,


    ich habe mal ein kleines Problem was ich nicht ganz verstehe, da ich es mir immer anders vorgestellt habe. :)


    Also ich habe mir eine Inventar_Component gebastelt und diese an einem Spieler angehangen, um diesem ein Inventar zu geben.

    Funktioniert auch soweit.


    Nun hatte ich immer gedacht, wenn ich die Component nun an einen anderen Actor hänge, dieser auch sein Inventar hat. Das scheint

    auch soweit so zu sein, Nur wenn ich jetzt ein Gegenstand aufsammel, bekommen diesen beide Inventare.

    Obwohl ich nur den Spieler anspreche.


    Daher zu meinem Verständnisproblem. Ich dachte das eine angehangene Component in erster Linier nur den Actor bzw Pawn betrifft dem er angehangen istz und nicht alle. Also das die Engine Intern die Dinge sauber trennt. Aber mir scheint es so, das die Component egal wo sie steckt nur das eine Inventar bearbeitet und sich anscheinend kein eigenes Inventar Array baut wenn ich die Funktion aufrufe. ???


    Da der Spieler z.B. Kisten und Regale bauen kann, war meine Hoffnung jeden Actor mit der Inventar-Component anzulegen und ich halt

    mehrer Inventare habe... nur anscheinend nutzen alle dann das gleich Inventar ?


    Es geht mir jetzt nicht um das Inventarproblem sonder wie sich eine Component zum z.B. Actor verhällt in dem sie angehangen ist.


    Hoffe versteht was ich in etwa meine ? :)

  • Also in meiner Inventar Component, habe ich eine Funktion"CreateInventar"gebastelt.

    In dieser wird einfach das Array für das Inventar gebildet und dieses Array in einer Variabel gespeichert.


    Mein Gedanke war halt, wenn ich das Inventar gebildet habe, es auch nur in diesem Actor ist.


    Also optisch sieht es zwar so aus, als ob jeder Actor ein Inventar mit der Variabel "Inventar"erhält.

    Nur Intern sollten die ja unterschiedlich sein, da sie ja durch die Component angehangen wurden.


    Also müsste ja Actor1_Inventar ein anderes wie Actor2_Inventar sein, obwohl sie die gleiche

    Component haben. Mir ging es nur darum ob es so ist,... dann kann ich den Fehler weiter eingrenzen.


    Der Spieler kann halt z.B. ein Schrank craften und diesen in die Welt setzen. Und dieser Schrank soll

    dann die Component besitzen und somit sein eigenes Inventar....


    Da es ja so sein soll,... kann ich richtig weiter denken und den Fehler suchen :)

    Lieben Dank :)

  • falls das Problem noch besteht, solltest du vielleicht mal nen Screen von deinem Inventar anhängen, das klingt auf jedenfall nach einem Logikfehler in deinem Component. Verstehe auch nicht, warum erst ne ArrayVariable gebildet werden muss. Das Inventar kann das Array doch genrell schon beinhalten und diese wird dann entsprechend gefüllt. Klingt so, als würdest du es über ein Interface machen, da darfst du natürlich nur den Actor ansprechen, welcher das Item aufhebt. und nicht alle die das Interface nutzen.