forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Общие вопросы (http://forum.boolean.name/forumdisplay.php?f=166)
-   -   Помогите разобраться (http://forum.boolean.name/showthread.php?t=14099)

Ipe 22.01.2011 19:17

Помогите разобраться
 
В общем у меня есть скрипт
PHP код:

public class Class: ModifiedStat  {
private 
int _classCharacter;
    
    public Class(){
        
_classCharacter =0;
        
    }    
}

public 
enum ClassName{
    
Warrior,
    
Wizard


при выводе ClassName с помощью
PHP код:

for(int cnt 0cnt Enum.GetValues(typeof(ClassName)).Lengthcnt++ ){
GUI.Label(new Rect(40040 + ((cnt ) * 21), 10021), ((ClassName)cnt).ToString() ); 

он выводяться вместе
а можно ли сделать чтобы они выводились по одному и с помощью двух кнопок переключать между Warrior и Wizard?

Ipe 22.01.2011 19:20

Ответ: Помогите разобраться
 
Или сделать так
PHP код:

public enum Warrior
    
Warrior

public 
enum Wizard
    
Wizard 


а потом уже переключать?

pax 22.01.2011 19:51

Ответ: Помогите разобраться
 
Чет писец не понятно, объясни что нужно по порядку.

pax 22.01.2011 20:12

Ответ: Помогите разобраться
 
Если я правильно понял:

PHP код:

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 0names.Lengthi++)
        {
            
_classes[i] = (CharacterClass)Enum.Parse(typeof(CharacterClass), names[i]);
        }
    }


    public 
void OnGUI()
    {
        
GUILayout.BeginArea(new Rect(1010150300));

        
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();

    }



Ipe 22.01.2011 20:20

Ответ: Помогите разобраться
 
спасибо можно и так но я думал осуществить прмиерно вот так
< Эт кнопка =))))

< Warrior >
и после переключения получается
< Wizard >
но имена классов берутся от туда ))

pax 22.01.2011 20:27

Ответ: Помогите разобраться
 
Задачу надо объяснять правильно:
PHP код:

using System;
using System.Collections.Generic;
using UnityEngine;

public class 
Character MonoBehaviour
{

    public 
CharacterClass characterClass CharacterClass.Warrior;

    public 
enum CharacterClass
    
{
        
Warrior,
        
Wizard
    
}

    private List<
CharacterClass_classes = new List<CharacterClass>();
    public 
void Start()
    {
        var 
names Enum.GetNames(typeof(CharacterClass));

        for (
int i 0names.Lengthi++)
        {
            
_classes.Add((CharacterClass)Enum.Parse(typeof(CharacterClass), names[i]));
        }
    }


    public 
void OnGUI()
    {
        
GUILayout.BeginArea(new Rect(1010150300));
        if (
GUILayout.Button(characterClass.ToString()))
        {
            
int index _classes.IndexOf(characterClass) + 1;
            if (
index >= _classes.Count)
            {
                
index 0;
            }

            
characterClass _classes[index];
        }
        
GUILayout.EndArea();

    }



Ipe 22.01.2011 20:35

Ответ: Помогите разобраться
 
Спасибо большое :
=)

Ipe 27.01.2011 19:21

Ответ: Помогите разобраться
 
У меня опять вопрос по GUI =)
можно ли как то реализовать "склеивающиеся" GUI.Window
те есть два окна. window 1 и window 2, когда я претаскиваю одно окно к другому они должны прикрипиться друг к другу.
и так же если я возьму прикреплённое окно и перетаскиванием отсоеденю его от другого

pax 27.01.2011 20:50

Ответ: Помогите разобраться
 
ну такое за Вас никто писать не будет. Создайте отдельный менеджер окон. Рисуйте и управляйте окнами через него.

Ipe 27.01.2011 21:01

Ответ: Помогите разобраться
 
Цитата:

Сообщение от pax (Сообщение 177076)
ну такое за Вас никто писать не будет. Создайте отдельный менеджер окон. Рисуйте и управляйте окнами через него.

а я и не просил это пистаь за меня....
я как бы просто сросил как это можно реализовать вот и всё:)

pax 27.01.2011 21:36

Ответ: Помогите разобраться
 
Ну я бы сделал класс окна с функцией OnGUI, наследовал бы все окна от него реализуя этот OnGUI. Выводил бы все окна через менеджер, в который добавлял все окна при создании. И через менеджер управлял бы прилипанием.


Часовой пояс GMT +4, время: 12:07.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot