Giter Site home page Giter Site logo

wf.player.winphone's Introduction

WF.Player.WinPhone

WF.Player implementation for Windows Phone

wf.player.winphone's People

Contributors

mangatome avatar charlenni avatar

Stargazers

Pham Tuan Anh avatar Aronas Summers avatar jgfntu avatar Doru Cioclea avatar Tommi Rautava avatar

Watchers

James Cloos avatar  avatar  avatar  avatar Ranger Fox avatar

Forkers

kamaelyoung

wf.player.winphone's Issues

Parse & interact with geocoordinates from Thing descriptions

Some cartridges feature cache coordinates as inventory items with no Location set. Instead, the coordinates are provided as text in Thing.Description.

Make geocoordinates from Things descriptions interactive, to support several use cases:

  • copy the coordinates to clipboard
  • navigate to coordinates using external map app
  • pinpoint the coordinates on the map

UI: Blocking feedback for quitting the game

The blocking progress UI does not appear for saving or quitting a cartridge, probably because when Engine.GameState is notified to have changed, the UI Dispatcher is filled with actions to perform (?).

Map: Improve zone visibility

  • Make sure zones can be distinguished at lower zoom levels.
  • Improve user understanding of the distance to a target zone (e.g. line to zone). This would require the ability to mark a zone or thing as targeted.

UI: Status text

  • Blend a status text bar.
  • Implement handler for Engine.ShowStatusTextRequested

UI: Menu and blocking progress info

  • Remove the menu while a blocking game operation is happening.
  • Remove the menu during a message box (check conformity with guidelines) and make sure it appears again after.

Fix HourlyDateTimeConverter crash

HourlyDateTimeConverter throws "System.NotSupportedException: Invalid argument. Future dates and times are not supported." for some timezones.

Fix described here: http://silverlight.codeplex.com/workitem/9365


If you are in the UTC-x (east of greenwich) the RelativeTimeConverter will often fail with a "Invalid argument. Future dates and times are not supported.". This is because it only compares the UTC value to the local time value without taking the timezone into account. This means that to the converter, it looks like the time is in the future. Instead it should first ensure that the DateTime.Now and 'value' is in the same DateTimeKind, and if not, convert it to that (ie. use value.ToLocalTime()) prior to getting the timespan value.

For whatever reasion subtraction between two dates doesn't automatically take timezone into account, so you have to explicitly do this.
This would fix it:
Change the following in Convert(...) method from:
DateTime given = (DateTime)value;
DateTime current = DateTime.Now;
TimeSpan difference = current - given;

to:
DateTime given = ((DateTime)value).ToLocalTime();
DateTime current = DateTime.Now;
TimeSpan difference = current - given;

Having said that, I do think it's poor practice to throw an error on this. If the user's clock is slightly off, you can risk bombing the application for very recent DateTime values coming from for instance a twitter stream. Instead it should either return string.Empty or "just now".

UI: Compass/bearing to Things is wrong

  • Fix bearing calculation
  • Integrate compass/gyroscope.
  • Fix compass screen UX and not showing example image.
  • Fix compass calibration page navigation occurring at start-up (dismisses some message boxes)

Logging

Keep GWL logs of cartridge sessions and present them to the user on demand.
Allow uploading to OneDrive.

Reduce location update spam

Changes in location happen too often, causing spamming in the Engine and decreasing perceived performances. Don't trigger a location update unless the engine is not busy, and avoid running one if the location hasn't significantly changed.

Page animations

Add native WP page transitions to enhance the experience.

Looping and discarded inputs

  • Inputs that handle nil or wrong answers by showing the input again cannot be escaped of. There is also no menu or no way to quit the cartridge in this state. (Actually, double back key may do the trick while the input is not on-screen.)
  • Inputs intermittently get discarded. (Related to not calling BeginRunOnIdle?)

Prevent starting a cartridge without a location fix.

Display a message when trying to run a cartridge if:

  • location services are disabled
  • no location fix is available

Optionally display a warning message if?

  • the accuracy is too low

Allow players to start a cartridge anyway.

UI: Better aggregation of progress reporting

  • Non-blocking progress can be invalid if several sources are improperly hooked to it.
    (Example: CartridgeStore.IsBusy)
  • Only show "Loading..." after 500ms of business. (MS guideline)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.