Exemplo n.º 1
0
        //public static List<Sprint> LoadSprints()
        //{
        //    var list = new List<Sprint>();
        //    var exePath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location);
        //    var dataPath = string.Format("{0}\\Data", exePath);

        //    var data = string.Format("{0}\\sprints.json", dataPath);
        //    var fi = new FileInfo(data);

        //    using (var stream = fi.OpenText())
        //    {
        //        var json = stream.ReadToEnd();
        //        var rr = JsonConvert.DeserializeObject<Sprints>(json).List;
        //        list = rr;
        //    }

        //    return list;

        //}

        public static bool Load(ref ObservableCollection <UISprint> sprints, IEventAggregator evAgg, MainViewModel viewModel, DatabaseSchemaViewModel dataViewModel)
        {
            Logger.Logger.Log.Info("Loading sprints...");

            var ret = false;

            //var exePath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location);
            //var dataPath = string.Format("{0}\\Data", exePath);

            var data = FoldersHelper.DataPath; // string.Format("{0}\\sprints.json", dataPath);
            var di   = new DirectoryInfo(FoldersHelper.DataFolder);

            if (!di.Exists)
            {
                di.Create();
            }

            var fi = new FileInfo(data);

            try
            {
                using (var stream = fi.OpenText())
                {
                    var json = stream.ReadToEnd();
                    var rr   = JsonConvert.DeserializeObject <Sprints>(json);

                    foreach (var s in rr.List)
                    {
                        var nodeRoot = new NodeRoot(evAgg, viewModel);
                        var sprint   = new UISprint(evAgg, sprints, nodeRoot, viewModel, dataViewModel)
                        {
                            Guid = s.Guid, Number = s.Number, Name = s.Name, Version = s.Version
                        };
                        sprint.DbSchemaTables = DbSchemaHelper.ConvertDbSchemaTables(s.DbSchemaTables);
                        sprints.Add(sprint);

                        var result = new ObservableCollection <NodeExcel>();
                        nodeRoot.Nodes = result;
                        if (s.Excels == null)
                        {
                            continue;
                        }
                        foreach (var r in s.Excels)
                        {
                            var ne = new NodeExcel(evAgg, nodeRoot, viewModel)
                            {
                                Name = r.Name, Description = r.Description
                            };
                            result.Add(ne);
                            ne.Nodes = new ObservableCollection <NodeTab>();
                            if (r.Nodes == null)
                            {
                                continue;
                            }
                            foreach (var t in r.Nodes)
                            {
                                var nt = new NodeTab(evAgg, ne, viewModel)
                                {
                                    Name = t.Name, Description = t.Description
                                };
                                ne.Nodes.Add(nt);
                                nt.Nodes = new ObservableCollection <NodeDbTable>();
                                if (t.Nodes == null)
                                {
                                    continue;
                                }
                                foreach (var table in t.Nodes)
                                {
                                    var ntable = new NodeDbTable(evAgg, nt, viewModel)
                                    {
                                        Name = table.Name, Description = table.Description
                                    };
                                    nt.Nodes.Add(ntable);
                                    ntable.Nodes = new ObservableCollection <NodeDbColumn>();
                                    if (table.Nodes == null)
                                    {
                                        continue;
                                    }
                                    foreach (var c in table.Nodes)
                                    {
                                        var nc = new NodeDbColumn(evAgg, ntable, viewModel)
                                        {
                                            Name = c.Name, Description = c.Description
                                        };
                                        ntable.Nodes.Add(nc);
                                    }
                                }
                            }
                        }
                    }
                }
                ret = true;
                Logger.Logger.Log.Info("Loading sprints -> SUCCESS!");
                return(ret);
            }
            catch (Exception ex)
            {
                Logger.Logger.Log.Error("Error loading sprints...", ex);
                ret = false;

                Logger.Logger.Log.Info("Creating sprints ...");

                try
                {
                    using (var s = fi.CreateText())
                    {
                        var sss = "{ \"List\": [ { \"Number\": 0, \"Name\": \"Sprint 0\", \"Version\": \"0.0.0.0\" } ] }";
                        s.Write(sss);
                    }

                    Logger.Logger.Log.Info("Creating sprints -> SUCCESS!");
                    // again ->
                    return(Load(ref sprints, evAgg, viewModel, dataViewModel));
                }
                catch (Exception ex2)
                {
                    Logger.Logger.Log.Error("Error creating sprints data file...", ex2);
                }

                return(ret);
            }
        }
Exemplo n.º 2
0
        private void DoImport()
        {
            var exePath  = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location);
            var dataPath = string.Format("{0}\\Data", exePath);

            var data  = string.Format("{0}\\data.json", dataPath);
            var guide = string.Format("{0}\\guide.txt", dataPath);

            var fi = new FileInfo(guide);

            if (fi.Exists)
            {
                using (var stream = fi.OpenText())
                {
                    var text = stream.ReadToEnd();
                    stream.Close();

                    var lines = text.Split('\n');

                    var nodeRoot = new NodeRoot(eventAgg, this)
                    {
                        Name        = "ROOT",
                        Description = "just help instance..."
                    };
                    NodesExcel = new ObservableCollection <IFulltext>();
                    var masterDataNode = new NodeExcel(eventAgg, nodeRoot, this)
                    {
                        Name = "MasterData"
                    };
                    nodeRoot.Nodes = new ObservableCollection <IFulltext>();
                    nodeRoot.Nodes.Add(masterDataNode);
                    masterDataNode.Nodes = new ObservableCollection <IFulltext>();
                    NodesExcel.Add(masterDataNode);

                    NodeTab tab = null;

                    NodeDbTable dbTable = null;

                    foreach (var l in lines)
                    {
                        if (string.IsNullOrEmpty(l) || string.IsNullOrWhiteSpace(l))
                        {
                            continue;
                        }


                        if (l[0] == '#')
                        {
                            // starting... ->
                            tab = new NodeTab(eventAgg, masterDataNode, this)
                            {
                                Name = l.Substring(1, l.IndexOf('-') - 2), Description = l.Substring(l.IndexOf('-') + 2)
                            };
                            dbTable = new NodeDbTable(eventAgg, tab, this)
                            {
                                Name = l.Substring(1, l.IndexOf('-') - 2).Replace(" ", "")
                            };
                            tab.Nodes = new ObservableCollection <IFulltext>
                            {
                                dbTable
                            };
                            NodesExcel[0].Nodes.Add(tab);
                        }
                        else
                        {
                            var column = new NodeDbColumn(eventAgg, dbTable, this)
                            {
                                Name = (l.Substring(0, l.IndexOf('-') - 1)), Description = l.Substring(l.IndexOf('-') + 2)
                            };
                            if (tab.Nodes[0].Nodes == null)
                            {
                                tab.Nodes[0].Nodes = new ObservableCollection <IFulltext>();
                            }

                            tab.Nodes[0].Nodes.Add(column);
                        }
                    }
                }
            }
        }
Exemplo n.º 3
0
        private void InitNodeShortcutBar()
        {
            _nodeTabs = new List <NodeTab>();
            // general
            NodeTab tab = new NodeTab()
            {
                type     = eNodeShortcutTab.General,
                tabName  = "General",
                typeList = new List <NodeType>[]
                {
                    new List <NodeType> {
                        NodeType.Folder, NodeType.CodeBlock, NodeType.If, NodeType.DefVar, NodeType.Repeat, NodeType.Code, NodeType.Comment
                    },
                },
            };

            _nodeTabs.Add(tab);
            // stage
            tab = new NodeTab()
            {
                type     = eNodeShortcutTab.Stage,
                tabName  = "Stage",
                typeList = new List <NodeType>[]
                {
                    new List <NodeType> {
                        NodeType.StageGroup, NodeType.Stage
                    },
                    new List <NodeType> {
                        NodeType.StartDialog, NodeType.DialogWait, NodeType.CreateDialogCG, NodeType.HighlightDialogCG, NodeType.FadeoutDialogCG, NodeType.CreateSentence
                    },
                },
            };
            _nodeTabs.Add(tab);
            // task
            tab = new NodeTab()
            {
                type     = eNodeShortcutTab.Task,
                tabName  = "Task",
                typeList = new List <NodeType>[]
                {
                    new List <NodeType> {
                        NodeType.AddTask, NodeType.TaskWait
                    },
                },
            };
            _nodeTabs.Add(tab);
            // Enemy
            tab = new NodeTab()
            {
                type     = eNodeShortcutTab.Enemy,
                tabName  = "Enemy",
                typeList = new List <NodeType>[]
                {
                    new List <NodeType> {
                        NodeType.DefineEnemy, NodeType.CreateCustomizedEnemy, NodeType.CreateSimpleEnemy
                    },
                    new List <NodeType> {
                        NodeType.SetDropItems, NodeType.SetInvincible
                    },
                },
            };
            _nodeTabs.Add(tab);
            // Boss
            tab = new NodeTab()
            {
                type     = eNodeShortcutTab.Boss,
                tabName  = "Boss",
                typeList = new List <NodeType>[]
                {
                    new List <NodeType> {
                        NodeType.DefineBoss, NodeType.CreateBoss
                    },
                    new List <NodeType> {
                        NodeType.BossSetWanderProps, NodeType.BossWander
                    },
                    new List <NodeType> {
                        NodeType.ShowBossBloodBar, NodeType.ShowBossPosHint, NodeType.ShowBossAura, NodeType.ShowBossSpellCardHpAura
                    },
                    new List <NodeType> {
                        NodeType.DefineSpellCard, NodeType.StartSpellCard, NodeType.SetBossPhaseData
                    },
                },
            };
            _nodeTabs.Add(tab);
            // Bullet
            tab = new NodeTab()
            {
                type     = eNodeShortcutTab.Bullet,
                tabName  = "Bullet",
                typeList = new List <NodeType>[]
                {
                    new List <NodeType> {
                        NodeType.DefineBullet, NodeType.CreateCustomizedBullet, NodeType.CreateSimpleBullet
                    },
                    new List <NodeType> {
                        NodeType.SetBulletStyle, NodeType.ChangeBulletProperty
                    },
                },
            };
            _nodeTabs.Add(tab);
            // Laser
            tab = new NodeTab()
            {
                type     = eNodeShortcutTab.Laser,
                tabName  = "Laser",
                typeList = new List <NodeType>[]
                {
                    new List <NodeType> {
                        NodeType.DefineLaser, NodeType.CreateCustomizedLaser, NodeType.LaserTurnHalfOn, NodeType.LaserTurnOn, NodeType.LaserTurnOff, NodeType.LaserChangeLengthTo
                    },
                    new List <NodeType> {
                        NodeType.SetBulletStyle, NodeType.ChangeBulletProperty
                    },
                },
            };
            _nodeTabs.Add(tab);
            // LaserEx
            tab = new NodeTab()
            {
                type     = eNodeShortcutTab.LaserEx,
                tabName  = "LaserEx",
                typeList = new List <NodeType>[]
                {
                    new List <NodeType> {
                        NodeType.DefineLinearLaser, NodeType.CreateCustomizedLinearLaser
                    },
                    new List <NodeType> {
                        NodeType.DefineCurveLaser, NodeType.CreateCustomizedCurveLaser
                    },
                },
            };
            _nodeTabs.Add(tab);
            // Tools
            tab = new NodeTab()
            {
                type     = eNodeShortcutTab.Tools,
                tabName  = "Tools",
                typeList = new List <NodeType>[]
                {
                    new List <NodeType> {
                        NodeType.DefineCollider, NodeType.CreateCustomizedCollider, NodeType.CreateSimpleCollider
                    },
                    new List <NodeType> {
                        NodeType.ColliderTrigger, NodeType.Rebound
                    },
                    new List <NodeType> {
                        NodeType.DropItems
                    },
                },
            };
            _nodeTabs.Add(tab);
            // Object
            tab = new NodeTab()
            {
                type     = eNodeShortcutTab.Object,
                tabName  = "Object",
                typeList = new List <NodeType>[]
                {
                    new List <NodeType> {
                        NodeType.DefineSTGObject, NodeType.DefineSpecialSTGObject
                    },
                    new List <NodeType> {
                        NodeType.CreateCusomizedSTGObject, NodeType.SetSpriteForSTGObject, NodeType.STGObjectSetColor, NodeType.STGObjectChangeAlphaTo
                    },
                },
            };
            _nodeTabs.Add(tab);
            // Unit
            tab = new NodeTab()
            {
                type     = eNodeShortcutTab.Unit,
                tabName  = "Unit",
                typeList = new List <NodeType>[]
                {
                    new List <NodeType> {
                        NodeType.UnitEventTrigger
                    },
                    new List <NodeType> {
                        NodeType.UnitSetV, NodeType.UnitSetAcce, NodeType.UnitMoveTo, NodeType.UnitMoveTowards
                    },
                    new List <NodeType> {
                        NodeType.UnitSetStraightParas, NodeType.UnitSetPolarParas
                    },
                    new List <NodeType> {
                        NodeType.UnitSetResistEliminatedTypes
                    },
                    new List <NodeType> {
                        NodeType.UnitAttachTo, NodeType.UnitSetRelativePos
                    },
                    new List <NodeType> {
                        NodeType.KillUnit, NodeType.DelUnit
                    },
                    new List <NodeType> {
                        NodeType.PlayAni
                    },
                },
            };
            _nodeTabs.Add(tab);
            // Audio
            tab = new NodeTab()
            {
                type     = eNodeShortcutTab.Audio,
                tabName  = "Audio",
                typeList = new List <NodeType>[]
                {
                    new List <NodeType> {
                        NodeType.LoadSound
                    },
                    new List <NodeType> {
                        NodeType.PlaySound, NodeType.StopSound, NodeType.PauseSound, NodeType.ResumeSound
                    },
                },
            };
            _nodeTabs.Add(tab);
            // Effect
            tab = new NodeTab()
            {
                type     = eNodeShortcutTab.Effect,
                tabName  = "Effect",
                typeList = new List <NodeType>[]
                {
                    new List <NodeType> {
                        NodeType.CreateChargeEffect, NodeType.CreateBurstEffect, NodeType.ShakeScreen, NodeType.StopShakeScreen
                    },
                },
            };
            _nodeTabs.Add(tab);
            // 初始化节点快捷按钮的标签
            RectTransform barTf = _viewTf.Find("NodeShortcutBar").GetComponent <RectTransform>();

            _nodeShortcutsContainerTf = barTf.Find("NodeShortcuts").GetComponent <RectTransform>();
            _nodeShortcutList         = new List <GameObject>();
            int i = 0;

            for (i = 0; i < _nodeTabs.Count; i++)
            {
                tab       = _nodeTabs[i];
                tab.tabGo = barTf.Find(tab.tabName).gameObject;
                eNodeShortcutTab tabType = tab.type;
                UIEventListener.Get(tab.tabGo).AddClick(() => {
                    AddShortcutsByTab(tabType);
                });
            }
            // 默认选中general
            tab = _nodeTabs[0];
            tab.tabGo.GetComponent <Toggle>().isOn = true;
            AddShortcutsByTab(eNodeShortcutTab.General);
        }