Показать сообщение отдельно
Старый 22.01.2011, 20:12   #4
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Помогите разобраться

Если я правильно понял:

using System;
using UnityEngine;

public class 
Character : MonoBehaviour
{

    public 
CharacterClass characterClass = CharacterClass.Warrior;

    public 
enum CharacterClass
    
{
        
Warrior,
        
Wizard
    
}

    private 
CharacterClass[] _classes;
    public 
void Start()
    {
        var 
names = Enum.GetNames(typeof(CharacterClass));
        
_classes = new CharacterClass[names.Length];
        for (
int i = 0; i < names.Length; i++)
        {
            
_classes[i] = (CharacterClass)Enum.Parse(typeof(CharacterClass), names[i]);
        }
    }


    public 
void OnGUI()
    {
        
GUILayout.BeginArea(new Rect(10, 10, 150, 300));

        
Color guiColor = GUI.color;

        foreach (
CharacterClass chClass in _classes)
        {
            
GUI.color = chClass == characterClass ? Color.red : guiColor;
            if (
GUILayout.Button(chClass.ToString()))
            {
                
characterClass = chClass;
            }
        }
        
GUI.color = guiColor;

        
GUILayout.EndArea();

    }
} 
(Offline)
 
Ответить с цитированием