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(); }
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(); }
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(); }