Esempio n. 1
0
        public ScriptVariable(object value, string name, Var_Types type, Var_State state)
        {
            Name  = name;
            Type  = type;
            State = state;

            Value = value;

            switch (Type)
            {
            case Var_Types.BYTEBUFFER:
                if (value == null)
                {
                    Value = null;
                }
                else
                {
                    Value = new ByteBuffer((ByteBuffer)value);
                }

                break;

            default:
                Value = value;
                break;
            }
        }
Esempio n. 2
0
		public ScriptVariable()
		{
			Value = (int)0;
			Name = "NULL";
			Type = Var_Types.INT;
            State = Var_State.PUBLIC;
		}
Esempio n. 3
0
 public ScriptVariable()
 {
     Value = 0;
     Name  = "NULL";
     Type  = Var_Types.INT;
     State = Var_State.PUBLIC;
 }
Esempio n. 4
0
        private void Add_Function(string name, int line, ScriptFile filein, Var_State state)
        {
            ScriptLabel scr_lab = new ScriptLabel();

            scr_lab.Name  = name.ToUpperInvariant();
            scr_lab.Line  = line;
            scr_lab.File  = filein.Name;
            scr_lab.State = state;

            filein._functionlist.Add(scr_lab.Name, scr_lab);
        }
Esempio n. 5
0
        private void Add_Function(string name, int line, ScriptFile filein, Var_State state)
        {
            ScriptLabel scr_lab = new ScriptLabel();

            scr_lab.Name = name.ToUpperInvariant();
            scr_lab.Line = line;
            scr_lab.File = filein.Name;
            scr_lab.State = state;

            filein._functionlist.Add(scr_lab.Name, scr_lab);
        }
Esempio n. 6
0
        public ScriptVariable(object value, string name, Var_Types type, Var_State state)
        {
            Name = name;
            Type = type;
            State = state;

            Value = value;

            switch(Type)
            {
                case Var_Types.BYTEBUFFER:
                    if (value == null)
                        Value = null;
                    else
                        Value = new ByteBuffer((ByteBuffer)value);
                    break;
                default:
                    Value = value;
                    break;
            }
        }
Esempio n. 7
0
        private static void Add_Function(string name, int line, string file, Var_State state)
        {
            ScriptLabel scr_lab = new ScriptLabel();

            scr_lab.Name = name.ToUpperInvariant();
            scr_lab.Line = line;
            scr_lab.File = file;
            scr_lab.State = state;

            if (!((ScriptFile)Files[file])._functionlist.ContainsKey(scr_lab.Name))
            {
                ((ScriptFile)Files[file])._functionlist.Add(scr_lab.Name, scr_lab);
            }
            //Functionlist.Add(scr_lab);
        }
Esempio n. 8
0
        public static ScriptVariable Create_Variable(string type, string name, string value, Var_State v)
        {
            type = type.ToUpperInvariant();
            name = name.ToUpperInvariant();

            ScriptVariable new_var = new ScriptVariable();
            new_var.Name = name;
            new_var.State = v;

            switch (type)
            {
                case "NULL":
                    new_var.Type = Var_Types.NULL;
                    break;
                case "INT":
                    new_var.Type = Var_Types.INT;
                    new_var.Value = Util.GetInt64(value);
                    break;
                case "DOUBLE":
                    new_var.Type = Var_Types.DOUBLE;
                    new_var.Value = Util.GetDouble(value);
                    break;
                case "STRING":
                    new_var.Type = Var_Types.STRING;
                    new_var.Value = System.Convert.ToString(value);
                    break;
                case "FILEWRITER":
                    if (Globals.AllowFiles)
                    {
                        //need to figure out how I want to let users write to files outside of the \Scripts\Files\ folder...

                        new_var.Type = Var_Types.FILEWRITER;
                        new_var.Value = new System.IO.StreamWriter(Globals.PATH + "\\Scripts\\Files\\" + System.Convert.ToString(value), false);
                    }
                    else
                    {
                        ScriptEngine.Script_Error("script tried to create file writer without permission");
                    }
                    break;
                case "FILEWRITER_APPEND"://really good idea by toydolls
                    if (Globals.AllowFiles)
                    {
                        new_var.Type = Var_Types.FILEWRITER;
                        new_var.Value = new System.IO.StreamWriter(Globals.PATH + "\\Scripts\\Files\\" + System.Convert.ToString(value), true);
                    }
                    else
                    {
                        ScriptEngine.Script_Error("script tried to create file writer - append without permission");
                    }
                    break;
                case "FILEREADER":
                    if (Globals.AllowFiles)
                    {
                        new_var.Type = Var_Types.FILEREADER;

                        if (System.IO.File.Exists(Globals.PATH + "\\Scripts\\Files\\" + System.Convert.ToString(value)))
                        {
                            new_var.Value = new System.IO.StreamReader(Globals.PATH + "\\Scripts\\Files\\" + System.Convert.ToString(value));
                        }
                        else
                        {
                            ScriptEngine.Script_Error("file [" + value + "] does not exist for reading");
                        }
                    }
                    else
                    {
                        ScriptEngine.Script_Error("script tried to create file reader without permission");
                    }
                    break;
                case "ARRAYLIST":
                    new_var.Type = Var_Types.ARRAYLIST;
                    new_var.Value = new System.Collections.ArrayList(Util.GetInt32(value));
                    break;
                case "SORTEDLIST":
                    new_var.Type = Var_Types.SORTEDLIST;
                    new_var.Value = new System.Collections.SortedList(Util.GetInt32(value));
                    break;
                case "STACK":
                    new_var.Type = Var_Types.STACK;
                    new_var.Value = new System.Collections.Stack();
                    break;
                case "QUEUE":
                    new_var.Type = Var_Types.QUEUE;
                    new_var.Value = new System.Collections.Queue();
                    break;
                case "BYTEBUFFER":
                    new_var.Type = Var_Types.BYTEBUFFER;
                    new_var.Value = new ByteBuffer(Util.GetInt32(value));
                    break;
                case "WINDOW":
                    new_var.Type = Var_Types.WINDOW;
                    new_var.Value = new ScriptWindow();
                    switch (value.ToUpperInvariant())
                    {
                        case "NULL":
                            ((ScriptWindow)new_var.Value).Set_Type(Win_Types.NULL);
                            break;
                        case "CMD":
                            ((ScriptWindow)new_var.Value).Set_Type(Win_Types.CMD);
                            break;
                        case "GUI":
                            ((ScriptWindow)new_var.Value).Set_Type(Win_Types.GUI);
                            break;
                        case "HTML":
                            ((ScriptWindow)new_var.Value).Set_Type(Win_Types.HTML);
                            break;
                        case "GDI":
                            ((ScriptWindow)new_var.Value).Set_Type(Win_Types.GDI);
                            break;
                    }
                    break;
                case "THREAD":
                    new_var.Type = Var_Types.THREAD;
                    new_var.Value = ScriptEngine.CreateThread(value);

                    ((ScriptThread)new_var.Value).Stop();

                    Threads.Add(((ScriptThread)new_var.Value).ID, ((ScriptThread)new_var.Value));
                    break;
                default:
                    //check if it is a user defined type:
                    if (ScriptEngine.Classes.ContainsKey(type))
                    {
                        //Script_Class sc = (Script_Class)ScriptEngine.Classes[type];
                        new_var.Type = Var_Types.CLASS;
                        new_var.Value = new Script_ClassData();
                        ((Script_ClassData)new_var.Value).Init(type);
                    }
                    else
                    {
                        ScriptEngine.Script_Error("INVALID VARIABLE TYPE");
                    }
                    break;
            }

            return new_var;
        }