From 3fc5ce58c387ef0020fd59c2627589079e5532bd Mon Sep 17 00:00:00 2001 From: Miguel Astor Date: Mon, 16 Dec 2013 16:02:29 -0430 Subject: [PATCH] Started programming app states. Incorporated Artemis. --- .../ccg/nxtar/components/VideoFrame.java | 40 +++++++++++++ .../ciens/ccg/nxtar/states/DummyState.java | 45 +++++++++++++++ .../ciens/ccg/nxtar/states/InGameState.java | 56 +++++++++++++++++++ .../ciens/ccg/nxtar/states/NxtARState.java | 25 +++++++++ .../ciens/ccg/nxtar/systems/RenderSystem.java | 36 ++++++++++++ 5 files changed, 202 insertions(+) create mode 100644 src/ve/ucv/ciens/ccg/nxtar/components/VideoFrame.java create mode 100644 src/ve/ucv/ciens/ccg/nxtar/states/DummyState.java create mode 100644 src/ve/ucv/ciens/ccg/nxtar/states/InGameState.java create mode 100644 src/ve/ucv/ciens/ccg/nxtar/states/NxtARState.java create mode 100644 src/ve/ucv/ciens/ccg/nxtar/systems/RenderSystem.java diff --git a/src/ve/ucv/ciens/ccg/nxtar/components/VideoFrame.java b/src/ve/ucv/ciens/ccg/nxtar/components/VideoFrame.java new file mode 100644 index 0000000..6a85af6 --- /dev/null +++ b/src/ve/ucv/ciens/ccg/nxtar/components/VideoFrame.java @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2013 Miguel Angel Astor Romero + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package ve.ucv.ciens.ccg.nxtar.components; + +import com.artemis.Component; +import com.badlogic.gdx.graphics.Pixmap; +import com.badlogic.gdx.graphics.Texture; + +public class VideoFrame extends Component { + private Texture frame; + + public VideoFrame(){ } + + public VideoFrame(byte[] imageData){ + frame = new Texture(new Pixmap(imageData, 0, imageData.length)); + } + + public Texture getFrame(){ + return frame; + } + + public void setFrame(byte[] imageData){ + if(frame != null) + frame.dispose(); + frame = new Texture(new Pixmap(imageData, 0, imageData.length)); + } +} diff --git a/src/ve/ucv/ciens/ccg/nxtar/states/DummyState.java b/src/ve/ucv/ciens/ccg/nxtar/states/DummyState.java new file mode 100644 index 0000000..0aa0f8f --- /dev/null +++ b/src/ve/ucv/ciens/ccg/nxtar/states/DummyState.java @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2013 Miguel Angel Astor Romero + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package ve.ucv.ciens.ccg.nxtar.states; + +/** + * Empty state. + * + * Completely empty state for debugging purposes. + * + * @author miky + */ +public class DummyState implements NxtARState{ + + @Override + public void input(){ } + + @Override + public void update(){ } + + @Override + public void render(){ } + + @Override + public void pause(){ } + + @Override + public void resume(){ } + + @Override + public void dispose(){ } + +} diff --git a/src/ve/ucv/ciens/ccg/nxtar/states/InGameState.java b/src/ve/ucv/ciens/ccg/nxtar/states/InGameState.java new file mode 100644 index 0000000..0e94ede --- /dev/null +++ b/src/ve/ucv/ciens/ccg/nxtar/states/InGameState.java @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2013 Miguel Angel Astor Romero + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package ve.ucv.ciens.ccg.nxtar.states; + +public class InGameState implements NxtARState{ + + @Override + public void input() { + // TODO Auto-generated method stub + + } + + @Override + public void update() { + // TODO Auto-generated method stub + + } + + @Override + public void render() { + // TODO Auto-generated method stub + + } + + @Override + public void pause() { + // TODO Auto-generated method stub + + } + + @Override + public void resume() { + // TODO Auto-generated method stub + + } + + @Override + public void dispose() { + // TODO Auto-generated method stub + + } + +} diff --git a/src/ve/ucv/ciens/ccg/nxtar/states/NxtARState.java b/src/ve/ucv/ciens/ccg/nxtar/states/NxtARState.java new file mode 100644 index 0000000..90dee4f --- /dev/null +++ b/src/ve/ucv/ciens/ccg/nxtar/states/NxtARState.java @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2013 Miguel Angel Astor Romero + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package ve.ucv.ciens.ccg.nxtar.states; + +public interface NxtARState{ + public void input(); + public void update(); + public void render(); + public void pause(); + public void resume(); + public void dispose(); +} diff --git a/src/ve/ucv/ciens/ccg/nxtar/systems/RenderSystem.java b/src/ve/ucv/ciens/ccg/nxtar/systems/RenderSystem.java new file mode 100644 index 0000000..614a69b --- /dev/null +++ b/src/ve/ucv/ciens/ccg/nxtar/systems/RenderSystem.java @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2013 Miguel Angel Astor Romero + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package ve.ucv.ciens.ccg.nxtar.systems; + +import ve.ucv.ciens.ccg.nxtar.components.VideoFrame; + +import com.artemis.Aspect; +import com.artemis.Entity; +import com.artemis.systems.EntityProcessingSystem; + +public class RenderSystem extends EntityProcessingSystem { + + @SuppressWarnings("unchecked") + public RenderSystem(Aspect aspect) { + super(Aspect.getAspectForAll(VideoFrame.class)); + } + + @Override + protected void process(Entity arg0) { + + } + +}