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

Появилась возможность создавать блоки на js (пока с небольшими ограничениями). Пример:
import Antares.Vizio.Runtime;

@
VisualLogicBlock("Create My game", "Custom Blocks", ParentName = "My Game Creator")
class 
CreateMyGame extends LogicBlock
{
    @
Parameter(VariableType.In, boolean, Name = "Create now?", DefaultValue = true)
    var 
create: Variable;

    @
Parameter(VariableType.Out, boolean, Name = "Done")
    var 
result: Variable;



    
override function OnInitializeDefaultData()
    {
       
RegisterOutputTrigger("True");
       
RegisterOutputTrigger("False");
    }


    @
EntryTrigger
    
function In () 
    {
            switch (
create.Value)
            {
                case 
true :
                   
// YOUR CODE HERE
                    
result.Value = true;
                    
ActivateTrigger();
                    break;
                case 
false :
                    
result.Value = false;
                    
ActivateTrigger("False");
                    break;
            }
    }

} 
аналог на C#
using Antares.Vizio.Runtime;

namespace 
Antares.Vizio.Blocks
{
    [
VisualLogicBlock("Create My game", "Custom Blocks", ParentName = "My Game Creator")]
    public class 
CreateMyGame : LogicBlock
    
{
        [
Parameter(VariableType.In, typeof(bool), Name = "Create now?", DefaultValue = true)]
        public 
Variable create;

        [
Parameter(VariableType.Out, typeof(bool), Name = "Done")]
        public 
Variable result;

        [
EntryTrigger]
        public 
void In()
        {
            switch ((bool)
create.Value)
            {
                case 
true :
                   
// YOUR CODE HERE
                    
result.Value = true;
                    
ActivateTrigger();
                    break;
                case 
false :
                    
result.Value = false;
                    
ActivateTrigger("False");
                    break;
            }
        }

        public 
override void OnInitializeDefaultData()
        {
            
RegisterOutputTrigger("True");
            
RegisterOutputTrigger("False");
        }
    }
} 

В теории возможно и на Boo, но некому попробовать...
__________________
Blitz3d to Unity Wiki

Последний раз редактировалось pax, 09.12.2010 в 19:33.
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
Dr.Evil (09.12.2010), Nuprahtor (09.12.2010), viper86 (13.12.2010)