+ All Categories
Home > Technology > WaveEngine services

WaveEngine services

Date post: 04-Jul-2015
Category:
Upload: waveengineteam
View: 1,605 times
Download: 0 times
Share this document with a friend
28
WaveEngineTeam @waveengineteam http://waveengine.net Wave Engine Services
Transcript
Page 1: WaveEngine services

WaveEngineTeam

@waveengineteam

http://waveengine.net

Wave Engine Services

Page 2: WaveEngine services

¿What is a service?

• It does not depend on the scenes.

• It is accesible from anywhere in your code

• Multiplatform API

Page 3: WaveEngine services

WaveEngine services list

• Assets

• CameraCapture

• GraphicsDevice

• Input

• Layout

• Microphone

• MusicPlayer

• Platform

• Random

• ScreenContextManager

• SoundPlayer

• Storage

• Taskscheduler

• TimerFactory

• TouchPanel

• VideoPlayer

• ViewportManager

Page 4: WaveEngine services

WaveEngine services list

• Assets

• CameraCapture

• GraphicsDevice

• Input

• Layout

• Microphone

• MusicPlayer

• Platform

• Random

• ScreenContextManager

• SoundPlayer

• Storage

• Taskscheduler

• TimerFactory

• TouchPanel

• VideoPlayer

• ViewportManager

Page 5: WaveEngine services

How to access?

WaveServices.[service]

Example:WaveServices.Input.KeyboardState.IsKeyPressed(Keys.Space);

Page 6: WaveEngine services

WaveServices.Platform

WaveServices.Platform.PlatformName;

WaveServices.Platform.OperatingSystem;

WaveServices.Platform.AppVersion;

WaveServices.Platform.ScreenWidth;

WaveServices.Platform.ScreenHeight;

Page 7: WaveEngine services

WaveServices.ViewportManager

Nokia Lumia 920768x1280

Samsung Galaxy S41080x1920

iPhone 51136x640

Page 8: WaveEngine services

WaveServices.ViewportManager

Virtual mobile device

Myresolution

Page 9: WaveEngine services

WaveServices.ViewportManager

Mode: Fill Mode: Uniform Mode: UniformToFill

There are 3 modes

Page 10: WaveEngine services

WaveServices.ViewportManager

Configure ViewportManager

ViewportManager vm = WaveServices.ViewportManager;

vm.Activate(768, 1024, ViewportManager.StretchMode.UniformToFill);

Page 11: WaveEngine services

WaveServices.ViewportManager

iPhone 51136x640

Surface RT1366x768

Page 12: WaveEngine services

WaveServices.ScreenContextManager

ScreenContext

BackgroundScene

SceneUI

ScreenContext

Scene1

Simple context Multiple context

Page 13: WaveEngine services

WaveServices.ScreenContextManager

ScreenContext1(Paused)

ScreenContext2(Running)

Stack(before)

PushScreenContext3

ScreenContext1(Paused)

ScreenContext2(Paused)

Stack(after)

ScreenContext3(Running)

Page 14: WaveEngine services

WaveServices.ScreenContextManager

ScreenContext1(Paused)

ScreenContext2(Paused)

Stack(before)

Pop

ScreenContext1(Paused)

ScreenContext2(Running)

Stack(after)

ScreenContext3(Running)

Page 15: WaveEngine services

WaveServices.ScreenContextManager

ScreenContext1(Paused)

ScreenContext2(Running)

Stack(before)

ToScreenContext3

Stack(after)

ScreenContext3(Running)

Page 16: WaveEngine services

WaveServices.ScreenContextManager

Page 17: WaveEngine services

ScreenContext(Running)(Drawing)

WaveServices.ScreenContextManager

Change the ScreenContext behavior

ScreenContext context = new ScreenContext();

context.Behavior =

ScreenContextBehaviors.DrawInBackground | ScreenContextBehaviors.UpdateInBackground;

ScreenContext2(Running)(Drawing)

Stack

Page 18: WaveEngine services

WaveServices.ScreenContextManager

Screen Transitions

• ChecqueredAppearTransition• ColorFadeTransition• CombTransition• CoverTransition• CrossFadeTransition• CurtainsTransition• DoorwayTransition• FallingLinesTransition• FanTransitions

• PushTransition• RotateTransition• ScaleTransition• ShrinkAndSpinTransition• UncoverTransition• ZoomTransition

Page 19: WaveEngine services

WaveServices.Input

Sensor’s list

• AccelerometerState• DisplayOrientationState• GamePadState• GyroscopeState• KeyboardState• MouseState• TouchPanelState

Page 20: WaveEngine services

WaveServices.Input

var inputService = WaveServices.Input;

if (inputService.KeyboardState.IsConnected)

{

// Detect key Up

if (inputService.KeyboardState.Up == ButtonState.Pressed &&

beforeKeyboardState.Up != ButtonState.Pressed)

{

// Custom action

}

}

beforeKeyboardState = inputService.KeyboardState;

Page 21: WaveEngine services

WaveServices.Input

var inputService = WaveServices.Input;

if (inputService.TouchPanelState.IsConnected)

{

// Detect touch

if (inputService. TouchPanelState.Count > 0)

{

Vector2 touchPosition = inputService. TouchPanelState[0].Position;

// Custom action

}

}

Page 22: WaveEngine services

WaveServices.Input

var inputService = WaveServices.Input;

if (inputService.AccelerometerState.IsConnected)

{

inputService.StartAccelerometer();

inputService.AccelerometerState.SmoothAcceleration.X

inputService.AccelerometerState.SmoothAcceleration.Y

inputService.AccelerometerState.SmoothAcceleration.Z

}

inputService.StopAccelerometer();

Page 23: WaveEngine services

WaveServices.TimerFactory

WaveServices.TimerFactory.CreateTimer(“myTimer”, TimeSpan.FromSeconds(0.6f), () =>

{

// Delayed action

},false);

Page 24: WaveEngine services

WaveServices.MusicPlayer

var musicPlayer = WaveServices.MusicPlayer;

musicPlayer.Play(new MusicInfo(“Content/music.mp3”));

musicPlayer.IsRepeat = true;

musicPlayer.Volume = 0.5f;

Page 25: WaveEngine services

WaveServices.SoundPlayer

//Register bank

SoundBank bank = new SoundBank(Assets);

WaveServices.SoundPlayer.RegisterSoundBank(bank);

//Register sounds

SoundInfo sound1 = new SoundInfo("Content/effect.wpk");

bank.Add(sound1);

WaveServices.SoundPlayer.Play(sound1);

Page 26: WaveEngine services

WaveServices.Storage

public class MyStorageClass

{

public int Level;

public int BestScore;

public Vector2 PlayerPosition;

public float PlayerLife;

}

Page 27: WaveEngine services

WaveServices.Storage

MyStorageClass storage;

WaveServices.Storage.Write<MyStorageClass>(storage);

if (WaveServices.Storage.Exists<MyStorageClass>())

{

storage = WaveServices.Storage.Read<MyStorageClass>();

}

Page 28: WaveEngine services

Thank you

WaveEngine Team

@waveengineteam

http://waveengine.net


Recommended