Esempio n. 1
0
    private static List <Flower> LoadFlowers(PlantDatabase data)
    {
        List <Flower> flowers = new List <Flower>();

        if (File.Exists(flowerPath))
        {
            using (StreamReader sr = new StreamReader(flowerPath)) {
                string line;
                while ((line = sr.ReadLine()) != null)
                {
                    //Debug.Log("Load Flower: " + line);
                    flowers.Add(new Flower(data, line));
                    Inventory.NumberOfFlower++;
                }
            }
        }
        if (flowers.Count == 0)
        {
            flowers.Add(new Flower(data, data.Scavenge()));
            flowers.Add(new Flower(data, data.Scavenge()));
            flowers.Add(new Flower(data, data.Scavenge()));
            Inventory.NumberOfFlower += 3;
        }

        Debug.Log(flowers.Count);
        return(flowers);
    }
Esempio n. 2
0
        private void Awake()
        {
            inspectorManager = inspectorArea.GetComponent <InspectorManager>();
            previewCamera.GetComponent <FlyCameraController>().enabled   = true;
            inspectorCamera.GetComponent <FlyCameraController>().enabled = false;

            materialDatabase = GetComponent <MaterialDatabase>();
            plantDatabase    = GetComponent <PlantDatabase>();
        }
Esempio n. 3
0
    //Save and Load Constructor
    public Flower(PlantDatabase data, string str)
    {
        this.data = data;
        string[]      inputList  = str.Split(',');
        List <string> inputList2 = new List <string>(inputList);

        creationTime = DateTime.Parse(inputList[0]);
        inputList2.Remove(inputList[0]);
        this.genes = inputList2.ToArray();
    }
Esempio n. 4
0
 private static void Save(PlantDatabase FlowerData, List <Flower> Flowers, PlantGoal Goal, TeacupDatabase TeacupData, List <Teacup> Teacups)
 {
     SaveMachine();
     SavePlantDatabase(FlowerData);
     SaveFlowers(Flowers);
     SavePlantGoal(Goal);
     SaveTeacupDatabase(TeacupData);
     SaveTeacups(Teacups);
     Debug.Log(Application.persistentDataPath);
 }
Esempio n. 5
0
 public PlantGoal(PlantDatabase data, int goalTier, string[] goal)
 {
     myDatabase = data;
     if (!data.IsValidFlower(goal, true))
     {
         throw new System.Exception("invalid trait");
     }
     myGoalTier = goalTier;
     myGoal     = goal;
 }
Esempio n. 6
0
    public static PlantDatabase Load(string str, bool debug = false)
    {
        PlantDatabase loaded = new PlantDatabase();

        if (debug)
        {
            Console.WriteLine("PlantDatabase Load: " + str);
        }
        string[] parsed = str.Split('\n');
        if (debug)
        {
            Console.WriteLine("Parsed string");
        }

        foreach (string line in parsed)
        {
            if (line.Length == 0)
            {
                continue;
            }

            if (debug)
            {
                Console.WriteLine("Load: " + line);
            }
            string[] traitstrings = line.Split(';');
            string   trait_name   = traitstrings[0];
            if (debug)
            {
                Console.WriteLine("trait_name: " + trait_name);
            }
            string trait_data = traitstrings[1];
            if (debug)
            {
                Console.WriteLine("trait_data: " + trait_data);
            }
            TraitType trait = TraitType.Load(trait_data);
            loaded.AddTraitType(trait_name, trait);
            if (debug)
            {
                Console.WriteLine("Local Load Complete");
            }
        }
        if (debug)
        {
            Console.WriteLine("PlantDatabase Load Complete");
        }
        return(loaded);
    }
Esempio n. 7
0
 private static void SavePlantDatabase(PlantDatabase data)
 {
     try{
         using (StreamWriter sw = new StreamWriter(plantdatabasePath, false))
         {
             sw.Write(data.ToString());
             //Console.WriteLine("Saved " + PlantDatabase_path);
             //Console.WriteLine(data.ToString());
         }
     }catch (System.Exception e) {
         //Console.WriteLine("error saving at" + PlantDatabase_path);
         //Console.WriteLine(e);
         //Environment.Exit(1);
     }
 }
Esempio n. 8
0
    private static void Save(PlantDatabase FlowerData, CircularLinkedList <Flower> Flowers, PlantGoal Goal, TeacupDatabase TeacupData, CircularLinkedList <Teacup> Teacups)
    {
        List <Flower> flowers = new List <Flower>();

        foreach (Flower flower in Flowers)
        {
            flowers.Add(flower);
        }
        List <Teacup> teacups = new List <Teacup>();

        foreach (Teacup teacup in Teacups)
        {
            teacups.Add(teacup);
        }

        Save(FlowerData, flowers, Goal, TeacupData, teacups);
    }
Esempio n. 9
0
    /*//////////////////////////////////////////////////////////////////////////////
     * Saving and Loading all savefiles
     * SaveData.Load (PlantDatabase FlowerData,List<Flower> Flowers,PlantGoal Goal);
     *///////////////////////////////////////////////////////////////////////////////
    public static void Load()
    {
        string loadedMachineInfo = LoadMachine();


        //Deletes all files if not used on the same computer
        //so everything resets
        if (loadedMachineInfo != getMachineInfo())
        {
            File.Delete(plantdatabasePath);
            File.Delete(flowerPath);
            File.Delete(goalPath);
            File.Delete(teacupdatabasePath);
            File.Delete(teacupPath);
        }



        PlantDatabase plantData = LoadPlantDatabase();         //1

        Inventory.FlowerData = plantData;

        TeacupDatabase teacupData = LoadTeacupDatabase();         //2

        Inventory.TeacupData = teacupData;

        List <Flower> flowers = LoadFlowers(Inventory.FlowerData);        //3

        Inventory.FlowerList = new CircularLinkedList <Flower>(flowers);

        List <Teacup> teacups = LoadTeacups(teacupData);        //4

        Inventory.TeacupList = new CircularLinkedList <Teacup>(teacups);

        Inventory.Goal = LoadPlantGoal(Inventory.FlowerData);         //5

        Save();
        Debug.Log(check());
    }
Esempio n. 10
0
 private static PlantDatabase LoadPlantDatabase()
 {
     try{
         if (!File.Exists(plantdatabasePath))
         {
             //Console.WriteLine(Path.GetFullPath(PlantDatabase_path) + " does not exist");
         }
         else
         {
             using (StreamReader sr = new StreamReader(plantdatabasePath))
             {
                 string readPlantDatabase = sr.ReadToEnd();
                 return(PlantDatabase.Load(readPlantDatabase));
             }
         }
     }catch (System.Exception e) {
         //Console.WriteLine("error loading at" + PlantDatabase_path);
         //Console.WriteLine(e);
         //Environment.Exit(1);
     }
     return(new TeacupCactusDatabase());
 }
Esempio n. 11
0
    private static string[] GetGenerateGoal(PlantDatabase data, int goalTier)
    {
        Random rnd = new Random(Guid.NewGuid().GetHashCode());

        Dictionary <string, List <string>[]> tierDictonary = data.GetTiers();

        string[] keys = tierDictonary.Keys.ToArray();
        string[] goal = new string[keys.Length];


        int[] tierOfGoal = new int[keys.Length];
        for (int i = 0; i < keys.Length; i++)
        {
            string          key       = keys[i];
            List <string>[] tierArray = tierDictonary[key];
            int             maxTier   = tierArray.Length;

            tierOfGoal[i] = rnd.Next(1, maxTier);
        }

        for (int i = 0; i < keys.Length; i++)
        {
            string          key       = keys[i];
            List <string>[] tierArray = tierDictonary[key];

            int currTier = tierOfGoal[i];
            //Console.WriteLine(currTier + "/" + tierArray.Length);

            string[] array = tierArray[currTier].ToArray();
            int      index = rnd.Next(0, array.Length);
            //Console.WriteLine(index + "/" + array.Length);

            goal[i] = array[index];
        }

        return(goal);
    }
Esempio n. 12
0
    private static PlantGoal LoadPlantGoal(PlantDatabase data)
    {
        try{
            if (!File.Exists(goalPath))
            {
                //Console.WriteLine(Path.GetFullPath(goalPath) + " does not exist");
            }
            else
            {
                using (StreamReader sr = new StreamReader(goalPath)){
                    string str = sr.ReadToEnd();
                    return(new PlantGoal(data, str));
                    //Console.WriteLine("Loaded: "+ PlantGoal_path);
                    //Console.WriteLine(goal);
                }
            }
        }catch (System.Exception e) {
            //Console.WriteLine("error  loading at" + Flowers_path);
            //Console.WriteLine(e);
            //Environment.Exit(1);
        }

        return(new PlantGoal(data));
    }
Esempio n. 13
0
 //Scavenged Flower Constructor
 public Flower(PlantDatabase data)
 {
     this.creationTime = DateTime.Now;
     this.data         = data;
     this.genes        = data.Scavenge();
 }
Esempio n. 14
0
 public static void Save(PlantDatabase FlowerData, List <Flower> Flowers, PlantGoal Goal)
 {
     SavePlantDatabase(FlowerData);
     SaveFlowers(Flowers);
     SavePlantGoal(Goal);
 }
Esempio n. 15
0
 public PlantGoal(PlantDatabase data, string str) : this(data, pgt(str), pg(str))
 {
 }
Esempio n. 16
0
 //The main constructor
 public Flower(PlantDatabase data, string[] genes)
 {
     this.creationTime = DateTime.Now;
     this.data         = data;
     this.genes        = genes;
 }
Esempio n. 17
0
 public PlantGoal(PlantDatabase data) : this(data, 1, GetGenerateGoal(data, 1))
 {
 }
Esempio n. 18
0
 public PlantGoal(PlantDatabase data, int goalTier) : this(data, goalTier, GetGenerateGoal(data, goalTier))
 {
 }