summaryrefslogtreecommitdiff
path: root/NET/worlds/scape/WorldScriptToolkitImp.java
diff options
context:
space:
mode:
authorFuwn <[email protected]>2021-05-03 16:38:41 -0700
committerFuwn <[email protected]>2021-05-03 16:38:41 -0700
commite1e781bb2135ef78592226f1a3eaba4925702f1f (patch)
tree8a5b590463ed413e1c6eabb719130e701b95ca63 /NET/worlds/scape/WorldScriptToolkitImp.java
downloadworlds.jar-e1e781bb2135ef78592226f1a3eaba4925702f1f.tar.xz
worlds.jar-e1e781bb2135ef78592226f1a3eaba4925702f1f.zip
:star:HEADmain
Diffstat (limited to 'NET/worlds/scape/WorldScriptToolkitImp.java')
-rw-r--r--NET/worlds/scape/WorldScriptToolkitImp.java493
1 files changed, 493 insertions, 0 deletions
diff --git a/NET/worlds/scape/WorldScriptToolkitImp.java b/NET/worlds/scape/WorldScriptToolkitImp.java
new file mode 100644
index 0000000..d6bfc34
--- /dev/null
+++ b/NET/worlds/scape/WorldScriptToolkitImp.java
@@ -0,0 +1,493 @@
+/* */ package NET.worlds.scape;
+/* */
+/* */ import NET.worlds.console.Console;
+/* */ import NET.worlds.console.DefaultConsole;
+/* */ import NET.worlds.console.NoWebControlException;
+/* */ import NET.worlds.console.OkCancelDialog;
+/* */ import NET.worlds.console.WebControl;
+/* */ import NET.worlds.console.WebControlImp;
+/* */ import NET.worlds.core.IniFile;
+/* */ import NET.worlds.core.Std;
+/* */ import NET.worlds.network.CacheEntry;
+/* */ import NET.worlds.network.Galaxy;
+/* */ import NET.worlds.network.URL;
+/* */ import java.io.PrintStream;
+/* */
+/* */
+/* */
+/* */ class WorldScriptToolkitImp
+/* */ extends WorldScriptToolkit
+/* */ {
+/* */ public int getTime()
+/* */ {
+/* 23 */ return Std.getSynchronizedTime();
+/* */ }
+/* */
+/* */ public void teleport(String destination, boolean showDlg)
+/* */ {
+/* 28 */ TeleportAction.teleport(destination, null, false, showDlg);
+/* */ }
+/* */
+/* */ public float getPilotX()
+/* */ {
+/* 33 */ Pilot p = Pilot.getActive();
+/* 34 */ if (p != null)
+/* 35 */ return p.getX();
+/* 36 */ return 0.0F;
+/* */ }
+/* */
+/* */ public float getPilotY()
+/* */ {
+/* 41 */ Pilot p = Pilot.getActive();
+/* 42 */ if (p != null)
+/* 43 */ return p.getY();
+/* 44 */ return 0.0F;
+/* */ }
+/* */
+/* */
+/* */ public float getPilotYaw()
+/* */ {
+/* 50 */ Pilot p = Pilot.getActive();
+/* 51 */ if (p != null)
+/* 52 */ return 360.0F - p.getYaw();
+/* 53 */ return 0.0F;
+/* */ }
+/* */
+/* */ private SmoothDriver getSmoothDriver()
+/* */ {
+/* 58 */ Pilot p = Pilot.getActive();
+/* 59 */ if ((p != null) && ((p instanceof HoloPilot)))
+/* */ {
+/* 61 */ HoloPilot hp = (HoloPilot)p;
+/* 62 */ return hp.getSmoothDriver();
+/* */ }
+/* 64 */ return null;
+/* */ }
+/* */
+/* */ public float getWalkFriction()
+/* */ {
+/* 69 */ SmoothDriver sd = getSmoothDriver();
+/* 70 */ if (sd != null)
+/* */ {
+/* 72 */ return sd.getVelocityDamping();
+/* */ }
+/* 74 */ return 0.0F;
+/* */ }
+/* */
+/* */ public void setWalkFriction(float friction)
+/* */ {
+/* 79 */ SmoothDriver sd = getSmoothDriver();
+/* 80 */ if (sd != null)
+/* */ {
+/* 82 */ sd.setVelocityDamping(friction);
+/* */ }
+/* */ }
+/* */
+/* */ public void walkTo(float x, float y, float yaw, float velocity)
+/* */ {
+/* 88 */ Pilot p = Pilot.getActive();
+/* 89 */ if ((p != null) && ((p instanceof HoloPilot)))
+/* */ {
+/* 91 */ HoloPilot hp = (HoloPilot)p;
+/* 92 */ hp.walkTo(new Point2(x, y), yaw, velocity);
+/* */ }
+/* */ }
+/* */
+/* */ public void walkTo(float x, float y, float yaw)
+/* */ {
+/* 98 */ Pilot p = Pilot.getActive();
+/* 99 */ if ((p != null) && ((p instanceof HoloPilot)))
+/* */ {
+/* 101 */ HoloPilot hp = (HoloPilot)p;
+/* 102 */ hp.walkTo(new Point2(x, y), yaw);
+/* */ }
+/* */ }
+/* */
+/* */
+/* */
+/* */ public void walkTo(WorldScript script, float x, float y, float yaw, float velocity)
+/* */ {
+/* 110 */ Pilot p = Pilot.getActive();
+/* 111 */ if ((p != null) && ((p instanceof HoloPilot)))
+/* */ {
+/* 113 */ HoloPilot hp = (HoloPilot)p;
+/* 114 */ hp.walkTo(new Point2(x, y), yaw, velocity);
+/* 115 */ hp.addCallback(script);
+/* */ }
+/* */ }
+/* */
+/* */ public void showWebPage(String url)
+/* */ {
+/* 121 */ showWebPage(url, 100, 100);
+/* */ }
+/* */
+/* */ public void showWebPage(String url, int percentW, int percentH)
+/* */ {
+/* 126 */ Console c = Console.getActive();
+/* 127 */ if ((c != null) && ((c instanceof DefaultConsole)))
+/* */ {
+/* 129 */ DefaultConsole dc = (DefaultConsole)c;
+/* */ try {
+/* 131 */ WebControl wc = new WebControl(dc.getRender(),
+/* 132 */ percentW, percentH, true, false,
+/* 133 */ false);
+/* 134 */ wc.activate();
+/* 135 */ wc.setURL(url);
+/* */
+/* */ }
+/* */ catch (NoWebControlException e)
+/* */ {
+/* 140 */ new SendURLAction(url).doIt();
+/* */ }
+/* */ }
+/* */ }
+/* */
+/* */ public void showExternalWebPage(String url)
+/* */ {
+/* 147 */ new SendURLAction(url).doIt();
+/* */ }
+/* */
+/* */ public void showAdBanner(String url, int width, int height)
+/* */ {
+/* 152 */ Pilot p = Pilot.getActive();
+/* 153 */ if (p != null)
+/* */ {
+/* 155 */ World w = p.getWorld();
+/* 156 */ if (w != null)
+/* */ {
+/* 158 */ w.setHasAdBanner(true);
+/* 159 */ w.setBannerURL(url);
+/* 160 */ w.setBannerWidth(width);
+/* 161 */ w.setBannerHeight(height);
+/* 162 */ w.setupAdBanner();
+/* */ }
+/* */ }
+/* */ }
+/* */
+/* */ public Object playSound(String soundFile, int loop)
+/* */ {
+/* 169 */ Sound owner = new Sound(URL.make(soundFile));
+/* 170 */ SoundPlayer autoSound = null;
+/* 171 */ if (soundFile.toLowerCase().endsWith(".wav"))
+/* */ {
+/* 173 */ autoSound = new WavSoundPlayer(owner);
+/* */ }
+/* */ else
+/* */ {
+/* 177 */ autoSound = new WMPSoundPlayer(owner);
+/* */ }
+/* 179 */ autoSound.start(loop);
+/* 180 */ return autoSound;
+/* */ }
+/* */
+/* */ public boolean serviceSound(Object soundPlayer)
+/* */ {
+/* 185 */ if (!(soundPlayer instanceof SoundPlayer))
+/* */ {
+/* 187 */ System.out.println("Error - invalid handle passed to serviceSound");
+/* 188 */ return false;
+/* */ }
+/* */
+/* 191 */ SoundPlayer sp = (SoundPlayer)soundPlayer;
+/* 192 */ return sp.getState() == 0;
+/* */ }
+/* */
+/* */ public void stopSound(Object soundPlayer)
+/* */ {
+/* 197 */ if (!(soundPlayer instanceof SoundPlayer))
+/* */ {
+/* 199 */ System.out.println("Error - invalid handle passed to stopSound");
+/* 200 */ return;
+/* */ }
+/* */
+/* 203 */ SoundPlayer autoSound = (SoundPlayer)soundPlayer;
+/* */
+/* 205 */ autoSound.stop();
+/* */ }
+/* */
+/* */ public String expandURLMacros(String urlIn)
+/* */ {
+/* 210 */ return WebControlImp.processURL(urlIn);
+/* */ }
+/* */
+/* */ public int getIniInt(String entry, int defaultVal)
+/* */ {
+/* 215 */ return IniFile.gamma().getIniInt(entry, defaultVal);
+/* */ }
+/* */
+/* */ public String getIniString(String entry, String defaultVal)
+/* */ {
+/* 220 */ return IniFile.gamma().getIniString(entry, defaultVal);
+/* */ }
+/* */
+/* */ public void setIniInt(String entry, int val)
+/* */ {
+/* 225 */ IniFile.gamma().setIniInt(entry, val);
+/* */ }
+/* */
+/* */ public void setIniString(String entry, String val)
+/* */ {
+/* 230 */ IniFile.gamma().setIniString(entry, val);
+/* */ }
+/* */
+/* */ public int getClientVersion()
+/* */ {
+/* 235 */ return Std.getVersion();
+/* */ }
+/* */
+/* */ public void messageBox(String text, String caption)
+/* */ {
+/* 240 */ Console c = Console.getActive();
+/* 241 */ if (c == null) { return;
+/* */ }
+/* 243 */ new OkCancelDialog(Console.getFrame(), null, caption,
+/* 244 */ null, Console.message("OK"), text, true);
+/* */ }
+/* */
+/* */
+/* */ public Object yesNoDialog(String text, String caption, String yes, String no, WorldScript callback)
+/* */ {
+/* 250 */ Console c = Console.getActive();
+/* 251 */ if (c == null) { return null;
+/* */ }
+/* 253 */ return new OkCancelDialog(Console.getFrame(), callback, caption,
+/* 254 */ no, yes, text);
+/* */ }
+/* */
+/* */ public void printToChat(String text)
+/* */ {
+/* 259 */ Console c = Console.getActive();
+/* 260 */ if (c == null) return;
+/* 261 */ Console.println(text);
+/* */ }
+/* */
+/* */ public boolean watchVisibility(Object obj)
+/* */ {
+/* 266 */ if (obj == null) {
+/* 267 */ return false;
+/* */ }
+/* 269 */ if (!(obj instanceof WObject)) {
+/* 270 */ return false;
+/* */ }
+/* 272 */ WObject wobj = (WObject)obj;
+/* 273 */ Room r = wobj.getRoom();
+/* */
+/* 275 */ if (r == null) {
+/* 276 */ return false;
+/* */ }
+/* 278 */ r.addPrerenderHandler(wobj);
+/* */
+/* 280 */ return true;
+/* */ }
+/* */
+/* */ public int getVideoWallStatus(Object video)
+/* */ {
+/* 285 */ if ((video == null) || (!(video instanceof VideoWall))) {
+/* 286 */ return -1;
+/* */ }
+/* 288 */ VideoWall vw = (VideoWall)video;
+/* 289 */ return vw.getState();
+/* */ }
+/* */
+/* */ public boolean playVideo(Object video, int repeat)
+/* */ {
+/* 294 */ if ((video == null) || (!(video instanceof VideoWall))) {
+/* 295 */ return false;
+/* */ }
+/* 297 */ VideoWall vw = (VideoWall)video;
+/* 298 */ VideoSurface vs = vw.getVideoSurface();
+/* 299 */ if (vs == null) { return false;
+/* */ }
+/* 301 */ vs.play(repeat);
+/* */
+/* 303 */ return true;
+/* */ }
+/* */
+/* */ public boolean stopVideo(Object video)
+/* */ {
+/* 308 */ if ((video == null) || (!(video instanceof VideoWall))) {
+/* 309 */ return false;
+/* */ }
+/* 311 */ VideoWall vw = (VideoWall)video;
+/* 312 */ VideoSurface vs = vw.getVideoSurface();
+/* 313 */ if (vs == null) { return false;
+/* */ }
+/* 315 */ vs.stop();
+/* */
+/* 317 */ return true;
+/* */ }
+/* */
+/* */ public boolean setVideoURL(Object video, String url, int width, int height)
+/* */ {
+/* 322 */ if ((video == null) || (!(video instanceof VideoWall))) {
+/* 323 */ return false;
+/* */ }
+/* 325 */ VideoWall vw = (VideoWall)video;
+/* 326 */ vw.changeURL(url, width, height);
+/* */
+/* 328 */ return true;
+/* */ }
+/* */
+/* */ public boolean setWebWallURL(Object webWall, String url)
+/* */ {
+/* 333 */ if ((webWall == null) || (!(webWall instanceof WebPageWall))) {
+/* 334 */ return false;
+/* */ }
+/* 336 */ WebPageWall wpw = (WebPageWall)webWall;
+/* 337 */ WebControlImp wci = wpw.getWebControlImp();
+/* 338 */ if ((wci != null) && (url != null))
+/* */ {
+/* 340 */ return wci.setURL(url);
+/* */ }
+/* */
+/* 343 */ return false;
+/* */ }
+/* */
+/* */ public boolean setWebWallURL(Object webWall, String url, String postData)
+/* */ {
+/* 348 */ if ((webWall == null) || (!(webWall instanceof WebPageWall))) {
+/* 349 */ return false;
+/* */ }
+/* 351 */ WebPageWall wpw = (WebPageWall)webWall;
+/* 352 */ WebControlImp wci = wpw.getWebControlImp();
+/* 353 */ if ((wci != null) && (url != null))
+/* */ {
+/* 355 */ return wci.setURL(url, postData);
+/* */ }
+/* */
+/* 358 */ return false;
+/* */ }
+/* */
+/* */ public boolean animateBot(Object obj, String action) {
+/* 362 */ if (!(obj instanceof PosableShape)) {
+/* 363 */ return false;
+/* */ }
+/* 365 */ PosableShape ps = (PosableShape)obj;
+/* 366 */ ps.animate(action);
+/* */
+/* 368 */ return true;
+/* */ }
+/* */
+/* */ public boolean setShapeURL(Object obj, String url)
+/* */ {
+/* 373 */ if (!(obj instanceof Shape)) {
+/* 374 */ return false;
+/* */ }
+/* 376 */ Shape s = (Shape)obj;
+/* 377 */ s.setURL(URL.make(url));
+/* */
+/* 379 */ return true;
+/* */ }
+/* */
+/* */ public Object findObjectInRoom(String objectName)
+/* */ {
+/* 384 */ Room r = Pilot.getActive().getRoom();
+/* 385 */ if (r != null)
+/* */ {
+/* 387 */ DeepEnumeration<Object> e = new DeepEnumeration();
+/* 388 */ r.getChildren(e);
+/* 389 */ while (e.hasMoreElements())
+/* */ {
+/* 391 */ SuperRoot wobj = (SuperRoot)e.nextElement();
+/* 392 */ if (wobj.getName().equals(objectName))
+/* */ {
+/* 394 */ return wobj;
+/* */ }
+/* */ }
+/* */ }
+/* 398 */ return null;
+/* */ }
+/* */
+/* */
+/* */ public void walkObjectTo(WorldScript script, Object obj, float x, float y, float yaw, float vel)
+/* */ {
+/* 404 */ if (!(obj instanceof WObject))
+/* 405 */ return;
+/* 406 */ HandsOffDriver hod = new HandsOffDriver();
+/* 407 */ hod.setDestPos(new Point2(x, y), yaw, vel);
+/* 408 */ hod.setTarget((Transform)obj);
+/* 409 */ hod.addCallback(script);
+/* 410 */ ((WObject)obj).addHandler(hod);
+/* */ }
+/* */
+/* */
+/* */ public void moveObjectTo(Object obj, float x, float y, float yaw)
+/* */ {
+/* 416 */ if (!(obj instanceof Transform))
+/* 417 */ return;
+/* 418 */ Transform t = (Transform)obj;
+/* 419 */ t.moveTo(x, y, t.getZ()).yaw(yaw);
+/* */ }
+/* */
+/* */
+/* */ public void moveObjectTo(Object obj, float x, float y, float z, float yaw)
+/* */ {
+/* 425 */ if (!(obj instanceof Transform))
+/* 426 */ return;
+/* 427 */ Transform t = (Transform)obj;
+/* 428 */ t.moveTo(x, y, z).yaw(yaw);
+/* */ }
+/* */
+/* */
+/* */ public void moveObjectTo(Object obj, float x, float y, float z, float yaw, float sc)
+/* */ {
+/* 434 */ if (!(obj instanceof Transform))
+/* 435 */ return;
+/* 436 */ Transform t = (Transform)obj;
+/* 437 */ t.moveTo(x, y, z).yaw(yaw);
+/* 438 */ t.scale(sc);
+/* */ }
+/* */
+/* */
+/* */ public boolean isLoggedIn()
+/* */ {
+/* 444 */ Console c = Console.getActive();
+/* 445 */ if (c != null)
+/* */ {
+/* 447 */ Galaxy g = c.getGalaxy();
+/* 448 */ if (g != null)
+/* */ {
+/* 450 */ return g.getOnline();
+/* */ }
+/* */ }
+/* 453 */ return false;
+/* */ }
+/* */
+/* */ public int getConcurrentDownloads()
+/* */ {
+/* 458 */ return CacheEntry.getConcurrentDownloads();
+/* */ }
+/* */
+/* */ public boolean getIsVIP()
+/* */ {
+/* 463 */ Console c = Console.getActive();
+/* 464 */ if (c != null)
+/* */ {
+/* 466 */ return c.getVIP();
+/* */ }
+/* 468 */ return false;
+/* */ }
+/* */
+/* */
+/* */ public void setAdCube(boolean clickable, boolean usesGIF, String baseURL, String defaultURL)
+/* */ {
+/* 474 */ Pilot p = Pilot.getActive();
+/* 475 */ if (p != null)
+/* */ {
+/* 477 */ World w = p.getWorld();
+/* 478 */ if (w != null)
+/* */ {
+/* 480 */ w.setHasClickableAdCube(clickable);
+/* 481 */ w.setAdCubeFormatIsGif(usesGIF);
+/* 482 */ w.setAdCubeBaseURL(baseURL);
+/* 483 */ w.setDefaultAdCubeURL(defaultURL);
+/* */ }
+/* */ }
+/* */ }
+/* */ }
+
+
+/* Location: C:\Program Files (x86)\Worlds Inc\WorldsPlayer - Win7\lib\worlds.jar!\NET\worlds\scape\WorldScriptToolkitImp.class
+ * Java compiler version: 6 (50.0)
+ * JD-Core Version: 0.7.1
+ */ \ No newline at end of file