Jump to content
Unity Insider Forum
Jomnitech

[Gelöst]State Machine optimieren

Recommended Posts

Hallo Zusammen

Ich möchte meine State Machine etwas optimieren. Im Prinzip funktioniert alles einwandfrei, nur habe ich das Problem das meine State-Maschine auf Strings basiert und ich denke dass, das Ableichen von Strings nicht wirklich performant ist.
Ich möchte erreichen das es performanter ist und ich trotzdem als Text sehe in welchem State sich mein Char befindend statt nur 0, 1, usw. (wenn ich z.B. ints verwenden würde)
Ich habe schon ein Auge auf enum`s geworfen, aber die verwende ich eher anders run. Also eher zum entwas im Inspektor als Text auszuwählen und im code mit 0-xy abzugleichen.

Kann mir jemand einen Tipp geben? Oder ist das Abgleichen von Strings gar nicht so übel?

Share this post


Link to post
Share on other sites
vor 57 Minuten schrieb Jomnitech:

ich denke dass, das Ableichen von Strings nicht wirklich performant ist.

Ich würde mir da ja weniger Sorgen um Performance machen als vielmehr um Code-Qualität. Strings sind gar nicht so unperformant wie viele immer zu glauben scheinen. Da sind Sachen wir dass man durch Vertippen Progrgrammierfehler machen kann, die einem der Compiler nicht zeigen kann, schon eher das Problem.

Hier hast du meine kleine Statemachine-Klasse. Die funktioniert direkt über Methoden in Coroutinen.

  • Like 1

Share this post


Link to post
Share on other sites
vor 7 Stunden schrieb Sascha:

Strings sind gar nicht so unperformant wie viele immer zu glauben scheinen

Gut zu wissen, danke.

vor 7 Stunden schrieb Sascha:

dass man durch Vertippen Progrgrammierfehler machen kann

Das habe ich noch gar nicht bedacht, guter Einwand.

vor 7 Stunden schrieb Sascha:

Hier hast du meine kleine Statemachine-Klasse.

Vielen dank für die Vorlage, muss ich mich etwas einarbeiten wie genau das funktionert, bin ja im coden noch unerfahren und einfach nur copy und paste will ich ja auch nicht machen.

Share this post


Link to post
Share on other sites

Naja, die Klasse selbst ist für Copy&Paste gedacht. Unten hast du eine kleine Klasse als Demo. Verwechsle nicht Dinge, die man lernen sollte, um coden zu können, mit Klassen/Bibliotheken, die man einfach benutzen kann. Genauso, wie du die Untiy-Engine benutzen kannst ohne ihren Source Code zu kennen, kannst du fertige Klassen anderer einfach übernehmen, ohne dich dafür "schämen" zu müssen. Nur, wenn du Code vorgesetzt bekommst, der Teil deiner eigenen Codebase wird, solltest du wissen, was passiert.

P.S. Der Tippfehler in "Programmierfehler" war natürlich Absicht. Aus gegebenem Anlass. Ähem.😗

  • Like 1

Share this post


Link to post
Share on other sites

Dennoch muss ich mich etwas einarbeiten um zu verstehen wie ich es für mich editieren und integrieren kann, auch wenn ich es nicht verstehe.
Vielen Dank für deine Hilfe.
 

vor 12 Minuten schrieb Sascha:

P.S. Der Tippfehler in "Programmierfehler" war natürlich Absicht.

Mindblow, ist mir erst jetzt aufgefallen, richtig beängstigend, ist dir gelungen:D

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×