AbstractBinding.kt (523B) - raw


      1 package me.rhunk.snapenhance.common.scripting.bindings
      2 
      3 abstract class AbstractBinding(
      4     val name: String,
      5     val side: BindingSide
      6 ) {
      7     lateinit var context: BindingsContext
      8 
      9     private val bridgeReloadList = mutableListOf<() -> Unit>()
     10 
     11     fun bridgeAutoReload(block: () -> Unit) {
     12         bridgeReloadList += block
     13         block()
     14     }
     15 
     16     open fun onInit() {}
     17 
     18     open fun onBridgeReloaded() {
     19         bridgeReloadList.forEach { it() }
     20     }
     21 
     22     open fun onDispose() {}
     23 
     24     abstract fun getObject(): Any
     25 }