• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2009-2010 jMonkeyEngine
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are
7  * met:
8  *
9  * * Redistributions of source code must retain the above copyright
10  *   notice, this list of conditions and the following disclaimer.
11  *
12  * * Redistributions in binary form must reproduce the above copyright
13  *   notice, this list of conditions and the following disclaimer in the
14  *   documentation and/or other materials provided with the distribution.
15  *
16  * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
17  *   may be used to endorse or promote products derived from this software
18  *   without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
22  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 package com.jme3.cinematic.events;
33 
34 import com.jme3.animation.LoopMode;
35 import com.jme3.app.Application;
36 import com.jme3.cinematic.Cinematic;
37 import com.jme3.export.InputCapsule;
38 import com.jme3.export.JmeExporter;
39 import com.jme3.export.JmeImporter;
40 import com.jme3.export.OutputCapsule;
41 import de.lessvoid.nifty.Nifty;
42 import java.io.IOException;
43 
44 /**
45  *
46  * @author Nehon
47  */
48 public class GuiTrack extends AbstractCinematicEvent {
49 
50     protected String screen;
51     protected Nifty nifty;
52 
GuiTrack()53     public GuiTrack() {
54     }
55 
GuiTrack(Nifty nifty, String screen)56     public GuiTrack(Nifty nifty, String screen) {
57         this.screen = screen;
58         this.nifty = nifty;
59     }
60 
GuiTrack(Nifty nifty, String screen, float initialDuration)61     public GuiTrack(Nifty nifty, String screen, float initialDuration) {
62         super(initialDuration);
63         this.screen = screen;
64         this.nifty = nifty;
65     }
66 
GuiTrack(Nifty nifty, String screen, LoopMode loopMode)67     public GuiTrack(Nifty nifty, String screen, LoopMode loopMode) {
68         super(loopMode);
69         this.screen = screen;
70         this.nifty = nifty;
71     }
72 
GuiTrack(Nifty nifty, String screen, float initialDuration, LoopMode loopMode)73     public GuiTrack(Nifty nifty, String screen, float initialDuration, LoopMode loopMode) {
74         super(initialDuration, loopMode);
75         this.screen = screen;
76         this.nifty = nifty;
77     }
78 
79     @Override
onPlay()80     public void onPlay() {
81         System.out.println("screen should be "+screen);
82         nifty.gotoScreen(screen);
83     }
84 
85     @Override
onStop()86     public void onStop() {
87         nifty.gotoScreen("");
88     }
89 
90     @Override
onPause()91     public void onPause() {
92     }
93 
setNifty(Nifty nifty)94     public void setNifty(Nifty nifty) {
95         this.nifty = nifty;
96     }
97 
setScreen(String screen)98     public void setScreen(String screen) {
99         this.screen = screen;
100     }
101 
102     @Override
onUpdate(float tpf)103     public void onUpdate(float tpf) {
104     }
105 
106     @Override
write(JmeExporter ex)107     public void write(JmeExporter ex) throws IOException {
108         super.write(ex);
109         OutputCapsule oc = ex.getCapsule(this);
110         oc.write(screen, "screen", "");
111     }
112 
113     @Override
read(JmeImporter im)114     public void read(JmeImporter im) throws IOException {
115         super.read(im);
116         InputCapsule ic = im.getCapsule(this);
117         screen = ic.readString("screen", "");
118     }
119 }
120