GameInviteTaskを使って他のプレイヤーにゲームの招待画面を表示する

GameInviteTaskは、ユーザーがマルチプレイヤーのゲームに他のユーザーを招待する画面を表示するセレクターです。

GameInviteTaskクラスのShowメソッドを実行すると、ゲームへの招待画面が起動します。Windows Phone の Xbox LIVE でリリースが承認されたゲーム内から呼び出した場合にのみ機能します。

using System;
using System.Windows;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Tasks;
 
namespace GameInviteTaskTest {
    public partial class MainPage : PhoneApplicationPage {
        // コンストラクター
        public MainPage() {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, RoutedEventArgs e) {
            var task = new GameInviteTask();
            task.Completed += new EventHandler<TaskEventArgs>(task_Completed);
            // セッションIDはユニークなIDを指定します
            task.SessionId = "SomeSessionID";
            task.Show();
        }
 
        void task_Completed(object sender, TaskEventArgs e) {
            switch (e.TaskResult) {
                case TaskResult.OK:
                    // ゲームへの招待に成功
                    break;
                case TaskResult.Cancel:
                    // ユーザーによって招待をキャンセルされた
                    break;
                case TaskResult.None:
                    //  ゲームへの招待が出来なかった
                    break;
            }
        }
    }
}
Imports System.Windows
Imports Microsoft.Phone.Controls
Imports Microsoft.Phone.Tasks
 
Namespace GameInviteTaskTest
	Public Partial Class MainPage
		Inherits PhoneApplicationPage
		' コンストラクター
		Public Sub New()
			InitializeComponent()
		End Sub
 
		Private Sub button1_Click(sender As Object, e As RoutedEventArgs)
			Dim task = New GameInviteTask()
			task.Completed += New EventHandler(Of TaskEventArgs)(AddressOf task_Completed)
			' セッションIDはユニークなIDを指定します
			task.SessionId = "SomeSessionID"
			task.Show()
		End Sub
 
		Private Sub task_Completed(sender As Object, e As TaskEventArgs)
			Select Case e.TaskResult
				Case TaskResult.OK
					' ゲームへの招待に成功
					Exit Select
				Case TaskResult.Cancel
					' ユーザーによって招待をキャンセルされた
					Exit Select
				Case TaskResult.None
					'  ゲームへの招待が出来なかった
					Exit Select
			End Select
		End Sub
	End Class
End Namespace

参照