Jump to content
Unity Insider Forum
Hermetes

Enum State Change Abfrage

Recommended Posts

Hallo! :) 
Anstatt abzufragen if (playerstate == state.run)

kann man denn auch den Wechsel zum State abfragen? 

Oder komme ich da mit einem Delegate und Event nicht drum herum?

Ich frage, weil das ja wieder unnötig viele Update Abfragen sind.

 

Share this post


Link to post
Share on other sites
private Playerstate _enum;
public Playerstate Enum {
	get{
		return _enum;
	}
	set{
		_enum = value;
		// Hier jetzt eine Funktion ausführen die dein Code den du bei Änderung ausführen willst
	}
}

So würde ich das ja jetzt machen gibt aber vllt noch andere möglichkeiten

  • Like 1

Share this post


Link to post
Share on other sites

Nönö, das ist schon genau, wie man das macht. Nur, dass du deine Property nicht "Enum" nennen solltest ;)

Share this post


Link to post
Share on other sites

Allerdings muss man noch darauf achten, dass hier nun auch etwas ausgeführt wird, wenn sich der State nicht wirklich ändert. Man kann das aber auch einfach umgehen, wenn man möchte.

public UnityEvent playerStateChanged; //mit so einem event können sich dann auch mehrere daran registrieren, um auf eine Änderung zu reagieren

private Playerstate currentPlayerState;
public Playerstate CurrentPlayerState
{
  get
  {
    return currentPlayerState;
  }
  set
  {
    if(currentPlayerState != value)
    {
        currentPlayerState = value;
      
      	if(playerStateChanged != null)
        {
          playerStateChanged.Invoke();
        }
    }
  }
}

 

Share this post


Link to post
Share on other sites
Am 21.8.2019 um 15:03 schrieb devandart:

 


      	if(playerStateChanged != null)
        {
          playerStateChanged.Invoke();
        }

 

man kann auch einfach nur so machen: playerStateChanged?.Invoke();

Share this post


Link to post
Share on other sites
Am 23.8.2019 um 17:13 schrieb MaZy:

man kann auch einfach nur so machen: playerStateChanged?.Invoke();

Kommt auf die Unity bzw. .Net Version an, aber ich gebe Dir Recht. :D

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...

×
×
  • Create New...