Exemple #1
0
        public static Event load_Event(Save_tag path)
        {
            Event    e = null;
            Save_tag a = path.copy();

            a.add_tag("ID");
            long     ID = load_long(a);
            Save_tag b  = path.copy();

            b.add_tag("text");
            string   text = load_string(b);
            Save_tag c    = path.copy();

            c.add_tag("params");
            List <float> ps = load_list_of_floats(c);

            if (ID == 1)
            {
                e = new Block_broken((int)(ps[0]), (int)(ps[1]), (int)(ps[2]), (int)(ps[3]));
            }
            else if (ID == 2)
            {
                e = new Player_entered_fraction_base((int)(ps[0]));
            }
            else if (ID == 3)
            {
                e = new Players_inventory_changed((long)(ps[0]), ps[1]);
            }
            return(e);
        }
Exemple #2
0
        public static void save_Trader(Save_tag path, Trader t)
        {
            Save_tag a = path.copy();

            a.add_tag("Inventory");
            save_Inventory(a, t);
            Save_tag b = path.copy();

            b.add_tag("inf_res");
            save_bool(b, t.infinity_resources);
            Save_tag c = path.copy();

            c.add_tag("change_rel");
            save_bool(c, t.change_relations);
            Save_tag d = path.copy();

            d.add_tag("fraction");
            save_int(d, t.fraction);
            Save_tag e = path.copy();

            e.add_tag("change");
            save_double(e, t.changing_per_purchase);
            Save_tag f = path.copy();

            f.add_tag("ex_patterns");
            save_list_of_Exchange_Patterns(f, t.patterns);
        }
Exemple #3
0
        public static void save_Event(Save_tag path, Event e)
        {
            Save_tag a = path.copy();

            a.add_tag("ID");
            save_long(a, e.get_ID());
            List <float> parameters = new List <float>();
            Save_tag     c          = path.copy();

            c.add_tag("text");
            save_string(c, e.get_info());
            Save_tag b = path.copy();

            b.add_tag("params");
            if (e.get_ID() == 1)
            {
                Block_broken bb = (Block_broken)e;
                parameters.Add(bb.ID_broken);
                parameters.Add(bb.x);
                parameters.Add(bb.y);
                parameters.Add(bb.location);
            }
            else if (e.get_ID() == 2)
            {
                Player_entered_fraction_base pefb = (Player_entered_fraction_base)e;
                parameters.Add(pefb.fraction);
            }
            else if (e.get_ID() == 3)
            {
                Players_inventory_changed pic = (Players_inventory_changed)e;
                parameters.Add(pic.item_ID);
                parameters.Add(pic.count);
            }
            save_list_of_floats(b, parameters);
        }
Exemple #4
0
        public static Trader load_Trader(Save_tag path)
        {
            Save_tag a = path.copy();

            a.add_tag("Inventory");
            Inventory a1 = load_Inventory(a);
            Save_tag  b  = path.copy();

            b.add_tag("inf_res");
            bool     b1 = load_bool(b);
            Save_tag c  = path.copy();

            c.add_tag("change_rel");
            bool     c1 = load_bool(c);
            Save_tag d  = path.copy();

            d.add_tag("fraction");
            int      d1 = load_int(d);
            Save_tag e  = path.copy();

            e.add_tag("change");
            float    e1 = (float)load_double(e);
            Save_tag f  = path.copy();

            f.add_tag("ex_patterns");
            List <Exchange_Pattern> f1 = load_list_of_Exchange_Patterns(f);
            Trader tr = new Trader(a1, f1, b1, c1, d1, e1);

            return(tr);
        }
Exemple #5
0
        public static Exchange_Pattern load_Exchange_Pattern(Save_tag path)
        {
            List <float>     n = load_list_of_floats(path);
            Exchange_Pattern e = new Exchange_Pattern((long)n[0], (long)n[2], n[1], n[3]);

            return(e);
        }
Exemple #6
0
        public static Console_message load_Console_message(Save_tag path)
        {
            List <string>   strs = load_list_of_strings(path);
            Console_message cm   = new Console_message(strs[0], strs[1], strs[2]);

            return(cm);
        }
Exemple #7
0
        public string read_save(Save_tag t)
        {
            string s = "";
            List <Save_message> tmp = cache;

            for (int i = 0; i < (t.tags_count() - 1); i++)
            {
                int k = index_of_this_tag(t.get_tag(i), tmp);
                if (k != -1)
                {
                    tmp = string_to_save_message_list(tmp[k].get_text());
                }
                else
                {
                    tmp = new List <Save_message>();
                    break;
                }
            }
            int r = index_of_this_tag(t.get_tag(t.tags_count() - 1), tmp);

            if (r != -1)
            {
                s = tmp[r].get_text();
            }
            return(s);
        }
Exemple #8
0
        public static void save_ints_matrix(Save_tag path, int[,] matrix)
        {
            string k  = "";
            int    ee = matrix.GetUpperBound(0) + 1;

            for (int i = 0; i < ee; i++)
            {
                for (int j = 0; j < matrix.Length / ee; j++)
                {
                    k += matrix[i, j] + "";
                    if (j != (matrix.Length / ee - 1))
                    {
                        k += "%";
                    }
                }
                if (i != ee - 1)
                {
                    k += "W";
                }
            }
            try
            {
                fw.save_string(fw.cache, path, k);
            }
            catch (Exception e)
            {
                System.Console.WriteLine("error");
            }
        }
Exemple #9
0
        public void save_string(List <Save_message> mes, Save_tag tag, string s)
        {
            string simple_tag = tag.get_tag(0);
            int    k          = index_of_this_tag(simple_tag, mes);

            if (k == -1)
            {
                k = mes.Count;
                mes.Add(new Save_message(simple_tag, ""));
            }
            if (tag.tags_count() == 1)
            {
                mes[k].set_text(s);
            }
            else
            {
                Save_tag new_tag = new Save_tag(tag.get_tag(1));
                for (int i = 2; i < tag.tags_count(); i++)
                {
                    new_tag.add_tag(tag.get_tag(i));
                }
                List <Save_message> tmp = string_to_save_message_list(mes[k].get_text());
                save_string(tmp, new_tag, s);
                string d = "";
                for (int i = 0; i < tmp.Count; i++)
                {
                    d += tmp[i].full_text();
                }
                mes[k].set_text(d);
            }
        }
Exemple #10
0
        public static void save_Condition(Save_tag path, Condition c)
        {
            Save_tag a = path.copy();

            a.add_tag("ID");
            save_long(a, c.get_ID());
            List <float> parameters = new List <float>();
            Save_tag     e          = path.copy();

            e.add_tag("text");
            save_string(e, c.get_info());
            Save_tag b = path.copy();

            b.add_tag("params");
            if (c.get_ID() == 1)
            {
                parameters.Add(0.0f);
            }
            else if (c.get_ID() == 2)
            {
                Cumulative_condition cc = (Cumulative_condition)c;
                parameters.Add(cc.get_counter());
                parameters.Add(cc.max_count);
            }
            else if (c.get_ID() == 3)
            {
                Player_have_in_inventory phii = (Player_have_in_inventory)c;
                parameters.Add(phii.item_ID);
                parameters.Add(phii.count);
            }
            save_list_of_floats(b, parameters);
        }
Exemple #11
0
        public static Condition load_Condition(Save_tag path)
        {
            Condition e = null;
            Save_tag  a = path.copy();

            a.add_tag("ID");
            long     ID = load_long(a);
            Save_tag b  = path.copy();

            b.add_tag("text");
            string   text = load_string(b);
            Save_tag c    = path.copy();

            c.add_tag("params");
            List <float> ps = load_list_of_floats(c);

            if (ID == 1)
            {
                e = new Empty_Condition();
            }
            else if (ID == 2)
            {
                e = new Cumulative_condition((int)ps[1], (int)ps[0]);
            }
            else if (ID == 3)
            {
                e = new Player_have_in_inventory((long)ps[0], ps[1]);
            }
            return(e);
        }
Exemple #12
0
        public static void save_Conditions_mask(Save_tag path, Conditions_mask c)
        {
            Save_tag a = path.copy();

            a.add_tag("simple_mask");
            save_bool(a, c.true_for_AND_mask_false_for_OR_mask);
        }
Exemple #13
0
        public static long load_long(Save_tag path)
        {
            long n = Int32.MinValue;

            try { n = Int64.Parse(fw.read_save(path)); }
            catch (Exception e) {}
            return(n);
        }
Exemple #14
0
        public static double load_double(Save_tag path)
        {
            double n = Int32.MinValue;

            try { n = Double.Parse(fw.read_save(path)); }
            catch (Exception e) {}
            return(n);
        }
Exemple #15
0
        public static string load_string(Save_tag path)
        {
            string k = "ERROR!!!";

            try { k = fw.read_save(path); }
            catch (Exception e) {}
            return(k);
        }
Exemple #16
0
        public static void save_Console_message(Save_tag path, Console_message c)
        {
            List <string> strs = new List <string>()
            {
                c.author, c.message, c.time
            };

            save_list_of_strings(path, strs);
        }
Exemple #17
0
        public static Conditions_mask load_Conditions_mask(Save_tag path)
        {
            Save_tag a = path.copy();

            a.add_tag("simple_mask");
            Conditions_mask cm = new Conditions_mask(load_bool(a));

            return(cm);
        }
Exemple #18
0
        public static void save_Exchange_Pattern(Save_tag path, Exchange_Pattern e)
        {
            List <float> n = new List <float>()
            {
                e.ID_bought, e.amount_bought, e.ID_sell, e.amount_sell
            };

            save_list_of_floats(path, n);
        }
Exemple #19
0
        public static void save_bool(Save_tag path, bool b)
        {
            int n = 0;

            if (b)
            {
                n = 1;
            }
            save_int(path, n);
        }
Exemple #20
0
        public Save_tag copy()
        {
            Save_tag st = new Save_tag(tags[0]);

            for (int i = 1; i < tags.Count; i++)
            {
                st.add_tag(tags[i]);
            }
            return(st);
        }
Exemple #21
0
        public static void save_Inventory(Save_tag path, Inventory inv)
        {
            Save_tag a = path.copy();

            a.add_tag("IDs");
            save_list_of_long_ints(a, inv.codes);
            Save_tag b = path.copy();

            b.add_tag("numbers");
            save_list_of_floats(b, inv.numbers);
        }
Exemple #22
0
        public static void save_Graph(Save_tag path, Graph g)
        {
            Save_tag a = path.copy();

            a.add_tag("starts");
            save_list_of_ints(a, g.get_link_starts());
            Save_tag b = path.copy();

            b.add_tag("ends");
            save_list_of_ints(b, g.get_link_ends());
        }
Exemple #23
0
        public static bool load_bool(Save_tag path)
        {
            int  n = load_int(path);
            bool c = false;

            if (n == 1)
            {
                c = true;
            }
            return(c);
        }
Exemple #24
0
        public static void save_int(Save_tag path, int n)
        {
            string k = "" + n;

            try
            {
                fw.save_string(fw.cache, path, k);
            }
            catch (Exception e)
            {
                System.Console.WriteLine("error");
            }
        }
Exemple #25
0
        public static void save_list_of_Exchange_Patterns(Save_tag path, List <Exchange_Pattern> e)
        {
            Save_tag r = path.copy();

            r.add_tag("count");
            save_int(r, e.Count);
            for (int i = 0; i < e.Count; i++)
            {
                Save_tag er = path.copy();
                er.add_tag("" + i);
                save_Exchange_Pattern(er, e[i]);
            }
        }
Exemple #26
0
        public static void save_list_of_Console_message(Save_tag path, List <Console_message> e)
        {
            Save_tag r = path.copy();

            r.add_tag("count");
            save_int(r, e.Count);
            for (int i = 0; i < e.Count; i++)
            {
                Save_tag er = path.copy();
                er.add_tag("" + i);
                save_Console_message(er, e[i]);
            }
        }
Exemple #27
0
        public static Inventory load_Inventory(Save_tag path)
        {
            Inventory inv = new Inventory();
            Save_tag  a   = path.copy();

            a.add_tag("IDs");
            inv.codes = load_list_of_long_ints(a);
            Save_tag b = path.copy();

            b.add_tag("numbers");
            inv.numbers = load_list_of_floats(b);
            return(inv);
        }
Exemple #28
0
        public static void save_list_of_Game_Actions(Save_tag path, List <Game_Action> e)
        {
            Save_tag r = path.copy();

            r.add_tag("count");
            save_int(r, e.Count);
            for (int i = 0; i < e.Count; i++)
            {
                Save_tag er = path.copy();
                er.add_tag("" + i);
                save_Game_Action(er, e[i]);
            }
        }
Exemple #29
0
        public static int load_int(Save_tag path)
        {
            int n = Int32.MinValue;

            try
            {
                n = Int32.Parse(fw.read_save(path));
            }
            catch (Exception e)
            {
            }
            return(n);
        }
Exemple #30
0
        public static void save_list_of_Triggers(Save_tag path, List <Trigger> e)
        {
            Save_tag r = path.copy();

            r.add_tag("count");
            save_int(r, e.Count);
            for (int i = 0; i < e.Count; i++)
            {
                Save_tag er = path.copy();
                er.add_tag("" + i);
                save_Trigger(er, e[i]);
            }
        }