Ejemplo n.º 1
0
    public void PopulateValuesFromAssetSchematic(AssetSchematic schematic)
    {
        //Debug.Log("Populating values.");
        //Origin & Description
        this.item_id         = schematic.origin_and_description.mcs_id;
        this.item_name       = schematic.origin_and_description.name;
        this.collection_id   = schematic.origin_and_description.collection_id;
        this.collection_name = schematic.origin_and_description.collection_name;
        this.vendorId        = schematic.origin_and_description.vendor_id;


        //Version
        this.collection_version = schematic.version_and_control.collection_version;
        this.item_version       = schematic.version_and_control.item_version;
        this.mcs_version        = schematic.version_and_control.mcs_version;

        //Type & function
        this.function = schematic.type_and_function.item_function;
        this.rank     = schematic.type_and_function.hierarchy_rank;

        // TODO: Should be using AssetSchematic.ItemStructure instead.
        this.schematic            = new ItemSchematic();
        this.schematic.lods       = schematic.structure_and_physics.item_structure.lods;
        this.schematic.persistent = schematic.structure_and_physics.item_structure.persistent;

        if (this.function != ItemFunction.figure)
        {
            this.compatibilities         = new ItemCompatibilities();
            this.compatibilities.figures = schematic.version_and_control.compatibilities;
        }
        DownConvertDarwinSpecToProtoSpec();
    }
Ejemplo n.º 2
0
    //during the import process unity gives us these arrays per gameobject - they are our metatadata from fbx
    public void PopulateValuesFromImportArrays(string[] names, object[] values)
    {
        for (int i = 0; i < names.Length; i++)
        {
            //our placeholder values - make sure you dont use a previous parsed bad value!!!
            string name = names[i];
            string string_value;
            float  float_value;

            switch (name)
            {
            case "hierarchy_rank":
                string_value = values[i].ToString();
                this.rank    = EnumHelper.ParseEnum <HierarchyRank>(string_value);
                break;

//				case "primary_function":
//					string_value = values[i].ToString();
//					this.function = EnumHelper.ParseEnum<PrimaryFunction>(string_value);
//					break;
            case "item_function":
                string_value  = values[i].ToString();
                this.function = EnumHelper.ParseEnum <ItemFunction>(string_value);
                break;

            case "collection_version":
                float_value             = float.Parse(values[i].ToString());
                this.collection_version = float_value;
                break;

            case "item_version":
                float_value       = float.Parse(values[i].ToString());
                this.item_version = float_value;
                break;

            case "mcs_version":
                float_value      = float.Parse(values[i].ToString());
                this.mcs_version = float_value;
                break;

            case "item_id":
                string_value = values[i].ToString();
                this.item_id = string_value;
                break;

            case "id":
                string_value = values[i].ToString();
                this.item_id = string_value;
                break;

            case "collection_id":
                string_value       = values[i].ToString();
                this.collection_id = string_value;
                break;

            case "item_name":
                string_value   = values[i].ToString();
                this.item_name = string_value;
                break;

            case "name":
                string_value   = values[i].ToString();
                this.item_name = string_value;
                break;

            case "collection_name":
                string_value         = values[i].ToString();
                this.collection_name = string_value;
                break;

            case "geometries":
                string_value   = values[i].ToString();                      //json bundle
                this.schematic = ItemSchematic.CreateFromJSON(string_value);
                break;

            case "compatibilities":
                string_value = values[i].ToString();                        //json bundle
                if (this.function != ItemFunction.figure)
                {
                    this.compatibilities = ItemCompatibilities.CreateFromJSON(string_value);
                }
                break;
            }
        }



        DownConvertDarwinSpecToProtoSpec();
    }