public static NetworkResponse Parse(MemoryStream dataStream)
    {
        ResponseSpeciesList response = new ResponseSpeciesList();

        Dictionary <int, SpeciesData> speciesList = new Dictionary <int, SpeciesData>();

        int size = DataReader.ReadShort(dataStream);

        //Debug.Log ("species list size is: " + size);
        for (int i = 0; i < size; i++)
        {
            SpeciesData species = new SpeciesData(DataReader.ReadInt(dataStream));
            species.level = DataReader.ReadShort(dataStream);
            //Debug.Log ("species list level is: " + species.level);
            species.name        = DataReader.ReadString(dataStream);
            species.description = DataReader.ReadString(dataStream);

            short    numArgs   = DataReader.ReadShort(dataStream);
            string[] extraArgs = new string[numArgs];

            for (int j = 0; j < numArgs; j++)
            {
                string arg = DataReader.ReadString(dataStream);
                extraArgs[j] = arg;
            }

            species.biomass       = int.Parse(extraArgs[0]);
            species.diet_type     = short.Parse(extraArgs[1]);
            species.trophic_level = float.Parse(extraArgs[2]);

            Dictionary <int, string> predatorList = species.predatorList;
            foreach (string predator_id in extraArgs[3].Split(new string[] { "," }, StringSplitOptions.None))
            {
                if (predator_id != "")
                {
                    predatorList.Add(int.Parse(predator_id), "");
                }
            }

            Dictionary <int, string> preyList = species.preyList;
            foreach (string prey_id in extraArgs[4].Split(new string[] { "," }, StringSplitOptions.None))
            {
                if (prey_id != "")
                {
                    preyList.Add(int.Parse(prey_id), "");
                }
            }

            species.categoryList = DataReader.ReadString(dataStream).Split(new string[] { ", " }, StringSplitOptions.None);

            speciesList.Add(species.species_id, species);

            //Constants.speciesList = speciesList;
        }
        //Debug.Log("Reached here!!----------" + Constants.speciesList.Count);
        response.speciesList = speciesList;

        return(response);
    }
    public static NetworkResponse Parse(MemoryStream dataStream)
    {
        ResponseSpeciesList response = new ResponseSpeciesList();

        Dictionary<int, SpeciesData> speciesList = new Dictionary<int, SpeciesData>();

        int size = DataReader.ReadShort(dataStream);
        //Debug.Log ("species list size is: " + size);
        for (int i = 0; i < size; i++) {
            SpeciesData species = new SpeciesData(DataReader.ReadInt(dataStream));
            species.level = DataReader.ReadShort(dataStream);
            //Debug.Log ("species list level is: " + species.level);
            species.name = DataReader.ReadString(dataStream);
            species.description = DataReader.ReadString(dataStream);

            short numArgs = DataReader.ReadShort(dataStream);
            string[] extraArgs = new string[numArgs];

            for (int j = 0; j < numArgs; j++) {
                string arg = DataReader.ReadString(dataStream);
                extraArgs[j] = arg;
            }

            species.biomass = int.Parse(extraArgs[0]);
            species.diet_type = short.Parse(extraArgs[1]);
            species.trophic_level = float.Parse(extraArgs[2]);

            Dictionary<int, string> predatorList = species.predatorList;
            foreach (string predator_id in extraArgs[3].Split(new string[]{","}, StringSplitOptions.None)) {
                if (predator_id != "") {
                    predatorList.Add(int.Parse(predator_id), "");
                }
            }

            Dictionary<int, string> preyList = species.preyList;
            foreach (string prey_id in extraArgs[4].Split(new string[]{","}, StringSplitOptions.None)) {
                if (prey_id != "") {
                    preyList.Add(int.Parse(prey_id), "");
                }
            }

            species.categoryList = DataReader.ReadString(dataStream).Split(new string[]{", "}, StringSplitOptions.None);

            speciesList.Add(species.species_id, species);

            //Constants.speciesList = speciesList;
        }
        //Debug.Log("Reached here!!----------" + Constants.speciesList.Count);
        response.speciesList = speciesList;

        return response;
    }
示例#3
0
    public void ProcessSpeciesList(NetworkResponse response)
    {
        ResponseSpeciesList args = response as ResponseSpeciesList;
//		SpeciesTable.Update(args.speciesList);
//		SpeciesTable.speciesList = args.speciesList;
    }