Ejemplo n.º 1
0
 protected static bool IsStairsWithId(OSLibStairs stairs)
 {
     return stairs.GetId () == _searchedId;
 }
Ejemplo n.º 2
0
    // merge multiple librairies into one to fit the interface
    public static OSLib MergeLibraries(ICollection<OSLib> libraries)
    {
        OSLib mergedLibrary = new OSLib (-1, -1, "", "Merge", "");

        foreach (OSLib library in libraries)
        {
            foreach (OSLibCategory catLvl1 in library.GetCategoryList ())
            {
                _searchedId = catLvl1.GetBrandId();
                if(_searchedId==-1)
                    _searchedId = catLvl1.GetId ();
                OSLibCategory libraryCatLvl1 = mergedLibrary.GetCategoryList ().Find (IsCategoryWithId);
                if (libraryCatLvl1 == null)
                {
                    libraryCatLvl1 = new OSLibCategory (catLvl1.GetId (), null, catLvl1, catLvl1.GetBrandId());
                    mergedLibrary.AddCategory (libraryCatLvl1);
                }

                foreach (OSLibCategory catLvl2 in catLvl1.GetCategoryList ())
                {
                    _searchedId = catLvl2.GetBrandId();
                    if(_searchedId==-1)
                        _searchedId = catLvl2.GetId ();
                    OSLibCategory libraryCatLvl2 = libraryCatLvl1.GetCategoryList ().Find (IsCategoryWithId);
                    if (libraryCatLvl2 == null)
                    {
                        libraryCatLvl2 = new OSLibCategory (catLvl2.GetId (), libraryCatLvl1, catLvl2, catLvl2.GetBrandId());
                        libraryCatLvl1.AddChildCategory (libraryCatLvl2);
                    }

                    foreach (OSLibObject obj in catLvl2.GetObjectList ())
                    {
                        libraryCatLvl2.AddObject (obj);
                    }
                }

                foreach (OSLibObject obj in catLvl1.GetObjectList ())
                {
                    libraryCatLvl1.AddObject (obj);
                }

            }

            foreach (OSLibStairs stairs in library.GetStairsList ())
            {
                _searchedId = stairs.GetId ();
                OSLibStairs mergedStairs = mergedLibrary.GetStairsList ().Find (IsStairsWithId);
                if (mergedStairs == null)
                {
                    mergedStairs = new OSLibStairs (stairs.GetId (), stairs.GetDependency ());
                    mergedLibrary.AddStairs (mergedStairs);
                }

                foreach (OSLibStair stair in stairs.GetStairList ())
                {
                    _searchedId = stair.GetId ();
                    OSLibStair mergedStair = mergedStairs.GetStairList ().Find (IsStairWithId);
                    if (mergedStair == null)
                    {
                        mergedStair = new OSLibStair (stair.GetId (),
                                                      stair.GetStairType (),
                                                      stair.GetBrand (),
                                                      stair.GetThumbnailPath ());

                        mergedStairs.AddStair (mergedStair);
                    }
                }
            }
        }

        /*
         //Debug
         foreach (OSLibCategory catLvl1 in mergedLibrary.GetCategoryList ())
        {
            Debug.Log("Catégorie niveau 1 : "+catLvl1.GetDefaultText()+" id "+catLvl1.GetId()+" brandid "+catLvl1.GetBrandId());
            foreach (OSLibCategory catLvl2 in catLvl1.GetCategoryList ())
            {
                Debug.Log("--------------- Catégorie niveau 2 : "+catLvl2.GetDefaultText()+" id "+catLvl2.GetId()+" brandid "+catLvl2.GetBrandId());
                foreach (OSLibObject obj in catLvl2.GetObjectList())
                {
                    Debug.Log("---------------- -------------- Objets : "+obj.GetDefaultText()+", cat 1 : "+obj.getCategory().GetParentCategory().GetId()+", cat2 : "+obj.getCategory().GetId());
                }
            }
        }*/

        OSLib mergedAndOrderedLibrary = new OSLib (-1, -1, "", "mergedAndOrdered", "");
         //Debug
        foreach (OSLibCategory catLvl1 in mergedLibrary.GetCategoryList ())
        {
            //OSLibCategory catLvl1Ordered = catLvl1;
            OSLibCategory catLvl1Ordered = new OSLibCategory(
                catLvl1.GetId(),
                catLvl1.GetParentCategory(),
                catLvl1.isPrimaryType(),
                catLvl1.GetBrandId());

            catLvl1Ordered.SetLanguagesDictionary(catLvl1.GetLanguagesDictionary());
            catLvl1Ordered.SetDefaultLanguage(catLvl1.GetDefaultLanguage());

            foreach (OSLibCategory catLvl2 in catLvl1.GetCategoryList ())
            {
                //catLvl1Ordered.AddChildCategory(catLvl2);

                if(catLvl1Ordered.GetCategoryList().Count==0)
                    catLvl1Ordered.AddChildCategory(catLvl2);
                else
                {
                    bool max = true;
                    for (int countCat=0; countCat < catLvl1Ordered.GetCategoryList().Count; countCat++)
                    {
                        OSLibCategory catLvl2ReOrdered = catLvl1Ordered.GetCategoryList()[countCat];
                        if(catLvl2ReOrdered.GetBrandId()>catLvl2.GetBrandId())
                        {
                            catLvl1Ordered.AddChildCategoryAtPosition(catLvl2,countCat);
                            max = false;
                            break;
                        }
                    }
                    if(max)
                    {
                        catLvl1Ordered.AddChildCategory(catLvl2);
                    }
                }
            }

            if(mergedAndOrderedLibrary.GetCategoryList().Count==0)
                mergedAndOrderedLibrary.AddCategory (catLvl1Ordered);
            else
            {
                bool max = true;
                for (int countCat=0;
                    countCat<mergedAndOrderedLibrary.GetCategoryList().Count;countCat++)
                {
                    OSLibCategory catLvl1ReOrdered = mergedAndOrderedLibrary.GetCategoryList()[countCat];
                    if(catLvl1ReOrdered.GetBrandId()>catLvl1Ordered.GetBrandId())
                    {
                        mergedAndOrderedLibrary.AddCategoryAtPosition(catLvl1Ordered,countCat);
                        max = false;
                        break;
                    }
                }
                if(max)
                {
                    mergedAndOrderedLibrary.AddCategory(catLvl1Ordered);
                }
            }
        }

        /*
        //Debug
        Debug.Log("----------------------------------------------------------");
        Debug.Log("----------------------------------------------------------");
        foreach (OSLibCategory catLvl1 in mergedAndOrderedLibrary.GetCategoryList ())
        {
            Debug.Log("Catégorie niveau 1 : "+catLvl1.GetDefaultText()+" id "+catLvl1.GetId()+" brandid "+catLvl1.GetBrandId());
            foreach (OSLibCategory catLvl2 in catLvl1.GetCategoryList ())
            {
                Debug.Log("--------------- Catégorie niveau 2 : "+catLvl2.GetDefaultText()+" id "+catLvl2.GetId()+" brandid "+catLvl2.GetBrandId());
                foreach (OSLibObject obj in catLvl2.GetObjectList())
                {
                    Debug.Log("---------------- -------------- Objets : "+obj.GetDefaultText()+"  isMode 2D : "+obj.IsMode2D().ToString()+", cat 1 : "+obj.getCategory().GetParentCategory().GetId()+", cat2 : "+obj.getCategory().GetId());
                }
            }
        }
        */

        return mergedAndOrderedLibrary;

        //	return mergedLibrary;
    }
Ejemplo n.º 3
0
 public void AddStairs(OSLibStairs stairs)
 {
     _stairs.Add (stairs);
 }
Ejemplo n.º 4
0
    protected void SetThumbnails(OSLibStairs stairs)
    {
        _thumbnails = new Texture2D [stairs.GetStairList ().Count/* + 1*/];
        int textureCounter = 0;

        foreach (OSLibStair stair in stairs.GetStairList ())
        {
            Texture2D texture = stair.GetThumbnail ();
            texture.name = stair.GetDefaultText ();
            _thumbnails[textureCounter++] = texture;
        }

        //		Texture2D noStair = Resources.Load("thumbnails/noThumbs",typeof(Texture2D)) as Texture2D;
        //		noStair.name = "";
        //		_thumbnails[stairs.GetStairList ().Count] = noStair;
        _stairModelList = new GUIUpperList (1, 0, TextManager.GetText("stair"), "sousMenuOn", "sousMenuOff", this);
        _stairModelList.setImgContent (_thumbnails);
    }
Ejemplo n.º 5
0
    public void Init()
    {
        //check stair module
        ObjData objData = GetComponent<ObjData> ();
        if (objData != null)
        {
            //OSLibModules modules = objData.GetObjectModel ().GetModules ();
            _stairList = objData.GetObjectModel ().GetLibrary ().GetStairsList ()[0];

            if (_selectedStairIndex >= _stairList.GetStairList ().Count)
            {
                _selectedStairIndex = -1;
            }
            //OSLibModule stairModule = modules.FindModule ("stair");

            if (/*stairModule != null &&*/_gizmos.Count <= 0)
            {
                //find gizmos
                int gizmoIndex = 1;
                bool gizmoIsNotNull = true;

                do
                {
                    Transform gizmo = transform.Find ("Gizmo" + gizmoIndex.ToString ());
                    _transformGizmos.Add (gizmo);

                    if (gizmo != null)
                    {
                        StairGizmo g = new StairGizmo ();
                        g.index = gizmoIndex - 1;
                        g.position = gizmo.localPosition;
                        g.rotation = gizmo.localRotation;

                        _gizmos.Add (g);
                    }
                    else
                    {
                        gizmoIsNotNull = false;
                    }

                    ++gizmoIndex;
                }
                while (gizmoIsNotNull);
            }
        }
    }