Jump to content
Unity Insider Forum

Wenn z.B. eine Waffe als GameObject aktiviert ist sollen sich alle anderen Waffen deaktivieren


Avlu
 Share

Recommended Posts

Hallo! Ich hätte eine Frage. Ich programmiere ein 2d Spiel in dem man Waffen sammeln und ausrüsten kann das heißt du kannst mit ihnen rumlaufen usw

Meine Frage ist jetzt, wie kann man wenn eine Waffe aktiv ist alle anderen deaktivieren, ich weiß wie das geht aber ich frage ob es dafür eine verkürzte Form gibt d.h. 

If(katana.ActiveSelf){

//Schalte alle anderen ab

}

 

Ich frage da mich es ankotzen würde wenn ich schreiben müsste und das jedes mal

If(katana.ActiveSelf){

     Schwert.SetActive(false);

     Pistole.SetActive(false);

     Usw......

}

Ich hoffe ihr habt irgendwas verstanden und könnt helfen und falls ihr etwas nicht verstanden habt bitte nachfragen danke!

Link to comment
Share on other sites

Moin!

Du kannst ein Array (oder eine Liste) von allen Dingen haben, und dann alles in diesem Array deaktivieren, was nicht das gerade aktivierte Ding ist.

public GameObject[] weapons;

public void ActivateWeapon(GameObject weaponToActivate)
{
  foreach (var weapon in weapons)
  {
    weapon.SetActive(weapon == weaponToActivate);
  }
}

 

Link to comment
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...
 Share

×
×
  • Create New...