Add watching to resources folder

This commit is contained in:
Ricardo Matias
2019-11-19 15:28:41 +01:00
parent 6a65fdba5d
commit a8a5a07dbc
2 changed files with 51 additions and 1 deletions

View File

@@ -0,0 +1,29 @@
package org.openrndr.extra.olive
import java.io.File
class Resources(val filterOutExtensions: List<String> = listOf()) {
private val watchedResources = mutableMapOf<File, Boolean>()
fun watch(src: File, watchFn: (file: File) -> Unit) {
src.listFiles()!!.forEach {file ->
if (file.isFile && !filterOutExtensions.contains(file.extension)) {
watchedResources[file] = false
watchFn(file)
} else if (file.isDirectory) {
watch(file, watchFn)
}
}
}
operator fun get(file: File): Boolean? {
return watchedResources[file]
}
operator fun set(file: File, value: Boolean) {
if (watchedResources.containsKey(file)) {
watchedResources[file] = value
}
}
}