/// <summary> /// Called to start foliage painting /// </summary> /// <param name="foliage">The foliage.</param> private void PaintStart(FlaxEngine.Foliage foliage) { // Skip if already is painting if (IsPainting) { return; } _undoAction = new EditFoliageAction(foliage); _paintFoliage = foliage; PaintStarted?.Invoke(); }
/// <summary> /// Called to end foliage painting. /// </summary> private void PaintEnd() { // Skip if nothing was painted if (!IsPainting) { return; } _undoAction.RecordEnd(); Editor.Instance.Undo.AddAction(_undoAction); _undoAction = null; _paintFoliage = null; PaintEnded?.Invoke(); }
/// <summary> /// Called to start foliage painting /// </summary> /// <param name="foliage">The foliage.</param> private void PaintStart(FlaxEngine.Foliage foliage) { // Skip if already is painting if (IsPainting) { return; } if (Editor.Instance.Undo.Enabled) { _undoAction = new EditFoliageAction(foliage); } _paintFoliage = foliage; _paintUpdateCount = 0; PaintStarted?.Invoke(); }
/// <summary> /// Initializes a new instance of the <see cref="EditFoliageAction"/> class. /// </summary> /// <remarks>Use <see cref="RecordEnd"/> to finalize foliage data after editing action.</remarks> /// <param name="foliage">The foliage.</param> public EditFoliageAction(FlaxEngine.Foliage foliage) { _foliageId = foliage.ID; _before = foliage.ToJson(); }
/// <summary> /// Initializes a new instance of the <see cref="EditFoliageAction"/> class. /// </summary> /// <remarks>Use <see cref="RecordEnd"/> to finalize foliage data after editing action.</remarks> /// <param name="foliage">The foliage.</param> public EditFoliageAction(FlaxEngine.Foliage foliage) { _foliageId = foliage._internalId; _before = Actor.Serialize(foliage); }
/// <summary> /// Initializes a new instance of the <see cref="EditInstanceAction"/> class. /// </summary> /// <param name="foliage">The foliage.</param> /// <param name="index">The instance index.</param> public EditInstanceAction(FlaxEngine.Foliage foliage, int index) { _foliageId = foliage.ID; _index = index; _before = foliage.GetInstance(_index).Transform; }
/// <summary> /// Initializes a new instance of the <see cref="EditFoliageAction"/> class. /// </summary> /// <remarks>Use <see cref="RecordEnd"/> to finalize foliage data after editing action.</remarks> /// <param name="foliage">The foliage.</param> public EditFoliageAction(FlaxEngine.Foliage foliage) { _foliageId = foliage._internalId; _before = foliage.ToJson(); }
/// <summary> /// Initializes a new instance of the <see cref="DeleteInstanceAction"/> class. /// </summary> /// <param name="foliage">The foliage.</param> /// <param name="index">The instance index.</param> public DeleteInstanceAction(FlaxEngine.Foliage foliage, int index) { _foliageId = foliage.ID; _index = index; }