Jump to content
Unity Insider Forum

Array durch festglegten toggle befüllen


Cyberpictures

Recommended Posts

Moin Moin zusammen,

Ich habe eine Allgmeine Frage, ist es möglich das ich ein Array mit vorher festgelegten string hinter den Toggle zu fülle ? 

 

Beispiel:

Toggle1 plus

Toggle2 Minus

Toggle3 Multiplizieren

Toggle4 Dividieren

Dementsprechend soll das array mit den Rechenzeichen (+, -, *,  /) die entsprechenden Zeichen gefüllt werden werden(derzeit manuell eingetragen1944425749_ToggleMuster.PNG.9a68753cddaaf097c6f892aac288f4f9.PNG2042350173_InspectorMuster.PNG.62031c219bafed88ea26401909640329.PNG). Wenn dem so sein sollte wie bekomme ich das hin? Mach ich das über den string name oder string tag ?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du könntest eine Komponente schreiben, welche Du auf jedes Toggle Objekt (wo die Toggle Komponente drauf liegt) legst.

using UnityEngine.UI;

[RequiredComponent(typeof(Toggle))]
public StringToggle : MonoBehaviour
{
  [SerializeField]
  private string character;
  private Toggle toggle;
  
  void Start()
  {
    toggle = GetComponent<Toggle>();
  }
  
  public bool IsOn
  {
    get
    {
      return toggle.isOn;
    }
  }
  
  public string Character
  {
    get
    {
      return character;
    }
  }
}

Nun könntest Du in deiner Komponente statt Characters ein Array zur Verfügung stellen, wo Du im Inspector diese Toggle Objekte reinziehst

[SerializeField]
private StringToggle[] toggles;

Und nun packst Du je nach dem, was Du vorhast, in Deine Komponente noch diese Eigenschaft, um alle aktivierten Toggle Buchstaben zu erhalten

public List<string> Characters //oder char[], wenn Du nur einzelne Zeichen hast
{
  get
  {
    var list = new List<string>();
    foreach(var t in toggles)
    {
      if(t.IsOn)
      {
        list.Add(t.Character);
      }
    }
    return list;
  }
}

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 7 Minuten schrieb Cyberpictures:

Danke für die Information, dann kann ich ja im weiteren mit der isOn Funktion weiter abrieten richtig? also zu Beispiel wenn toggle isOn dann schalte alle anderen Toggle intractiv oder der gleichen richtig.

 

Klasse damit komm ich weiter. 

 

Ich denke schon, ja. :) 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...