Ejemplo n.º 1
0
        void AddImageFile(string path)
        {
            string       variable;
            ListViewItem item;

            if (files.TryGetValue(path, out item))
            {
                PathVariable tag = (PathVariable)item.Tag;
                variable = tag.Variable;
            }
            else
            {
                item = new ListViewItem(Path.GetFileName(path));
                listViewImages.Items.Add(item);
                listViewImages.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);

                files.Add(path, item);

                if (freeVariables.Count > 0)
                {
                    variable = freeVariables[0];
                    freeVariables.RemoveAt(0);
                }
                else
                {
                    variable = Gui.Scripting.GetNextVariable("image");
                }
            }

            Gui.Scripting.RunScript(variable + " = ImportTexture(path=\"" + path + "\")");
            item.Tag = new PathVariable()
            {
                Path = path, Variable = variable
            };
        }
Ejemplo n.º 2
0
        public Response GetBattleHistory(PathVariable <int> path, AuthDetails?user)
        {
            if (user is null)
            {
                return(Response.Status(Status.BadRequest));
            }
            var userSchema = db.GetUser(user.Username);

            if (userSchema is null)
            {
                return(Response.Status(Status.BadRequest));
            }
            if (userSchema.Role != Role.Admin)
            {
                return(Response.Status(Status.Forbidden));
            }
            var battles    = db.GetBattleHistory(path.Value);
            var response   = new Dictionary <string, object>();
            var battleList = new List <Dictionary <string, object> >();

            foreach (var battle in battles)
            {
                if (battle.IsDraw)
                {
                    battleList.Add(new Dictionary <string, object>()
                    {
                        { "Id", battle.Id }, { "PlayerA", battle.PlayerA }, { "PlayerB", battle.PlayerB },
                        { "Draw", battle.IsDraw }
                    });
                }
                else
                {
                    battleList.Add(new Dictionary <string, object>()
                    {
                        { "Id", battle.Id }, { "PlayerA", battle.PlayerA }, { "PlayerB", battle.PlayerB },
Ejemplo n.º 3
0
        public ActionResult MadLibs(string path)
        {
            PathVariable newPath = new PathVariable();

            newPath.PathSetter = "/" + path;
            return(View(newPath));
        }
Ejemplo n.º 4
0
 private void LoadDLL()
 {
     if (PathVariable.Substring(PathVariable.Length - 4) == ".dll")
     {
         TreeViewLoaded();
     }
 }
Ejemplo n.º 5
0
        /// <summary>
        /// 参数转换为动态类型
        /// </summary>
        /// <param name="arguments"></param>
        /// <returns></returns>
        private dynamic ArgumentsConvert(ProxyMethodParameter proxyMethodParameter)
        {
            // 动态参数
            dynamic dynamicParams = new Dictionary <string, object>();

            // 多个参数情况包装成字典
            IDictionary <string, object> paramPairs = new Dictionary <string, object>();

            foreach (var parameterInfo in proxyMethodParameter.parameterInfos)
            {
                object parameterValue = proxyMethodParameter.Arguments[parameterInfo.Position];
                Type   parameterType  = parameterInfo.ParameterType;

                // 1、是否一个参数
                if (proxyMethodParameter.Arguments.Length == 1)
                {
                    // 1.1 如果是值类型
                    if (parameterType.IsValueType)
                    {
                        PathVariable pathVariable = parameterInfo.GetCustomAttribute <PathVariable>();
                        if (pathVariable != null)
                        {
                            // 1.1.2 设置路径变量名称
                            paramPairs.Add(pathVariable.Name, proxyMethodParameter.Arguments[parameterInfo.Position]);
                        }
                        else
                        {
                            paramPairs.Add(parameterInfo.Name, proxyMethodParameter.Arguments[parameterInfo.Position]);
                        }

                        // 1.1.3 设置为动态返回
                        dynamicParams = paramPairs;
                    }
                    else
                    {
                        // 1.2 如果是引用类型,直接动态返回
                        dynamicParams = parameterValue;
                    }
                }
                else
                {
                    // 2、判断是否有两个两个以上(全部用字典组装起来)
                    PathVariable pathVariable = parameterInfo.GetCustomAttribute <PathVariable>();
                    if (pathVariable != null)
                    {
                        // 2.1 设置路径变量名称
                        paramPairs.Add(pathVariable.Name, proxyMethodParameter.Arguments[parameterInfo.Position]);
                    }
                    else
                    {
                        paramPairs.Add(parameterInfo.Name, proxyMethodParameter.Arguments[parameterInfo.Position]);
                    }
                    // 1.1.3 设置为动态返回
                    dynamicParams = paramPairs;
                }
            }

            return(dynamicParams);
        }
Ejemplo n.º 6
0
        private void TreeViewLoaded()
        {
            TreeViewItem rootItem = new TreeViewItem {
                Name = PathVariable.Substring(PathVariable.LastIndexOf('\\') + 1)
            };

            HierarchicalAreas.Add(rootItem);
        }
Ejemplo n.º 7
0
 public void LoadDLL()
 {
     if (PathVariable.Substring(PathVariable.Length - 4) == ".dll")
     {
         reflector.Reflect(PathVariable);
         treeViewAssembly = new TreeViewAssembly(reflector.AssemblyModel);
         TreeViewLoaded();
     }
 }
Ejemplo n.º 8
0
 public Response GetRouteImage(PathVariable <int> id)
 {
     if (id.Ok)
     {
         var(imagePath, _) = tp.GetRouteImage(id.Value !);
         if (imagePath is { } path)
         {
             var response = Response.File(path);
             if (response is { })
Ejemplo n.º 9
0
        protected override void EndProcessing()
        {
            if (this.Value == null)
            {
                this.Value = new string[0];
            }

            using (PathVariable variable = new PathVariable(this.Name, this.Target))
            {
                variable.Set(this.Value);
            }
        }
Ejemplo n.º 10
0
        public override WTableReference ToTableReference()
        {
            List <WScalarExpression> parameters  = new List <WScalarExpression>();
            List <WSelectQueryBlock> queryBlocks = new List <WSelectQueryBlock>();

            //Must toSelectQueryBlock before toCompose1 of variableList in order to populate needed columns
            foreach (var byContext in ByContexts)
            {
                queryBlocks.Add(byContext.ToSelectQueryBlock(true));
            }

            parameters.Add(InputVariable.GetDefaultProjection().ToScalarExpression());
            parameters.Add(PathVariable.GetDefaultProjection().ToScalarExpression());
            switch (Pop)
            {
            case GremlinKeyword.Pop.All:
                parameters.Add(SqlUtil.GetValueExpr("All"));
                break;

            case GremlinKeyword.Pop.First:
                parameters.Add(SqlUtil.GetValueExpr("First"));
                break;

            case GremlinKeyword.Pop.Last:
                parameters.Add(SqlUtil.GetValueExpr("Last"));
                break;
            }

            foreach (var selectKey in SelectKeys)
            {
                parameters.Add(SqlUtil.GetValueExpr(selectKey));
            }

            foreach (var block in queryBlocks)
            {
                parameters.Add(SqlUtil.GetScalarSubquery(block));
            }

            if (SelectKeys.Count == 1)
            {
                foreach (var projectProperty in ProjectedProperties)
                {
                    parameters.Add(SqlUtil.GetValueExpr(projectProperty));
                }
            }

            var tableRef = SqlUtil.GetFunctionTableReference(
                SelectKeys.Count == 1 ? GremlinKeyword.func.SelectOne: GremlinKeyword.func.Select,
                parameters, GetVariableName());

            return(SqlUtil.GetCrossApplyTableReference(tableRef));
        }
Ejemplo n.º 11
0
 protected override void EndProcessing()
 {
     using (PathVariable variable = new PathVariable(this.Name, this.Target))
     {
         if (this.Prepend)
         {
             variable.Prepend(this.Value);
         }
         else
         {
             variable.Append(this.Value);
         }
     }
 }
Ejemplo n.º 12
0
 public Response AddOrPerformTrade(
     PathVariable <string> path, AuthDetails?user, Dictionary <string, object>?payload
     )
 {
     if (user is null || payload is null)
     {
         return(Response.Status(Status.BadRequest));
     }
     if (path.Ok && path.Value != null)
     {
         return(PerformTrade(path.Value, user, payload));
     }
     return(AddTrade(user, payload));
 }
Ejemplo n.º 13
0
 void CustomDispose()
 {
     try
     {
         foreach (var item in files.Values)
         {
             PathVariable tag = (PathVariable)item.Tag;
             Gui.Scripting.Variables.Remove(tag.Variable);
         }
         Gui.Scripting.Variables.Remove(Gui.ImageControl.ImageScriptVariable);
     }
     catch (Exception ex)
     {
         Utility.ReportException(ex);
     }
 }
Ejemplo n.º 14
0
        private void reopenToolStripMenuItem_Click(object sender, EventArgs e)
        {
            ListViewItem lastSelected = null;

            foreach (ListViewItem item in listViewImages.SelectedItems)
            {
                PathVariable tag = (PathVariable)item.Tag;
                AddImageFile(tag.Path);
                lastSelected = item;
            }
            if (lastSelected != null)
            {
                lastSelected.Selected = false;
                lastSelected.Selected = true;
            }
        }
Ejemplo n.º 15
0
 public bool LoadDLL()
 {
     Logger.Log("Loading DLL.");
     HierarchicalAreas.Clear();
     if (PathVariable.Length > 4 && (PathVariable.Substring(PathVariable.Length - 4) == ".dll" || PathVariable.Substring(PathVariable.Length - 4) == ".exe"))
     {
         Reflector = new Reflector(PathVariable);
         TreeViewLoaded();
         Logger.Log("File loaded to treeview.");
         return(true);
     }
     else
     {
         Logger.Log("File failed when loading from path");
         return(false);
     }
 }
Ejemplo n.º 16
0
        private PscxContext()
        {
            this.Preferences = new Hashtable(StringComparer.OrdinalIgnoreCase);
            this.Session     = new Hashtable(StringComparer.OrdinalIgnoreCase);
            this.Home        = Path.GetDirectoryName(GetType().Assembly.Location);
            this.AppsDir     = Path.Combine(this.Home, "Apps");

            using (var variable = new PathVariable("Path", EnvironmentVariableTarget.Process))
            {
                variable.Append(this.AppsDir);
            }

            this.Is64BitProcess = (IntPtr.Size == 8);
            this.IsWow64Process = GetIsWow64Process() ?? false;

            InitializePscxPreferences();
        }
Ejemplo n.º 17
0
 private void listViewImages_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
 {
     try
     {
         if (e.IsSelected)
         {
             PathVariable tag      = (PathVariable)e.Item.Tag;
             string       variable = tag.Variable;
             Gui.ImageControl.Image = (ImportedTexture)Gui.Scripting.Variables[variable];
             Gui.Scripting.RunScript(Gui.ImageControl.ImageScriptVariable + " = " + variable);
         }
     }
     catch (Exception ex)
     {
         Utility.ReportException(ex);
     }
 }
Ejemplo n.º 18
0
        internal override List <GremlinVariable> FetchAllVars()
        {
            List <GremlinVariable> variableList = new List <GremlinVariable>()
            {
                this
            };

            variableList.AddRange(PathVariable.FetchAllVars());
            foreach (var sideEffectVariable in SideEffectVariables)
            {
                variableList.AddRange(sideEffectVariable.FetchAllVars());
            }
            foreach (var context in ByContexts)
            {
                variableList.AddRange(context.FetchAllVars());
            }
            return(variableList);
        }
Ejemplo n.º 19
0
 private void closeToolStripMenuItem_Click(object sender, EventArgs e)
 {
     try
     {
         while (listViewImages.SelectedItems.Count > 0)
         {
             ListViewItem item = listViewImages.SelectedItems[0];
             PathVariable tag  = (PathVariable)item.Tag;
             files.Remove(tag.Path);
             freeVariables.Add(tag.Variable);
             item.Remove();
         }
     }
     catch (Exception ex)
     {
         Utility.ReportException(ex);
     }
 }
Ejemplo n.º 20
0
 void FormImageFiles_FormClosing(object sender, FormClosingEventArgs e)
 {
     try
     {
         foreach (ListViewItem item in listViewImages.Items)
         {
             PathVariable tag = (PathVariable)item.Tag;
             if (Gui.Scripting.Variables[tag.Variable] == Gui.ImageControl.Image)
             {
                 Gui.ImageControl.Image = null;
                 break;
             }
         }
         Singleton = null;
     }
     catch (Exception ex)
     {
         Utility.ReportException(ex);
     }
 }
Ejemplo n.º 21
0
 private void LoadDLL()
 {
     try {
         tracer.GetImport().Log(TraceLevel.Info, "load button clicked");
         if (PathVariable.Substring(PathVariable.Length - 4) == ".dll")
         {
             tracer.GetImport().Log(TraceLevel.Info, "selected DLL file");
             assemblyMetadataView = new AssemblyMetadataView(PathVariable);
             TreeViewLoaded();
         }
         else if (PathVariable.Substring(PathVariable.Length - 4) == ".xml")
         {
             tracer.GetImport().Log(TraceLevel.Info, "selected XML file");
             AssemblyBase baseAssembly = serializer.GetImport().Deserialize(PathVariable);
             assemblyMetadataView = new AssemblyMetadataView(baseAssembly);
             TreeViewLoaded();
         }
     }
     catch (System.SystemException e)
     {
         tracer.GetImport().Log(TraceLevel.Error, "tried to load without selecting a file");
     }
 }
Ejemplo n.º 22
0
        internal override void Populate(string property)
        {
            InputVariable.Populate(property);
            PathVariable.Populate(property);
            foreach (var sideEffectVariable in SideEffectVariables)
            {
                sideEffectVariable.Populate(property);
            }
            foreach (var context in ByContexts)
            {
                context.Populate(property);
            }

            if (SelectKeys.Count() > 1 && property != GremlinKeyword.TableDefaultColumnName)
            {
                //block the select multi label to populate column
                return;
            }
            else
            {
                base.Populate(property);
            }
        }
 private void LoadDLL()
 {
     if (PathVariable != null && PathVariable.Substring(PathVariable.Length - 4) == ".dll")
     {
         LogTask("Path loaded", LevelEnum.Success);
         try
         {
             LogTask("Starting reflection...", LevelEnum.Information);
             assemblyMetadata = new AssemblyMetadata(Assembly.LoadFrom(PathVariable));
             assemblyTi       = new AssemblyTI(assemblyMetadata);
             LogTask("Reflection success!", LevelEnum.Success);
         }
         catch (Exception e)
         {
             LogTask("Reflection failed with exception: " + e.Message, LevelEnum.Error);
         }
         TreeViewLoaded();
     }
     else
     {
         LogTask("Path incorrect!", LevelEnum.Warning);
     }
 }
Ejemplo n.º 24
0
 public void AddRequestParam(PathVariable param)
 {
     mRequestParamDetails.Add(param);
 }