From e1e781bb2135ef78592226f1a3eaba4925702f1f Mon Sep 17 00:00:00 2001 From: Fuwn Date: Mon, 3 May 2021 16:38:41 -0700 Subject: :star: --- NET/worlds/scape/CallbackPropertyOperator.java | 64 ++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 NET/worlds/scape/CallbackPropertyOperator.java (limited to 'NET/worlds/scape/CallbackPropertyOperator.java') diff --git a/NET/worlds/scape/CallbackPropertyOperator.java b/NET/worlds/scape/CallbackPropertyOperator.java new file mode 100644 index 0000000..87395fd --- /dev/null +++ b/NET/worlds/scape/CallbackPropertyOperator.java @@ -0,0 +1,64 @@ +/* */ package NET.worlds.scape; +/* */ +/* */ import NET.worlds.console.Main; +/* */ import NET.worlds.console.MainCallback; +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ public class CallbackPropertyOperator +/* */ implements MainCallback +/* */ { +/* */ private Property prop; +/* */ private int func; +/* */ private Object value; +/* */ private boolean done; +/* */ +/* */ CallbackPropertyOperator(Property prop, int func, Object value) +/* */ { +/* 30 */ this.prop = prop; +/* 31 */ this.func = func; +/* 32 */ this.value = value; +/* 33 */ assert (!Main.isMainThread()); +/* 34 */ Main.register(this); +/* */ } +/* */ +/* */ synchronized Object getValue() +/* */ { +/* 39 */ while (!this.done) +/* */ try { +/* 41 */ wait(); +/* */ } catch (InterruptedException localInterruptedException) {} +/* 43 */ return this.value; +/* */ } +/* */ +/* */ public synchronized void mainCallback() +/* */ { +/* 48 */ modify(); +/* 49 */ Main.unregister(this); +/* 50 */ notify(); +/* */ } +/* */ +/* */ private void modify() +/* */ { +/* 55 */ this.value = this.prop.safeOperate(this.func, this.value); +/* 56 */ this.done = true; +/* */ } +/* */ } + + +/* Location: C:\Program Files (x86)\Worlds Inc\WorldsPlayer - Win7\lib\worlds.jar!\NET\worlds\scape\CallbackPropertyOperator.class + * Java compiler version: 6 (50.0) + * JD-Core Version: 0.7.1 + */ \ No newline at end of file -- cgit v1.2.3