private void Editor_CreateInitialHistoryEntry(GFoliagePainterArgs args) { if (!Editor_EnableHistory) { return; } List <GTerrainResourceFlag> flags = new List <GTerrainResourceFlag>(); flags.AddRange(ActivePainter.GetResourceFlagForHistory(args)); GBackup.TryCreateInitialBackup(ActivePainter.HistoryPrefix, GroupId, ActivePainter.GetResourceFlagForHistory(args), false); }
private void Editor_CreateInitialHistoryEntry(GTexturePainterArgs args, List <GStylizedTerrain> overlappedTerrains) { if (!Editor_EnableHistory) { return; } if (overlappedTerrains.Count == 0) { return; } List <GTerrainResourceFlag> flags = new List <GTerrainResourceFlag>(); flags.AddRange(ActivePainter.GetResourceFlagForHistory(args)); if (InitialRecordedTerrains.Count == 0) { currentInitialBackupName = GBackup.TryCreateInitialBackup(ActivePainter.HistoryPrefix, overlappedTerrains[0], flags, false); if (!string.IsNullOrEmpty(currentInitialBackupName)) { InitialRecordedTerrains.Add(overlappedTerrains[0]); } } else { if (!string.IsNullOrEmpty(currentInitialBackupName)) { for (int i = 0; i < overlappedTerrains.Count; ++i) { if (InitialRecordedTerrains.Contains(overlappedTerrains[i])) { continue; } GBackup.BackupTerrain(overlappedTerrains[i], currentInitialBackupName, flags); InitialRecordedTerrains.Add(overlappedTerrains[i]); } } } }