Показать сообщение отдельно
Старый 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.InbooleanName "Create now?"DefaultValue true)
    var 
createVariable;

    @
Parameter(VariableType.OutbooleanName "Done")
    var 
resultVariable;



    
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.Intypeof(bool), Name "Create now?"DefaultValue true)]
        public 
Variable create;

        [
Parameter(VariableType.Outtypeof(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)