public override void InitFunc()
        {
            ToolInfo["Advanced"].Add(new ToolboxItemData(true), null);
            ToolInfo["Advanced"].Add(new ToolboxItemData("taskrepeatadv", "/LuaSTGNode.Legacy;component/images/taskadvancedrepeat.png", "Task Advanced Repeat")
                                     , new AddNode(AddAdvancedRepeatWithWait));

            var data = new Dictionary <ToolboxItemData, AddNode>();

            #region data
            data.Add(new ToolboxItemData("localvar", "/LuaSTGNode.Legacy;component/images/variable.png", "Local Variable")
                     , new AddNode(AddLocalVarNode));
            data.Add(new ToolboxItemData("assign", "/LuaSTGNode.Legacy;component/images/assignment.png", "Assignment")
                     , new AddNode(AddAssignmentNode));
            data.Add(new ToolboxItemData("function", "/LuaSTGNode.Legacy;component/images/func.png", "Function")
                     , new AddNode(AddFunctionNode));
            data.Add(new ToolboxItemData(true), null);
            data.Add(new ToolboxItemData("recordpos", "/LuaSTGNode.Legacy;component/images/positionVar.png", "Record Position")
                     , new AddNode(AddRecordPosNode));
            data.Add(new ToolboxItemData("assignpos", "/LuaSTGNode.Legacy;component/images/positionassignment.png", "Position Assignment")
                     , new AddNode(AddPositionAssignmentNode));
            #endregion
            ToolInfo.Add("Data", data);

            var stage = new Dictionary <ToolboxItemData, AddNode>();
            #region stage
            stage.Add(new ToolboxItemData("stagegroup", "/LuaSTGNode.Legacy;component/images/stagegroup.png", "Stage Group")
                      , new AddNode(AddStageGroupNode));
            stage.Add(new ToolboxItemData("stage", "/LuaSTGNode.Legacy;component/images/stage.png", "Stage")
                      , new AddNode(AddStageNode));
            stage.Add(new ToolboxItemData(true), null);
            stage.Add(new ToolboxItemData("stagegoto", "/LuaSTGNode.Legacy;component/images/stagegoto.png", "Go to Stage")
                      , new AddNode(AddStageGoToNode));
            stage.Add(new ToolboxItemData("stagegroupfinish", "/LuaSTGNode.Legacy;component/images/stagefinishgroup.png", "Finish Stage Group")
                      , new AddNode(AddStageGroupFinishNode));
            stage.Add(new ToolboxItemData(true), null);
            stage.Add(new ToolboxItemData("setstagebg", "/LuaSTGNode.Legacy;component/images/bgstage.png", "Set Stage Background")
                      , new AddNode(AddSetStageBGNode));
            stage.Add(new ToolboxItemData(true), null);
            stage.Add(new ToolboxItemData("shakescreen", "/LuaSTGNode.Legacy;component/images/shakescreen.png", "Shake Screen")
                      , new AddNode(AddShakeScreenNode));
            #endregion
            ToolInfo.Add("Stage", stage);

            var task = new Dictionary <ToolboxItemData, AddNode>();
            #region task
            task.Add(new ToolboxItemData("task", "/LuaSTGNode.Legacy;component/images/task.png", "Task")
                     , new AddNode(AddTaskNode));
            task.Add(new ToolboxItemData("taskforobject", "/LuaSTGNode.Legacy;component/images/taskforobject.png", "Task For Another Object")
                     , new AddNode(AddTaskForObjectNode));
            task.Add(new ToolboxItemData("tasker", "/LuaSTGNode.Legacy;component/images/tasker.png", "Tasker")
                     , new AddNode(AddTaskerNode));
            task.Add(new ToolboxItemData("taskdefine", "/LuaSTGNode.Legacy;component/images/taskdefine.png", "Define Task")
                     , new AddNode(AddTaskDefineNode));
            task.Add(new ToolboxItemData("taskcreate", "/LuaSTGNode.Legacy;component/images/taskattach.png", "Create Task")
                     , new AddNode(AddTaskCreateNode));
            task.Add(new ToolboxItemData("taskfinish", "/LuaSTGNode.Legacy;component/images/taskreturn.png", "Finish Task")
                     , new AddNode(AddTaskFinishNode));
            task.Add(new ToolboxItemData("taskclear", "/LuaSTGNode.Legacy;component/images/taskclear.png", "Clear Task")
                     , new AddNode(AddTaskClearNode));
            task.Add(new ToolboxItemData(true), null);
            task.Add(new ToolboxItemData("wait", "/LuaSTGNode.Legacy;component/images/taskwait.png", "Wait")
                     , new AddNode(AddTaskWaitNode));
            task.Add(new ToolboxItemData("taskrepeat", "/LuaSTGNode.Legacy;component/images/taskrepeat.png", "Task Repeat")
                     , new AddNode(AddTaskRepeatNode));
            task.Add(new ToolboxItemData(true), null);
            task.Add(new ToolboxItemData("moveto", "/LuaSTGNode.Legacy;component/images/taskmoveto.png", "Move To")
                     , new AddNode(AddTaskMoveToNode));
            task.Add(new ToolboxItemData("moveby", "/LuaSTGNode.Legacy;component/images/taskmovetoex.png", "Move By")
                     , new AddNode(AddTaskMoveByNode));
            task.Add(new ToolboxItemData("movetocurve", "/LuaSTGNode.Legacy;component/images/taskBeziermoveto.png", "Move To (Curve)")
                     , new AddNode(AddTaskMoveToCurveNode));
            task.Add(new ToolboxItemData("movebycurve", "/LuaSTGNode.Legacy;component/images/taskBeziermovetoex.png", "Move By (Curve)")
                     , new AddNode(AddTaskMoveByCurveNode));
            task.Add(new ToolboxItemData(true), null);
            task.Add(new ToolboxItemData("smoothset", "/LuaSTGNode.Legacy;component/images/tasksetvalue.png", "Smooth set value to")
                     , new AddNode(AddSmoothSetValueNode));
            #endregion
            ToolInfo.Add("Task", task);

            var enemy = new Dictionary <ToolboxItemData, AddNode>();
            #region enemy
            enemy.Add(new ToolboxItemData("defenemy", "/LuaSTGNode.Legacy;component/images/enemydefine.png", "Define Enemy")
                      , new AddNode(AddEnemyDefineNode));
            enemy.Add(new ToolboxItemData("createenemy", "/LuaSTGNode.Legacy;component/images/enemycreate.png", "Create Enemy")
                      , new AddNode(AddEnemyCreateNode));
            enemy.Add(new ToolboxItemData(true), null);
            enemy.Add(new ToolboxItemData("enemysimple", "/LuaSTGNode.Legacy;component/images/enemysimple.png", "Create Simple Enemy with Task")
                      , new AddNode(AddCreateSimpleEnemyNode));
            enemy.Add(new ToolboxItemData(true), null);
            enemy.Add(new ToolboxItemData("enemycharge", "/LuaSTGNode.Legacy;component/images/pactrometer.png", "Enemy Charge")
                      , new AddNode(AddEnemyChargeNode));
            enemy.Add(new ToolboxItemData("enemywander", "/LuaSTGNode.Legacy;component/images/taskbosswander.png", "Enemy Wander")
                      , new AddNode(AddEnemyWanderNode));
            #endregion
            ToolInfo.Add("Enemy", enemy);

            var boss = new Dictionary <ToolboxItemData, AddNode>();
            #region boss
            boss.Add(new ToolboxItemData("defboss", "/LuaSTGNode.Legacy;component/images/bossdefine.png", "Define Boss")
                     , new AddNode(AddDefineBossNode));
            boss.Add(new ToolboxItemData("bosssc", "/LuaSTGNode.Legacy;component/images/bossspellcard.png", "Define Spell Card")
                     , new AddNode(AddBossSCNode));
            boss.Add(new ToolboxItemData(true), null);
            boss.Add(new ToolboxItemData("createboss", "/LuaSTGNode.Legacy;component/images/bosscreate.png", "Create Boss")
                     , new AddNode(AddCreateBossNode));
            boss.Add(new ToolboxItemData(true), null);
            boss.Add(new ToolboxItemData("bosssetwisys", "/LuaSTGNode.Legacy;component/images/bosswalkimg.png", "Set Walk Image of an Object")
                     , new AddNode(AddSetBossWISysNode));
            boss.Add(new ToolboxItemData(true), null);
            boss.Add(new ToolboxItemData("bossmoveto", "/LuaSTGNode.Legacy;component/images/bossmoveto.png", "Boss Move To")
                     , new AddNode(AddBossMoveToNode));
            boss.Add(new ToolboxItemData("dialog", "/LuaSTGNode.Legacy;component/images/dialog.png", "Dialog")
                     , new AddNode(AddDialogNode));
            boss.Add(new ToolboxItemData("sentence", "/LuaSTGNode.Legacy;component/images/sentence.png", "Sentence")
                     , new AddNode(AddSentenceNode));
            boss.Add(new ToolboxItemData(true), null);
            boss.Add(new ToolboxItemData("bosscast", "/LuaSTGNode.Legacy;component/images/bosscast.png", "Play cast animation")
                     , new AddNode(AddBossCastNode));
            boss.Add(new ToolboxItemData("bossexplode", "/LuaSTGNode.Legacy;component/images/bossexplode.png", "Boss Explode")
                     , new AddNode(AddBossExplodeNode));
            boss.Add(new ToolboxItemData("bossaura", "/LuaSTGNode.Legacy;component/images/bossshowaura.png", "Boss Aura")
                     , new AddNode(AddBossAuraNode));
            boss.Add(new ToolboxItemData("bossui", "/LuaSTGNode.Legacy;component/images/bosssetui.png", "Set Boss UI")
                     , new AddNode(AddBossUINode));
            boss.Add(new ToolboxItemData(true), null);
            boss.Add(new ToolboxItemData("defbossbg", "/LuaSTGNode.Legacy;component/images/bgdefine.png", "Define Boss Background")
                     , new AddNode(AddBossBGDefineNode));
            boss.Add(new ToolboxItemData("bossbglayer", "/LuaSTGNode.Legacy;component/images/bglayer.png", "Define Boss Background Layer")
                     , new AddNode(AddBossBGLayerNode));
            #endregion
            ToolInfo.Add("Boss", boss);

            var bullet = new Dictionary <ToolboxItemData, AddNode>();
            #region bullet
            bullet.Add(new ToolboxItemData("defbullet", "/LuaSTGNode.Legacy;component/images/bulletdefine.png", "Define Bullet")
                       , new AddNode(AddDefineBulletNode));
            bullet.Add(new ToolboxItemData("createbullet", "/LuaSTGNode.Legacy;component/images/bulletcreate.png", "Create Bullet")
                       , new AddNode(AddCreateBulletNode));
            bullet.Add(new ToolboxItemData(true), null);
            bullet.Add(new ToolboxItemData("simplebullet", "/LuaSTGNode.Legacy;component/images/bulletcreatestraight.png", "Create Simple Bullet")
                       , new AddNode(AddCreateSimpleBulletNode));
            bullet.Add(new ToolboxItemData("bulletgroup", "/LuaSTGNode.Legacy;component/images/bulletcreatestraightex.png", "Create Simple Bullet Group")
                       , new AddNode(AddCreateBulletGroupNode));
            bullet.Add(new ToolboxItemData(true), null);
            bullet.Add(new ToolboxItemData("bulletstyle", "/LuaSTGNode.Legacy;component/images/bulletchangestyle.png", "Change Bullet Style")
                       , new AddNode(AddBulletChangeStyleNode));
            bullet.Add(new ToolboxItemData(true), null);
            bullet.Add(new ToolboxItemData("bulletclear", "/LuaSTGNode.Legacy;component/images/bulletclear.png", "Clear Bullets")
                       , new AddNode(AddBulletClearNode));
            bullet.Add(new ToolboxItemData("bulletclearrange", "/LuaSTGNode.Legacy;component/images/bulletcleanrange.png", "Clear Bullets in range")
                       , new AddNode(AddBulletClearRangeNode));
            #endregion
            ToolInfo.Add("Bullet", bullet);

            var laser = new Dictionary <ToolboxItemData, AddNode>();
            #region laser
            laser.Add(new ToolboxItemData("deflaser", "/LuaSTGNode.Legacy;component/images/laserdefine.png", "Define Laser")
                      , new AddNode(AddDefineLaserNode));
            laser.Add(new ToolboxItemData("createlaser", "/LuaSTGNode.Legacy;component/images/lasercreate.png", "Create Laser")
                      , new AddNode(AddCreateLaserNode));
            laser.Add(new ToolboxItemData(true), null);
            laser.Add(new ToolboxItemData("defbentlaser", "/LuaSTGNode.Legacy;component/images/laserbentdefine.png", "Define Bent Laser")
                      , new AddNode(AddDefineBentLaserNode));
            laser.Add(new ToolboxItemData("createbentlaser", "/LuaSTGNode.Legacy;component/images/laserbentcreate.png", "Create Bent Laser")
                      , new AddNode(AddCreateBentLaserNode));
            laser.Add(new ToolboxItemData(true), null);
            laser.Add(new ToolboxItemData("laserturnhalfon", "/LuaSTGNode.Legacy;component/images/laserturnhalfon.png", "Turn Half On Laser")
                      , new AddNode(AddLaserTurnHalfOnNode));
            laser.Add(new ToolboxItemData("laserturnon", "/LuaSTGNode.Legacy;component/images/laserturnon.png", "Turn On Laser")
                      , new AddNode(AddLaserTurnOnNode));
            laser.Add(new ToolboxItemData("laserturnoff", "/LuaSTGNode.Legacy;component/images/laserturnoff.png", "Turn Off Laser")
                      , new AddNode(AddLaserTurnOffNode));
            laser.Add(new ToolboxItemData(true), null);
            laser.Add(new ToolboxItemData("lasergrow", "/LuaSTGNode.Legacy;component/images/lasergrow.png", "Grow Laser")
                      , new AddNode(AddLaserGrowNode));
            laser.Add(new ToolboxItemData("laserchangestyle", "/LuaSTGNode.Legacy;component/images/laserchangestyle.png", "Change Laser Style")
                      , new AddNode(AddLaserChangeStyleNode));
            #endregion
            ToolInfo.Add("Laser", laser);

            var obj = new Dictionary <ToolboxItemData, AddNode>();
            #region object
            obj.Add(new ToolboxItemData("defobject", "/LuaSTGNode.Legacy;component/images/objectdefine.png", "Define Object")
                    , new AddNode(AddDefineObjectNode));
            obj.Add(new ToolboxItemData("createobject", "/LuaSTGNode.Legacy;component/images/objectcreate.png", "Create Object")
                    , new AddNode(AddCreateObjectNode));
            obj.Add(new ToolboxItemData(true), null);
            obj.Add(new ToolboxItemData("callbackfunc", "/LuaSTGNode.Legacy;component/images/callbackfunc.png", "Call Back Functions")
                    , new AddNode(AddCallBackFuncNode));
            obj.Add(new ToolboxItemData("defaultaction", "/LuaSTGNode.Legacy;component/images/defaultaction.png", "Default Action")
                    , new AddNode(AddDefaultActionNode));
            obj.Add(new ToolboxItemData(true), null);
            obj.Add(new ToolboxItemData("setv", "/LuaSTGNode.Legacy;component/images/setv.png", "Set Velocity")
                    , new AddNode(AddSetVNode));
            obj.Add(new ToolboxItemData("setvxy", "/LuaSTGNode.Legacy;component/images/setvxy.png", "Set XY-Velocity")
                    , new AddNode(AddSetVXYNode));
            obj.Add(new ToolboxItemData("seta", "/LuaSTGNode.Legacy;component/images/setaccel.png", "Set Acceleration")
                    , new AddNode(AddSetANode));
            obj.Add(new ToolboxItemData("setg", "/LuaSTGNode.Legacy;component/images/setgravity.png", "Set Gravity")
                    , new AddNode(AddSetGNode));
            obj.Add(new ToolboxItemData("setvlim", "/LuaSTGNode.Legacy;component/images/setfv.png", "Set Velocity Limit")
                    , new AddNode(AddSetVLimitNode));
            obj.Add(new ToolboxItemData("delete", "/LuaSTGNode.Legacy;component/images/unitdel.png", "Delete Unit")
                    , new AddNode(AddDelNode));
            obj.Add(new ToolboxItemData("kill", "/LuaSTGNode.Legacy;component/images/unitkill.png", "Kill Unit")
                    , new AddNode(AddKillNode));
            obj.Add(new ToolboxItemData(true), null);
            obj.Add(new ToolboxItemData("setimage", "/LuaSTGNode.Legacy;component/images/objectsetimg.png", "Set Image")
                    , new AddNode(AddSetObjectImageNode));
            obj.Add(new ToolboxItemData(true), null);
            obj.Add(new ToolboxItemData("setblend", "/LuaSTGNode.Legacy;component/images/setcolor.png", "Set Color and Blend Mode")
                    , new AddNode(AddSetBlendNode));
            obj.Add(new ToolboxItemData(true), null);
            obj.Add(new ToolboxItemData("setbinding", "/LuaSTGNode.Legacy;component/images/connect.png", "Set Parent")
                    , new AddNode(AddSetBindingNode));
            obj.Add(new ToolboxItemData("setrelativepos", "/LuaSTGNode.Legacy;component/images/setrelpos.png", "Set Relative Position")
                    , new AddNode(AddSetRelativePositionNode));
            obj.Add(new ToolboxItemData(true), null);
            obj.Add(new ToolboxItemData("smear", "/LuaSTGNode.Legacy;component/images/smear.png", "Create Smear")
                    , new AddNode(AddMakeSmearNode));
            obj.Add(new ToolboxItemData(true), null);
            obj.Add(new ToolboxItemData("dropitem", "/LuaSTGNode.Legacy;component/images/dropitem.png", "Drop Item")
                    , new AddNode(AddDropItemNode));
            obj.Add(new ToolboxItemData(true), null);
            obj.Add(new ToolboxItemData("groupforeach", "/LuaSTGNode.Legacy;component/images/unitforeach.png", "For Each Unit in Group")
                    , new AddNode(AddGroupForEachNode));
            #endregion
            ToolInfo.Add("Object", obj);

            var graphics = new Dictionary <ToolboxItemData, AddNode>();
            #region graphics
            graphics.Add(new ToolboxItemData("loadimage", "/LuaSTGNode.Legacy;component/images/loadimage.png", "Load Image")
                         , new AddNode(AddLoadImageNode));
            graphics.Add(new ToolboxItemData("loadimagegroup", "/LuaSTGNode.Legacy;component/images/loadimagegroup.png", "Load Image Group")
                         , new AddNode(AddLoadImageGroupNode));
            graphics.Add(new ToolboxItemData("loadparticle", "/LuaSTGNode.Legacy;component/images/loadparticle.png", "Load Particle")
                         , new AddNode(AddLoadParticleNode));
            graphics.Add(new ToolboxItemData("loadani", "/LuaSTGNode.Legacy;component/images/loadani.png", "Load Animation")
                         , new AddNode(AddLoadAnimationNode));
            graphics.Add(new ToolboxItemData("loadfx", "/LuaSTGNode.Legacy;component/images/loadFX.png", "Load FX")
                         , new AddNode(AddLoadFXNode));
            #endregion
            ToolInfo.Add("Graphics", graphics);

            var audio = new Dictionary <ToolboxItemData, AddNode>();
            #region audio
            audio.Add(new ToolboxItemData("loadse", "/LuaSTGNode.Legacy;component/images/loadsound.png", "Load Sound Effect")
                      , new AddNode(AddLoadSENode));
            audio.Add(new ToolboxItemData("playse", "/LuaSTGNode.Legacy;component/images/playsound.png", "Play Sound Effect")
                      , new AddNode(AddPlaySENode));
            audio.Add(new ToolboxItemData(true), null);
            audio.Add(new ToolboxItemData("loadbgm", "/LuaSTGNode.Legacy;component/images/loadbgm.png", "Load Background Music")
                      , new AddNode(AddLoadBGMNode));
            audio.Add(new ToolboxItemData("playbgm", "/LuaSTGNode.Legacy;component/images/playbgm.png", "Play Background Music")
                      , new AddNode(AddPlayBGMNode));
            audio.Add(new ToolboxItemData("pausebgm", "/LuaSTGNode.Legacy;component/images/pausebgm.png", "Pause Background Music")
                      , new AddNode(AddPauseBGMNode));
            audio.Add(new ToolboxItemData("resumebgm", "/LuaSTGNode.Legacy;component/images/resumebgm.png", "Resume Background Music")
                      , new AddNode(AddResumeBGMNode));
            audio.Add(new ToolboxItemData("stopbgm", "/LuaSTGNode.Legacy;component/images/stopbgm.png", "Stop Background Music")
                      , new AddNode(AddStopBGMNode));
            #endregion
            ToolInfo.Add("Audio", audio);

            var inherit = new Dictionary <ToolboxItemData, AddNode>();
            ToolInfo.Add("Inheritance", inherit);

            var render = new Dictionary <ToolboxItemData, AddNode>();
            #region render
            render.Add(new ToolboxItemData("onrender", "/LuaSTGNode.Legacy;component/images/onrender.png", "On Render")
                       , new AddNode(AddOnRenderNode));
            render.Add(new ToolboxItemData(true), null);
            render.Add(new ToolboxItemData("r4v", "/LuaSTGNode.Legacy;component/images/render4v.png", "Render4V")
                       , new AddNode(AddR4VNode));
            render.Add(new ToolboxItemData(true), null);
            render.Add(new ToolboxItemData("creatertar", "/LuaSTGNode.Legacy;component/images/CreateRenderTarget.png", "Create Render Target")
                       , new AddNode(AddCreateRenderTargetNode));
            render.Add(new ToolboxItemData("rtarop", "/LuaSTGNode.Legacy;component/images/RenderTarget.png", "Push/Pop Render Target")
                       , new AddNode(AddRenderTargetNode));
            //render.Add(new ToolboxItemData("cap", "/LuaSTGNode.Legacy;component/images/PostEffectCapture.png", "Begin Texture Capturing")
            //    , new AddNode(AddPostEffectCaptureNode));
            render.Add(new ToolboxItemData("posteff", "/LuaSTGNode.Legacy;component/images/PostEffect.png", "Post Effect")
                       , new AddNode(AddPostEffectNode));
            #endregion
            ToolInfo.Add("Render", render);

            var background = new Dictionary <ToolboxItemData, AddNode>();
            ToolInfo.Add("Background", background);

            var player = new Dictionary <ToolboxItemData, AddNode>();
            ToolInfo.Add("Player", player);
        }
示例#2
0
        public override void InitFunc()
        {
            var data = new Dictionary <ToolboxItemData, AddNode>();

            #region data
            data.Add(new ToolboxItemData("localvar", "/LuaSTGNodeLib;component/images/variable.png", "Local Variable")
                     , new AddNode(AddLocalVarNode));
            data.Add(new ToolboxItemData("assign", "/LuaSTGNodeLib;component/images/assignment.png", "Assignment")
                     , new AddNode(AddAssignmentNode));
            data.Add(new ToolboxItemData("function", "/LuaSTGNodeLib;component/images/func.png", "Function")
                     , new AddNode(AddFunctionNode));
            data.Add(new ToolboxItemData(true), null);
            data.Add(new ToolboxItemData("recordpos", "/LuaSTGNodeLib;component/images/positionVar.png", "Record Position")
                     , new AddNode(AddRecordPosNode));
            data.Add(new ToolboxItemData("assignpos", "/LuaSTGNodeLib;component/images/positionassignment.png", "Position Assignment")
                     , new AddNode(AddPositionAssignmentNode));
            #endregion
            ToolInfo.Add("Data", data);

            var stage = new Dictionary <ToolboxItemData, AddNode>();
            #region stage
            stage.Add(new ToolboxItemData("stagegroup", "/LuaSTGNodeLib;component/images/stagegroup.png", "Stage Group")
                      , new AddNode(AddStageGroupNode));
            stage.Add(new ToolboxItemData("stage", "/LuaSTGNodeLib;component/images/stage.png", "Stage")
                      , new AddNode(AddStageNode));
            stage.Add(new ToolboxItemData(true), null);
            stage.Add(new ToolboxItemData("setstagebg", "/LuaSTGNodeLib;component/images/bgstage.png", "Set Stage Background")
                      , new AddNode(AddSetStageBGNode));
            #endregion
            ToolInfo.Add("Stage", stage);

            var task = new Dictionary <ToolboxItemData, AddNode>();
            #region task
            task.Add(new ToolboxItemData("task", "/LuaSTGNodeLib;component/images/task.png", "Task")
                     , new AddNode(AddTaskNode));
            task.Add(new ToolboxItemData("tasker", "/LuaSTGNodeLib;component/images/tasker.png", "Tasker")
                     , new AddNode(AddTaskerNode));
            task.Add(new ToolboxItemData("taskdefine", "/LuaSTGNodeLib;component/images/taskdefine.png", "Define Task")
                     , new AddNode(AddTaskDefineNode));
            task.Add(new ToolboxItemData("taskcreate", "/LuaSTGNodeLib;component/images/taskattach.png", "Create Task")
                     , new AddNode(AddTaskCreateNode));
            task.Add(new ToolboxItemData(true), null);
            task.Add(new ToolboxItemData("wait", "/LuaSTGNodeLib;component/images/taskwait.png", "Wait")
                     , new AddNode(AddTaskWaitNode));
            task.Add(new ToolboxItemData("taskrepeat", "/LuaSTGNodeLib;component/images/taskrepeat.png", "Task Repeat")
                     , new AddNode(AddTaskRepeatNode));
            task.Add(new ToolboxItemData(true), null);
            task.Add(new ToolboxItemData("moveto", "/LuaSTGNodeLib;component/images/taskmoveto.png", "Move To")
                     , new AddNode(AddTaskMoveToNode));
            task.Add(new ToolboxItemData("moveby", "/LuaSTGNodeLib;component/images/taskmovetoex.png", "Move By")
                     , new AddNode(AddTaskMoveByNode));
            task.Add(new ToolboxItemData(true), null);
            task.Add(new ToolboxItemData("smoothset", "/LuaSTGNodeLib;component/images/tasksetvalue.png", "Smooth set value to")
                     , new AddNode(AddSmoothSetValueNode));
            #endregion
            ToolInfo.Add("Task", task);

            var enemy = new Dictionary <ToolboxItemData, AddNode>();
            #region enemy
            enemy.Add(new ToolboxItemData("defenemy", "/LuaSTGNodeLib;component/images/enemydefine.png", "Define Enemy")
                      , new AddNode(AddEnemyDefineNode));
            enemy.Add(new ToolboxItemData("createenemy", "/LuaSTGNodeLib;component/images/enemycreate.png", "Create Enemy")
                      , new AddNode(AddEnemyCreateNode));
            enemy.Add(new ToolboxItemData(true), null);
            enemy.Add(new ToolboxItemData("enemycharge", "/LuaSTGNodeLib;component/images/pactrometer.png", "Enemy Charge")
                      , new AddNode(AddEnemyChargeNode));
            enemy.Add(new ToolboxItemData("enemywander", "/LuaSTGNodeLib;component/images/taskbosswander.png", "Enemy Wander")
                      , new AddNode(AddEnemyWanderNode));
            #endregion
            ToolInfo.Add("Enemy", enemy);

            var boss = new Dictionary <ToolboxItemData, AddNode>();
            #region boss
            boss.Add(new ToolboxItemData("defboss", "/LuaSTGNodeLib;component/images/bossdefine.png", "Define Boss")
                     , new AddNode(AddDefineBossNode));
            boss.Add(new ToolboxItemData("bosssc", "/LuaSTGNodeLib;component/images/bossspellcard.png", "Define Spell Card")
                     , new AddNode(AddBossSCNode));
            boss.Add(new ToolboxItemData(true), null);
            boss.Add(new ToolboxItemData("createboss", "/LuaSTGNodeLib;component/images/bosscreate.png", "Create Boss")
                     , new AddNode(AddCreateBossNode));
            boss.Add(new ToolboxItemData(true), null);
            boss.Add(new ToolboxItemData("bosssetwisys", "/LuaSTGNodeLib;component/images/bosswalkimg.png", "Set Walk Image of an Object")
                     , new AddNode(AddSetBossWISysNode));
            boss.Add(new ToolboxItemData(true), null);
            boss.Add(new ToolboxItemData("dialog", "/LuaSTGNodeLib;component/images/dialog.png", "Dialog")
                     , new AddNode(AddDialogNode));
            boss.Add(new ToolboxItemData("sentence", "/LuaSTGNodeLib;component/images/sentence.png", "Sentence")
                     , new AddNode(AddSentenceNode));
            boss.Add(new ToolboxItemData(true), null);
            boss.Add(new ToolboxItemData("bosscast", "/LuaSTGNodeLib;component/images/bosscast.png", "Play cast animation")
                     , new AddNode(AddBossCastNode));
            boss.Add(new ToolboxItemData("bossexplode", "/LuaSTGNodeLib;component/images/bossexplode.png", "Boss Explode")
                     , new AddNode(AddBossExplodeNode));
            boss.Add(new ToolboxItemData(true), null);
            boss.Add(new ToolboxItemData("defbossbg", "/LuaSTGNodeLib;component/images/bgdefine.png", "Define Boss Background")
                     , new AddNode(AddBossBGDefineNode));
            boss.Add(new ToolboxItemData("bossbglayer", "/LuaSTGNodeLib;component/images/bglayer.png", "Define Boss Background Layer")
                     , new AddNode(AddBossBGLayerNode));
            #endregion
            ToolInfo.Add("Boss", boss);

            var bullet = new Dictionary <ToolboxItemData, AddNode>();
            #region bullet
            bullet.Add(new ToolboxItemData("defbullet", "/LuaSTGNodeLib;component/images/bulletdefine.png", "Define Bullet")
                       , new AddNode(AddDefineBulletNode));
            bullet.Add(new ToolboxItemData("createbullet", "/LuaSTGNodeLib;component/images/bulletcreate.png", "Create Bullet")
                       , new AddNode(AddCreateBulletNode));
            bullet.Add(new ToolboxItemData(true), null);
            bullet.Add(new ToolboxItemData("simplebullet", "/LuaSTGNodeLib;component/images/bulletcreatestraight.png", "Create Simple Bullet")
                       , new AddNode(AddCreateSimpleBulletNode));
            bullet.Add(new ToolboxItemData("bulletgroup", "/LuaSTGNodeLib;component/images/bulletcreatestraightex.png", "Create Simple Bullet Group")
                       , new AddNode(AddCreateBulletGroupNode));
            bullet.Add(new ToolboxItemData(true), null);
            bullet.Add(new ToolboxItemData("bulletstyle", "/LuaSTGNodeLib;component/images/bulletchangestyle.png", "Change Bullet Style")
                       , new AddNode(AddBulletChangeStyleNode));
            bullet.Add(new ToolboxItemData(true), null);
            bullet.Add(new ToolboxItemData("bulletclear", "/LuaSTGNodeLib;component/images/bulletclear.png", "Clear Bullets")
                       , new AddNode(AddBulletClearNode));
            bullet.Add(new ToolboxItemData("bulletclearrange", "/LuaSTGNodeLib;component/images/bulletcleanrange.png", "Clear Bullets in range")
                       , new AddNode(AddBulletClearRangeNode));
            #endregion
            ToolInfo.Add("Bullet", bullet);

            var laser = new Dictionary <ToolboxItemData, AddNode>();
            #region laser
            laser.Add(new ToolboxItemData("deflaser", "/LuaSTGNodeLib;component/images/laserdefine.png", "Define Laser")
                      , new AddNode(AddDefineLaserNode));
            laser.Add(new ToolboxItemData("createlaser", "/LuaSTGNodeLib;component/images/lasercreate.png", "Create Laser")
                      , new AddNode(AddCreateLaserNode));
            laser.Add(new ToolboxItemData(true), null);
            laser.Add(new ToolboxItemData("defbentlaser", "/LuaSTGNodeLib;component/images/laserbentdefine.png", "Define Bent Laser")
                      , new AddNode(AddDefineBentLaserNode));
            laser.Add(new ToolboxItemData("createbentlaser", "/LuaSTGNodeLib;component/images/laserbentcreate.png", "Create Bent Laser")
                      , new AddNode(AddCreateBentLaserNode));
            laser.Add(new ToolboxItemData(true), null);
            laser.Add(new ToolboxItemData("laserturnhalfon", "/LuaSTGNodeLib;component/images/laserturnhalfon.png", "Turn Half On Laser")
                      , new AddNode(AddLaserTurnHalfOnNode));
            laser.Add(new ToolboxItemData("laserturnon", "/LuaSTGNodeLib;component/images/laserturnon.png", "Turn On Laser")
                      , new AddNode(AddLaserTurnOnNode));
            laser.Add(new ToolboxItemData("laserturnoff", "/LuaSTGNodeLib;component/images/laserturnoff.png", "Turn Off Laser")
                      , new AddNode(AddLaserTurnOffNode));
            laser.Add(new ToolboxItemData(true), null);
            laser.Add(new ToolboxItemData("lasergrow", "/LuaSTGNodeLib;component/images/lasergrow.png", "Grow Laser")
                      , new AddNode(AddLaserGrowNode));
            laser.Add(new ToolboxItemData("laserchangestyle", "/LuaSTGNodeLib;component/images/laserchangestyle.png", "Change Laser Style")
                      , new AddNode(AddLaserChangeStyleNode));
            #endregion
            ToolInfo.Add("Laser", laser);

            var obj = new Dictionary <ToolboxItemData, AddNode>();
            #region object
            obj.Add(new ToolboxItemData("defobject", "/LuaSTGNodeLib;component/images/objectdefine.png", "Define Object")
                    , new AddNode(AddDefineObjectNode));
            obj.Add(new ToolboxItemData("createobject", "/LuaSTGNodeLib;component/images/objectcreate.png", "Create Object")
                    , new AddNode(AddCreateObjectNode));
            obj.Add(new ToolboxItemData(true), null);
            obj.Add(new ToolboxItemData("callbackfunc", "/LuaSTGNodeLib;component/images/callbackfunc.png", "Call Back Functions")
                    , new AddNode(AddCallBackFuncNode));
            obj.Add(new ToolboxItemData("defaultaction", "/LuaSTGNodeLib;component/images/defaultaction.png", "Default Action")
                    , new AddNode(AddDefaultActionNode));
            obj.Add(new ToolboxItemData(true), null);
            obj.Add(new ToolboxItemData("setv", "/LuaSTGNodeLib;component/images/setv.png", "Set Velocity")
                    , new AddNode(AddSetVNode));
            obj.Add(new ToolboxItemData("seta", "/LuaSTGNodeLib;component/images/setaccel.png", "Set Acceleration")
                    , new AddNode(AddSetANode));
            obj.Add(new ToolboxItemData("setg", "/LuaSTGNodeLib;component/images/setgravity.png", "Set Gravity")
                    , new AddNode(AddSetGNode));
            obj.Add(new ToolboxItemData("setvlim", "/LuaSTGNodeLib;component/images/setfv.png", "Set Velocity Limit")
                    , new AddNode(AddSetVLimitNode));
            obj.Add(new ToolboxItemData("delete", "/LuaSTGNodeLib;component/images/unitdel.png", "Delete Unit")
                    , new AddNode(AddDelNode));
            obj.Add(new ToolboxItemData("kill", "/LuaSTGNodeLib;component/images/unitkill.png", "Kill Unit")
                    , new AddNode(AddKillNode));
            obj.Add(new ToolboxItemData(true), null);
            obj.Add(new ToolboxItemData("setblend", "/LuaSTGNodeLib;component/images/setcolor.png", "Set Color and Blend Mode")
                    , new AddNode(AddSetBlendNode));
            obj.Add(new ToolboxItemData(true), null);
            obj.Add(new ToolboxItemData("setbinding", "/LuaSTGNodeLib;component/images/connect.png", "Set Parent")
                    , new AddNode(AddSetBindingNode));
            obj.Add(new ToolboxItemData("setrelativepos", "/LuaSTGNodeLib;component/images/setrelpos.png", "Set Relative Position")
                    , new AddNode(AddSetRelativePositionNode));
            obj.Add(new ToolboxItemData(true), null);
            obj.Add(new ToolboxItemData("groupforeach", "/LuaSTGNodeLib;component/images/unitforeach.png", "For Each Unit in Group")
                    , new AddNode(AddGroupForEachNode));
            #endregion
            ToolInfo.Add("Object", obj);

            var graphics = new Dictionary <ToolboxItemData, AddNode>();
            #region graphics
            graphics.Add(new ToolboxItemData("loadimage", "/LuaSTGNodeLib;component/images/loadimage.png", "Load Image")
                         , new AddNode(AddLoadImageNode));
            graphics.Add(new ToolboxItemData("loadimagegroup", "/LuaSTGNodeLib;component/images/loadimagegroup.png", "Load Image Group")
                         , new AddNode(AddLoadImageGroupNode));
            #endregion
            ToolInfo.Add("Graphics", graphics);

            var audio = new Dictionary <ToolboxItemData, AddNode>();
            #region audio
            audio.Add(new ToolboxItemData("loadse", "/LuaSTGNodeLib;component/images/loadsound.png", "Load Sound Effect")
                      , new AddNode(AddLoadSENode));
            audio.Add(new ToolboxItemData("playse", "/LuaSTGNodeLib;component/images/playsound.png", "Play Sound Effect")
                      , new AddNode(AddPlaySENode));
            audio.Add(new ToolboxItemData(true), null);
            audio.Add(new ToolboxItemData("loadbgm", "/LuaSTGNodeLib;component/images/loadbgm.png", "Load Background Music")
                      , new AddNode(AddLoadBGMNode));
            audio.Add(new ToolboxItemData("playbgm", "/LuaSTGNodeLib;component/images/playbgm.png", "Play Background Music")
                      , new AddNode(AddPlayBGMNode));
            #endregion
            ToolInfo.Add("Audio", audio);

            var inherit = new Dictionary <ToolboxItemData, AddNode>();
            ToolInfo.Add("Inheritance", inherit);

            var render = new Dictionary <ToolboxItemData, AddNode>();
            #region render
            render.Add(new ToolboxItemData("onrender", "/LuaSTGNodeLib;component/images/onrender.png", "On Render")
                       , new AddNode(AddOnRenderNode));
            #endregion
            ToolInfo.Add("Render", render);

            var background = new Dictionary <ToolboxItemData, AddNode>();
            ToolInfo.Add("Background", background);

            var player = new Dictionary <ToolboxItemData, AddNode>();
            ToolInfo.Add("Player", player);
        }