diff --git a/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/Content/ContentManager.java b/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/Content/ContentManager.java index ca58d28..8f1eb6f 100644 --- a/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/Content/ContentManager.java +++ b/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/Content/ContentManager.java @@ -12,5 +12,12 @@ import com.openeggbert.jdotnet.System.IDisposable; */ public abstract class ContentManager implements IDisposable { public abstract T Load(String assetName); + public String getRootDirectory() { + return ""; + //todo + } + public void setRootDirectory(String rootDirectory) { + //todo + } } diff --git a/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/ExitingEventArgs.java b/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/ExitingEventArgs.java new file mode 100644 index 0000000..25a6c24 --- /dev/null +++ b/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/ExitingEventArgs.java @@ -0,0 +1,18 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template + */ +package com.openeggbert.jxna.Microsoft.Xna.Framework; + +import com.openeggbert.jdotnet.System.EventArgs; +import lombok.Getter; +import lombok.Setter; + +/** + * + * @author robertvokac + */ +public class ExitingEventArgs extends EventArgs { + @Getter @Setter + public boolean Cancel; +} diff --git a/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/Game.java b/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/Game.java index 734ef55..ce6d66c 100644 --- a/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/Game.java +++ b/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/Game.java @@ -4,10 +4,57 @@ */ package com.openeggbert.jxna.Microsoft.Xna.Framework; +import com.openeggbert.jdotnet.System.*; +import com.openeggbert.jdotnet.System.Event; +import com.openeggbert.jdotnet.System.EventHandler; +import com.openeggbert.jdotnet.System.EventHandlerImpl; +import com.openeggbert.jxna.Microsoft.Xna.Framework.Content.ContentManager; +import lombok.Getter; +import lombok.Setter; + /** * * @author robertvokac */ public class Game { + private final EventHandler ExitingInternal = new EventHandlerImpl(); + public @Event EventHandler Exiting() {return ExitingInternal;} + public boolean isMouseVisible() { + return true; + //todo + } + + public void setMouseVisible(boolean mouseVisible) { + //todo + } + @Getter @Setter + public ContentManager Content; + @Getter @Setter + public TimeSpan TargetElapsedTime; + @Getter @Setter + public TimeSpan InactiveSleepTime; + protected void Initialize() + { + } + + protected void LoadContent() + { + } + + protected void UnloadContent() + { + } + protected void OnDeactivated(Object sender, EventArgs args) { + + } + + protected void OnActivated(Object sender, EventArgs args) { + } + + protected void Update(GameTime gameTime) { + } + + public void Exit() {} + } diff --git a/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/GameTime.java b/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/GameTime.java new file mode 100644 index 0000000..88db7ad --- /dev/null +++ b/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/GameTime.java @@ -0,0 +1,19 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template + */ +package com.openeggbert.jxna.Microsoft.Xna.Framework; + +import com.openeggbert.jdotnet.System.TimeSpan; +import lombok.Getter; + +/** + * + * @author robertvokac + */ +public class GameTime { + @Getter + public TimeSpan TotalGameTime; + + +} diff --git a/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/GraphicsDeviceManager.java b/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/GraphicsDeviceManager.java index 83b4bec..3689c75 100644 --- a/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/GraphicsDeviceManager.java +++ b/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/GraphicsDeviceManager.java @@ -9,5 +9,15 @@ package com.openeggbert.jxna.Microsoft.Xna.Framework; * @author robertvokac */ public class GraphicsDeviceManager { + public GraphicsDeviceManager(Game game) { + //todo + } + public boolean isFullScreen() { + return true; + //todo + } + public void setFullScreen(boolean value) { + //todo + } } diff --git a/src/main/java/com/openeggbert/jxna/Microsoft/Xna/GameAAA/NewClass.java b/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/Input/ButtonState.java similarity index 68% rename from src/main/java/com/openeggbert/jxna/Microsoft/Xna/GameAAA/NewClass.java rename to src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/Input/ButtonState.java index d97a75a..f5cea92 100644 --- a/src/main/java/com/openeggbert/jxna/Microsoft/Xna/GameAAA/NewClass.java +++ b/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/Input/ButtonState.java @@ -2,13 +2,14 @@ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template */ -package com.openeggbert.jxna.Microsoft.Xna.GameAAA; - +package com.openeggbert.jxna.Microsoft.Xna.Framework.Input; /** * * @author robertvokac */ -public class NewClass { +public enum ButtonState { + Released, + Pressed } diff --git a/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/Input/GamePad.java b/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/Input/GamePad.java new file mode 100644 index 0000000..bdd21ac --- /dev/null +++ b/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/Input/GamePad.java @@ -0,0 +1,18 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template + */ +package com.openeggbert.jxna.Microsoft.Xna.Framework.Input; + +import com.openeggbert.jxna.Microsoft.Xna.Framework.PlayerIndex; + +/** + * + * @author robertvokac + */ +public class GamePad { + public static GamePadState GetState(PlayerIndex playerIndex) { + return null; + } + +} diff --git a/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/Input/GamePadButtons.java b/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/Input/GamePadButtons.java new file mode 100644 index 0000000..32630f7 --- /dev/null +++ b/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/Input/GamePadButtons.java @@ -0,0 +1,49 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template + */ +package com.openeggbert.jxna.Microsoft.Xna.Framework.Input; + +import com.openeggbert.jdotnet.System.Struct; +import lombok.Getter; + +/** + * + * @author robertvokac + */ +@Getter +public class GamePadButtons extends Struct { + + @Override + public GamePadButtons copy() { + return new GamePadButtons(); + } + + @Override + public GamePadButtons reset() { + return this; + } + + public ButtonState A; + + public ButtonState B; + + public ButtonState Back; + + public ButtonState X; + + public ButtonState Y; + + public ButtonState Start; + + public ButtonState LeftShoulder; + + public ButtonState LeftStick; + + public ButtonState RightShoulder; + + public ButtonState RightStick; + + public ButtonState BigButton; + +} diff --git a/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/Input/GamePadState.java b/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/Input/GamePadState.java new file mode 100644 index 0000000..6ef205b --- /dev/null +++ b/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/Input/GamePadState.java @@ -0,0 +1,28 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template + */ +package com.openeggbert.jxna.Microsoft.Xna.Framework.Input; + +import com.openeggbert.jdotnet.System.Struct; +import lombok.Getter; + +/** + * + * @author robertvokac + */ +public class GamePadState extends Struct{ + + @Override + public GamePadState copy() { + return new GamePadState(); + } + + @Override + public GamePadState reset() { + return this; + } + @Getter + public GamePadButtons Buttons; + +} diff --git a/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/Input/Mouse.java b/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/Input/Mouse.java new file mode 100644 index 0000000..692b7ad --- /dev/null +++ b/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/Input/Mouse.java @@ -0,0 +1,16 @@ +package com.openeggbert.jxna.Microsoft.Xna.Framework.Input; + +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template + */ + +/** + * + * @author robertvokac + */ +public class Mouse { + public static void SetCursor(MouseCursor mouseCursor) { + //todo + } +} diff --git a/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/Input/MouseCursor.java b/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/Input/MouseCursor.java new file mode 100644 index 0000000..26b68d4 --- /dev/null +++ b/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/Input/MouseCursor.java @@ -0,0 +1,40 @@ +package com.openeggbert.jxna.Microsoft.Xna.Framework.Input; + + +import lombok.Getter; + +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template + */ + +/** + * + * @author robertvokac + */ +public class MouseCursor { + + @Getter public static MouseCursor Arrow; + + @Getter public static MouseCursor IBeam; + + @Getter public static MouseCursor Wait; + + @Getter public static MouseCursor Crosshair; + + @Getter public static MouseCursor WaitArrow; + + @Getter public static MouseCursor SizeNWSE; + + @Getter public static MouseCursor SizeNESW; + + @Getter public static MouseCursor SizeWE; + + @Getter public static MouseCursor SizeNS; + + @Getter public static MouseCursor SizeAll; + + @Getter public static MouseCursor No; + + @Getter public static MouseCursor Hand; +} diff --git a/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/Input/Touch/TouchPanel.java b/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/Input/Touch/TouchPanel.java new file mode 100644 index 0000000..e65884c --- /dev/null +++ b/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/Input/Touch/TouchPanel.java @@ -0,0 +1,16 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template + */ +package com.openeggbert.jxna.Microsoft.Xna.Framework.Input.Touch; + +/** + * + * @author robertvokac + */ +public class TouchPanel { + public static TouchPanelCapabilities GetCapabilities () { + return null;//todo + } + +} diff --git a/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/Input/Touch/TouchPanelCapabilities.java b/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/Input/Touch/TouchPanelCapabilities.java new file mode 100644 index 0000000..fb536a3 --- /dev/null +++ b/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/Input/Touch/TouchPanelCapabilities.java @@ -0,0 +1,51 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template + */ +package com.openeggbert.jxna.Microsoft.Xna.Framework.Input.Touch; + +import com.openeggbert.jdotnet.System.Struct; +import lombok.AllArgsConstructor; +import lombok.NoArgsConstructor; + +/** + * + * @author robertvokac + */ +@AllArgsConstructor +@NoArgsConstructor +public class TouchPanelCapabilities extends Struct{ + private boolean hasPressure; + + private boolean isConnected; + + private int maximumTouchCount; + + private boolean initialized; + @Override + public TouchPanelCapabilities copy() { + return new TouchPanelCapabilities(hasPressure, isConnected, maximumTouchCount, initialized); + } + + @Override + public TouchPanelCapabilities reset() { + return new TouchPanelCapabilities(false, false, 0, false); + } + + public boolean HasPressure() {return hasPressure;} + + public boolean IsConnected() {return isConnected;} + + public int MaximumTouchCount() {return maximumTouchCount;} + + public void Initialize() + { + if (!initialized) + { + initialized = true; + hasPressure = false; + isConnected = false; + } + } + +} diff --git a/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/PlayerIndex.java b/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/PlayerIndex.java new file mode 100644 index 0000000..f6b216c --- /dev/null +++ b/src/main/java/com/openeggbert/jxna/Microsoft/Xna/Framework/PlayerIndex.java @@ -0,0 +1,16 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template + */ +package com.openeggbert.jxna.Microsoft.Xna.Framework; + +/** + * + * @author robertvokac + */ +public enum PlayerIndex { + One, + Two, + Three, + Four +}