/// <summary> /// Add a custom furniture contained in %appdata%/ErgoShop/Imports on scene /// </summary> /// <param name="modelGO">the gameobject returned by the obj importer</param> /// <param name="cf">Data containing path and name</param> public void AddCustomFurniture(GameObject modelGO, CustomFurniture cf) { AddCollider(modelGO); m_currentFurniture3D = modelGO; m_currentFurniture2DTop = Instantiate(backUpFurniture2DTop, parent2DTop); m_currentFurniture3D.transform.parent = parent3D; m_currentFurniture3D.tag = "Furniture"; m_currentFurniture2DTop.tag = "Furniture"; m_currentFurniture2DTop.SetLayerRecursively(9); m_currentFurniture3D.SetLayerRecursively(10); m_currentFurniture = new Furniture { associated2DObject = m_currentFurniture2DTop, associated3DObject = m_currentFurniture3D, Name = cf.Name, Position = m_currentFurniture3D.transform.position, Rotation = 0, IsCustom = true, CustomPath = cf.Path, Type = "Perso", IsOnWall = false, CanBePutOnFurniture = false, ScaleModifier = 1f }; m_currentFurniture3D.transform.localScale = m_currentFurniture.ScaleModifier * Vector3.one; m_currentFurniture.Size = m_currentFurniture.MeshSize * m_currentFurniture.ScaleModifier; SetFurni2DSize(); InitFurnitureText(m_currentFurniture); m_furnituresData.Add(m_currentFurniture); FurnitureListScroll.Instance.UpdateList(); SelectedObjectManager.Instance.Select(m_currentFurniture); SelectedObjectManager.Instance.PlaceFurniture(true); }
/// <summary> /// Loads the obj file contained in cf.Path /// </summary> /// <param name="cf">CustomFurniture we want to load</param> /// <returns>GameObject (without colliders !)</returns> public GameObject GetGameObjectFromCustomObject(CustomFurniture cf) { return(new OBJLoader().Load(cf.Path)); }