コード例 #1
0
		internal WIGInternalImpl(Engine engine, LuaDataFactory dataFactory)
		{
			this._engine = engine;
			this._dataFactory = dataFactory;
			this._mathHelper = new GeoMathHelper(dataFactory);
			LuaDataContainer wiginternal = dataFactory.CreateContainerAt("WIGInternal");

			// WIGInternal Lua hooks: UI-related events
			AddMethodToTable(wiginternal, "LogMessage");
			AddMethodToTable(wiginternal, "MessageBox");
			AddMethodToTable(wiginternal, "GetInput");
			AddMethodToTable(wiginternal, "NotifyOS");
			AddMethodToTable(wiginternal, "ShowScreen");
			AddMethodToTable(wiginternal, "ShowStatusText");

			// WIGInternal Lua hooks: gameplay-related events
			AddMethodToTable(wiginternal, "AttributeChangedEvent");
			AddMethodToTable(wiginternal, "CartridgeEvent");
			AddMethodToTable(wiginternal, "CommandChangedEvent");
			AddMethodToTable(wiginternal, "InventoryEvent");
			AddMethodToTable(wiginternal, "MediaEvent");
			AddMethodToTable(wiginternal, "TimerEvent");
			AddMethodToTable(wiginternal, "ZoneStateChangedEvent");

			// WIGInternal Lua hooks: internal functions
			AddMethodToTable(wiginternal, "IsPointInZone", "IsPointInZoneLua");
			AddMethodToTable(wiginternal, "VectorToZone", "VectorToZoneLua");
			AddMethodToTable(wiginternal, "VectorToSegment", "VectorToSegmentLua");
			AddMethodToTable(wiginternal, "VectorToPoint", "VectorToPointLua");
			AddMethodToTable(wiginternal, "TranslatePoint", "TranslatePointLua");

			// Marks package WIGInternal as loaded
			dataFactory.SetContainerAt("package.loaded.WIGInternal", wiginternal);
			dataFactory.SetContainerAt("package.preload.WIGInternal", wiginternal);

			// Loads the Wherigo LUA engine.
			dataFactory.LoadAndRunEngine();
		}
コード例 #2
0
		/// <summary>
		/// Initializes a new instance of the <see cref="WF.Player.CartridgeDetailViewModel"/> class.
		/// </summary>
		/// <param name="tag">CartridgeTag to show.</param>
		public CartridgeDetailViewModel(CartridgeTag tag)
		{
			this.cartridgeTag = tag;

			this.geoMathHelper = new GeoMathHelper();
			this.target = new ZonePoint(cartridgeTag.Cartridge.StartingLocationLatitude, cartridgeTag.Cartridge.StartingLocationLongitude, 0);

			Direction = double.NegativeInfinity;
			Distance = double.NegativeInfinity;

			if (App.GPS.LastKnownPosition != null)
			{
				HandlePositionChanged(this, new PositionEventArgs(App.GPS.LastKnownPosition));
			}
		}
コード例 #3
0
ファイル: GameMainViewModel.cs プロジェクト: Surfoo/WF.Player
		/// <summary>
		/// Initializes a new instance of the <see cref="WF.Player.GameMainViewModel"/> class.
		/// </summary>
		/// <param name="gameModel">Game model.</param>
		public GameMainViewModel(GameModel gameModel)
		{
			this.gameModel = gameModel;
			this.geoMathHelper = new GeoMathHelper();

			Position = App.GPS.LastKnownPosition;

			// Deactivate always on behavior of screen
			DependencyService.Get<IScreen>().AlwaysOn(true);

			this.gameModel.DisplayChanged += OnDisplayChanged;

			IsBusy = true;
		}
コード例 #4
0
		/// <summary>
		/// Initializes a new instance of the <see cref="WF.Player.GameDetailViewModel"/> class.
		/// </summary>
		public GameDetailViewModel(UIObject activeObject = null)
		{
			this.geoMathHelper = new GeoMathHelper();
			this.activeObject = activeObject;

			Position = App.GPS.LastKnownPosition;
		}