Esempio n. 1
0
        public void DropAtDecals()
        {
            if (ResourceBrowser.DragedObject == null || ResourceBrowser.DragedObject.ContentType != ResourceObject.ContentTypes.Decal)
            {
                return;
            }

            if (!ResourceBrowser.IsDecal())
            {
                return;
            }

            string DropPath = ResourceBrowser.Current.LoadedPaths[ResourceBrowser.DragedObject.InstanceId];

            ResourceBrowser.ClearDrag();
            if (!DropPath.StartsWith("/"))
            {
                DropPath = DropPath.ToLower().Replace("env", "/env");
            }
            Debug.Log(DropPath);

            foreach (Decal.DecalSharedSettings Shared in Decal.AllDecalsShared)
            {
                if (Shared.Tex1Path == DropPath)
                {
                    SelectionManager.Current.CleanSelection();
                    DecalSettingsUi.Load(Shared);
                    Debug.Log("Exist");
                    return;
                }
            }

            // Decal does not exist. Create it
            SelectionManager.Current.CleanSelection();
            GoToSelection();

            Decal.DecalSharedSettings NewSharedDecal = new Decal.DecalSharedSettings();

            if (DropPath.ToLower().Contains("normal"))
            {
                NewSharedDecal.Type = TerrainDecalType.TYPE_NORMALS;
            }
            else
            {
                NewSharedDecal.Type = TerrainDecalType.TYPE_ALBEDO;
            }

            NewSharedDecal.Tex1Path = DropPath;

            NewSharedDecal.UpdateMaterial();
            Decal.AllDecalsShared.Add(NewSharedDecal);

            DecalSettingsUi.Load(NewSharedDecal);
            DecalsList.GenerateTypes();
        }
        public void OnTypeChanged()
        {
            if (Loaded == null || Loading)
            {
                return;
            }


            if (Loaded.Type == TypeByDropdown())
            {
                return;
            }

            Undo.RegisterUndo(new UndoHistory.HistoryDecalsSharedValues(), new UndoHistory.HistoryDecalsSharedValues.DecalsSharedValuesHistoryParameter(Loaded));

            Loaded.Type = TypeByDropdown();
            UpdateTextureNames();

            Loaded.UpdateMaterial();
        }
Esempio n. 3
0
        public override void DoRedo()
        {
            Shared.Type     = Type;
            Shared.Tex1Path = Tex1Path;
            Shared.Tex2Path = Tex2Path;

            Shared.UpdateMaterial();

            Undo.Current.EditMenu.ChangeCategory(5);
            DecalsInfo.Current.GoToSelection();
            DecalsInfo.Current.DecalSettingsUi.Load(Shared);
        }
        public void OnTypeChanged()
        {
            if (Loaded == null || Loading)
            {
                return;
            }


            if (Loaded.Type == TypeByDropdown())
            {
                return;
            }

            //TODO Register Undo
            Undo.Current.RegisterDecalsSharedValuesChange();

            Loaded.Type = TypeByDropdown();
            UpdateTextureNames();

            Loaded.UpdateMaterial();
        }
Esempio n. 5
0
        public void CreateNewDecalType()
        {
            //TODO Undo Create

            SelectionManager.Current.CleanSelection();

            Decal.DecalSharedSettings NewSharedDecal = new Decal.DecalSharedSettings();

            NewSharedDecal.UpdateMaterial();
            Decal.AllDecalsShared.Add(NewSharedDecal);

            DecalSettingsUi.Load(NewSharedDecal);
            DecalsList.GenerateTypes();
        }