2024-11-14 18:25:21 +08:00
using System ;
using System.Collections ;
using System.Collections.Generic ;
using UnityEngine ;
using System.Threading.Tasks ;
using Newtonsoft.Json ;
using UnityEngine.UI ;
/ * public class selectQueryKill : MonoBehaviour
{
public string token = null ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> token<65> <6E> <EFBFBD> <EFBFBD> ʼ Ϊ null
public int escapeId = - 1 ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> escapeId<49> <64> <EFBFBD> <EFBFBD> ʼ Ϊ -1 <20> <> ʾ δ<CABE> <CEB4> <EFBFBD> <EFBFBD>
void Start ( )
{
// ע<> <D7A2> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ¼<EFBFBD> <C2BC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> յ<EFBFBD> token ʱ<> <CAB1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> HandleTokenReceived
LoginAndGetToken . OnTokenReceived + = HandleTokenReceived ;
// ע<> <D7A2> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> escapeId <20> <> <EFBFBD> <EFBFBD> ʱ<EFBFBD> <CAB1> <EFBFBD> <EFBFBD> HandleGameEscapeIdUpdated<65> <64> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ִ<EFBFBD> <D6B4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
selectLatest511 . OnGameEscapeIdUpdated + = HandleGameEscapeIdUpdated ;
}
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> յ<EFBFBD> token ʱ<> <CAB1> <EFBFBD> <EFBFBD> <EFBFBD> ˷<EFBFBD> <CBB7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> token
public void HandleTokenReceived ( string receivedToken )
{
token = receivedToken ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> token
// <20> ״ε<D7B4> <CEB5> ü<EFBFBD> <C3BC> س<EFBFBD> ʼ <EFBFBD> <CABC> <EFBFBD> <EFBFBD>
LoadInitialData ( ) ;
//LoadGameEscapeData();
//Debug.Log("<22> <> <EFBFBD> յ<EFBFBD> <D5B5> µ<EFBFBD> token: " + token);
}
// <20> <> <EFBFBD> <EFBFBD> Ϸ<EFBFBD> <CFB7> <EFBFBD> <EFBFBD> ID <20> <> <EFBFBD> <EFBFBD> ʱ<EFBFBD> <CAB1> <EFBFBD> <EFBFBD> <EFBFBD> ˷<EFBFBD> <CBB7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> escapeId
public async void HandleGameEscapeIdUpdated ( int newGameEscapeId )
{
escapeId = newGameEscapeId ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> escapeId
await QueryKill ( ) ; //==================================================================================<3D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ϊ<EFBFBD> <CEAA> <EFBFBD> <EFBFBD> д<EFBFBD> <D0B4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Է<EFBFBD> <D4B7> <EFBFBD> <EFBFBD> κεط<CEB5> <D8B7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> input.GetKeyDown.....<2E> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
// Debug.Log("<22> <> <EFBFBD> յ<EFBFBD> <D5B5> µ<EFBFBD> GameEscapeId: " + escapeId);
}
// <20> <> <EFBFBD> س<EFBFBD> ʼ <EFBFBD> <CABC> <EFBFBD> ݣ<EFBFBD> ʹ <EFBFBD> <CAB9> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> token
public async void LoadInitialData ( )
{
if ( string . IsNullOrEmpty ( token ) )
{
Debug . LogWarning ( "<22> <EFBFBD> <DEB7> <EFBFBD> <EFBFBD> س<EFBFBD> ʼ <EFBFBD> <CABC> <EFBFBD> ݣ<EFBFBD> token δ<> <CEB4> <EFBFBD> á<EFBFBD> " ) ;
return ;
}
await QueryKill ( ) ;
}
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ϸ<EFBFBD> <CFB7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ݣ<EFBFBD> ʹ <EFBFBD> <CAB9> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> escapeId <20> <> token
public async void selectQueryKill1 ( )
{
if ( string . IsNullOrEmpty ( token ) )
{
Debug . LogWarning ( "<22> <EFBFBD> <DEB7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ϸ<EFBFBD> <CFB7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ݣ<EFBFBD> token δ<> <CEB4> <EFBFBD> á<EFBFBD> " ) ;
return ;
}
if ( escapeId = = - 1 )
{
Debug . LogWarning ( "<22> <EFBFBD> <DEB7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ϸ<EFBFBD> <CFB7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ݣ<EFBFBD> escapeId δ<> <CEB4> <EFBFBD> á<EFBFBD> " ) ;
return ;
}
// <20> <> ѯ<EFBFBD> <D1AF> ɱ<EFBFBD> <C9B1> <EFBFBD> <EFBFBD>
await QueryKill ( ) ; //=================================================================================================================================
}
//===============================================================================================================================================================================================================================
// <20> <> ѯ<EFBFBD> <D1AF> ɱ<EFBFBD> <C9B1> Ϣ
public async Task QueryKill ( )
{
var headers = CreateHeaders ( ) ;
string body = $ @ "
{ {
"" userId "" : 106 ,
"" escapeId "" : { escapeId }
} } ";
string response = await web . SendRequest ( "http://121.40.42.41:8080/snail/LatestGame511/queryKill" , "POST" , body , headers ) ;
Debug . Log ( "<22> <> ѯ<EFBFBD> <D1AF> ɱ<EFBFBD> <C9B1> Ϣ<EFBFBD> <CFA2> Ӧ: " + response ) ;
}
//===============================================================================================================================================================================================================================
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ͷ<EFBFBD> <CDB7> ʹ <EFBFBD> <CAB9> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> token
public Dictionary < string , string > CreateHeaders ( )
{
if ( string . IsNullOrEmpty ( token ) )
{
Debug . LogWarning ( "<22> <> <EFBFBD> Դ<EFBFBD> <D4B4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ͷʱ<CDB7> <CAB1> token δ<> <CEB4> <EFBFBD> á<EFBFBD> " ) ;
return new Dictionary < string , string > ( ) ;
}
return new Dictionary < string , string >
{
{ "Authorization" , token }
} ;
}
void OnDestroy ( )
{
// ע<> <D7A2> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ¼<EFBFBD> <C2BC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ڴ<EFBFBD> й©
LoginAndGetToken . OnTokenReceived - = HandleTokenReceived ;
selectLatest511 . OnGameEscapeIdUpdated - = HandleGameEscapeIdUpdated ;
}
} * /
//<2F> ɸ<EFBFBD> id<69> <64>
/ * public class SelectQueryKill514 : MonoBehaviour
{
public string token = null ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> token<65> <6E> <EFBFBD> <EFBFBD> ʼ Ϊ null
public int escapeId = - 1 ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> escapeId<49> <64> <EFBFBD> <EFBFBD> ʼ Ϊ -1 <20> <> ʾ δ<CABE> <CEB4> <EFBFBD> <EFBFBD>
public int userId ; //<2F> û<EFBFBD> Id;
private string lastQueryKillResponse = null ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µĻ<C2B5> ɱ<EFBFBD> <C9B1> Ϣ<EFBFBD> <CFA2> ѯ<EFBFBD> <D1AF> Ӧ
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> һ <EFBFBD> <D2BB> <EFBFBD> ֶ<EFBFBD> <D6B6> <EFBFBD> ѯ<EFBFBD> <D1AF> ɱ<EFBFBD> <C9B1> Ϣ<EFBFBD> İ<EFBFBD> ť=======================================================================================
public Button queryKillButton ;
void Start ( )
{
// ע<> <D7A2> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ¼<EFBFBD> <C2BC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> յ<EFBFBD> token ʱ<> <CAB1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> HandleTokenReceived
LoginAndGetToken . OnTokenReceived + = HandleTokenReceived ;
// ע<> <D7A2> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> escapeId <20> <> <EFBFBD> <EFBFBD> ʱ<EFBFBD> <CAB1> <EFBFBD> <EFBFBD> HandleGameEscapeIdUpdated
selectLatest511 . OnGameEscapeIdUpdated + = HandleGameEscapeIdUpdated ;
// <20> <> <EFBFBD> 谴ť<E8B0B4> <C5A5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʱ<EFBFBD> <CAB1> <EFBFBD> <EFBFBD> OnQueryKillButtonClicked======================================================================
if ( queryKillButton ! = null )
{
queryKillButton . onClick . AddListener ( OnQueryKillButtonClicked ) ;
}
}
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> յ<EFBFBD> token ʱ<> <CAB1> <EFBFBD> <EFBFBD> <EFBFBD> ˷<EFBFBD> <CBB7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> token
public void HandleTokenReceived ( string receivedToken )
{
token = receivedToken ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> token
Debug . Log ( "<22> <> <EFBFBD> յ<EFBFBD> <D5B5> µ<EFBFBD> token: " + token ) ;
// <20> ״ε<D7B4> <CEB5> ü<EFBFBD> <C3BC> س<EFBFBD> ʼ <EFBFBD> <CABC> <EFBFBD> <EFBFBD>
LoadInitialData ( ) ;
}
// <20> <> <EFBFBD> <EFBFBD> Ϸ<EFBFBD> <CFB7> <EFBFBD> <EFBFBD> ID <20> <> <EFBFBD> <EFBFBD> ʱ<EFBFBD> <CAB1> <EFBFBD> <EFBFBD> <EFBFBD> ˷<EFBFBD> <CBB7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> escapeId
public async void HandleGameEscapeIdUpdated ( int newGameEscapeId )
{
escapeId = newGameEscapeId ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> escapeId
Debug . Log ( "<22> <> <EFBFBD> յ<EFBFBD> <D5B5> µ<EFBFBD> GameEscapeId: " + escapeId ) ;
// <20> ڽ<EFBFBD> <DABD> յ<EFBFBD> escapeId <20> <> <EFBFBD> <EFBFBD> ʱ<EFBFBD> Զ<EFBFBD> <D4B6> <EFBFBD> <EFBFBD> ò<EFBFBD> ѯ<EFBFBD> <D1AF> ɱ<EFBFBD> <C9B1> Ϣ
lastQueryKillResponse = await QueryKill ( ) ;
Debug . Log ( "HandleGameEscapeIdUpdated <20> <> <EFBFBD> <EFBFBD> <EFBFBD> IJ<EFBFBD> ѯ<EFBFBD> <D1AF> ɱ<EFBFBD> <C9B1> Ϣ<EFBFBD> <CFA2> Ӧ: " + lastQueryKillResponse ) ;
}
// <20> <> <EFBFBD> س<EFBFBD> ʼ <EFBFBD> <CABC> <EFBFBD> ݣ<EFBFBD> ʹ <EFBFBD> <CAB9> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> token
public async void LoadInitialData ( )
{
if ( string . IsNullOrEmpty ( token ) )
{
Debug . LogWarning ( "<22> <EFBFBD> <DEB7> <EFBFBD> <EFBFBD> س<EFBFBD> ʼ <EFBFBD> <CABC> <EFBFBD> ݣ<EFBFBD> token δ<> <CEB4> <EFBFBD> á<EFBFBD> " ) ;
return ;
}
// <20> <> <EFBFBD> ò<EFBFBD> ѯ<EFBFBD> <D1AF> ɱ<EFBFBD> <C9B1> Ϣ<EFBFBD> <CFA2> <EFBFBD> <EFBFBD>
lastQueryKillResponse = await QueryKill ( ) ;
Debug . Log ( "<22> <> ʼ <EFBFBD> <CABC> <EFBFBD> صIJ<D8B5> ѯ<EFBFBD> <D1AF> ɱ<EFBFBD> <C9B1> Ϣ<EFBFBD> <CFA2> Ӧ: " + lastQueryKillResponse ) ;
}
// <20> <> ť<EFBFBD> <C5A5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <F3B4A5B7> <EFBFBD> ɱ<EFBFBD> <C9B1> Ϣ<EFBFBD> <CFA2> ѯ<EFBFBD> <D1AF> <EFBFBD> <EFBFBD>
public async void OnQueryKillButtonClicked ( )
{
// <20> <> <EFBFBD> <EFBFBD> token <20> <> escapeId <20> Ƿ<EFBFBD> <C7B7> <EFBFBD> <EFBFBD> <EFBFBD> ȷ<EFBFBD> <C8B7> <EFBFBD> <EFBFBD>
if ( string . IsNullOrEmpty ( token ) )
{
Debug . LogWarning ( "<22> <EFBFBD> <DEB7> <EFBFBD> ѯ<EFBFBD> <D1AF> ɱ<EFBFBD> <C9B1> Ϣ<EFBFBD> <CFA2> token δ<> <CEB4> <EFBFBD> á<EFBFBD> " ) ;
return ;
}
if ( escapeId = = - 1 )
{
Debug . LogWarning ( "<22> <EFBFBD> <DEB7> <EFBFBD> ѯ<EFBFBD> <D1AF> ɱ<EFBFBD> <C9B1> Ϣ<EFBFBD> <CFA2> escapeId δ<> <CEB4> <EFBFBD> á<EFBFBD> " ) ;
return ;
}
// <20> <> <EFBFBD> ò<EFBFBD> ѯ<EFBFBD> <D1AF> ɱ<EFBFBD> <C9B1> Ϣ<EFBFBD> <CFA2> <EFBFBD> <EFBFBD>
lastQueryKillResponse = await QueryKill ( ) ;
Debug . Log ( "<22> û<EFBFBD> <C3BB> <EFBFBD> ť<EFBFBD> <C5A5> <EFBFBD> <EFBFBD> <EFBFBD> IJ<EFBFBD> ѯ<EFBFBD> <D1AF> ɱ<EFBFBD> <C9B1> Ϣ<EFBFBD> <CFA2> Ӧ: " + lastQueryKillResponse ) ;
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӧ<EFBFBD> <D3A6> <EFBFBD> <EFBFBD> һ <EFBFBD> <D2BB> <EFBFBD> Ĵ<EFBFBD> <C4B4> <EFBFBD>
HandleQueryKillResponse ( lastQueryKillResponse ) ;
}
// <20> <> ѯ<EFBFBD> <D1AF> ɱ<EFBFBD> <C9B1> Ϣ
public async Task < string > QueryKill ( )
{
if ( string . IsNullOrEmpty ( token ) )
{
Debug . LogWarning ( "<22> <EFBFBD> <DEB7> <EFBFBD> ѯ<EFBFBD> <D1AF> ɱ<EFBFBD> <C9B1> Ϣ<EFBFBD> <CFA2> token δ<> <CEB4> <EFBFBD> á<EFBFBD> " ) ;
return null ;
}
if ( escapeId = = - 1 )
{
Debug . LogWarning ( "<22> <EFBFBD> <DEB7> <EFBFBD> ѯ<EFBFBD> <D1AF> ɱ<EFBFBD> <C9B1> Ϣ<EFBFBD> <CFA2> escapeId δ<> <CEB4> <EFBFBD> á<EFBFBD> " ) ;
return null ;
}
var headers = CreateHeaders ( ) ;
string body = $ @ "
{ {
"" userId "" : { userId } ,
"" escapeId "" : { escapeId }
} } ";
Debug . Log ( "<22> <> <EFBFBD> ڲ<EFBFBD> ѯ<EFBFBD> <D1AF> ɱ<EFBFBD> <C9B1> Ϣ..." ) ;
string response = await web . SendRequest ( "http://121.40.42.41:8080/snail/LatestGame511/queryKill" , "POST" , body , headers ) ;
Debug . Log ( "<22> <> ѯ<EFBFBD> <D1AF> ɱ<EFBFBD> <C9B1> Ϣ<EFBFBD> <CFA2> Ӧ: " + response ) ;
return response ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӧ
}
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ͷ<EFBFBD> <CDB7> ʹ <EFBFBD> <CAB9> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> token
public Dictionary < string , string > CreateHeaders ( )
{
if ( string . IsNullOrEmpty ( token ) )
{
Debug . LogWarning ( "<22> <> <EFBFBD> Դ<EFBFBD> <D4B4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ͷʱ<CDB7> <CAB1> token δ<> <CEB4> <EFBFBD> á<EFBFBD> " ) ;
return new Dictionary < string , string > ( ) ;
}
return new Dictionary < string , string >
{
{ "Authorization" , token }
} ;
}
// <20> <> <EFBFBD> <EFBFBD> QueryKill <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӧ
private void HandleQueryKillResponse ( string response )
{
if ( response . Contains ( "success" ) )
{
Debug . Log ( "<22> <> ѯ<EFBFBD> <D1AF> ɱ<EFBFBD> <C9B1> Ϣ<EFBFBD> ɹ<EFBFBD> <C9B9> <EFBFBD> " ) ;
}
else
{
Debug . LogWarning ( "<22> <> ѯ<EFBFBD> <D1AF> ɱ<EFBFBD> <C9B1> Ϣʧ<CFA2> ܣ<EFBFBD> <DCA3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӧ: " + response ) ;
}
}
void OnDestroy ( )
{
// ע<> <D7A2> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ¼<EFBFBD> <C2BC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ڴ<EFBFBD> й©
LoginAndGetToken . OnTokenReceived - = HandleTokenReceived ;
selectLatest511 . OnGameEscapeIdUpdated - = HandleGameEscapeIdUpdated ;
// ȡ<> <C8A1> <EFBFBD> <EFBFBD> ť<EFBFBD> ĵ<EFBFBD> <C4B5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> =================================================================================================
if ( queryKillButton ! = null )
{
queryKillButton . onClick . RemoveListener ( OnQueryKillButtonClicked ) ;
}
}
} * /
//<2F> <> <EFBFBD> <EFBFBD> +<2B> <> <EFBFBD> <EFBFBD>
public class SelectQueryKill514 : MonoBehaviour
{
// <20> <> <EFBFBD> <EFBFBD> ģʽ ʵ<CABD> <CAB5>
public static SelectQueryKill514 Instance { get ; private set ; }
public string token = null ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> token<65> <6E> <EFBFBD> <EFBFBD> ʼ Ϊ null
public int escapeId = - 1 ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> escapeId<49> <64> <EFBFBD> <EFBFBD> ʼ Ϊ -1 <20> <> ʾ δ<CABE> <CEB4> <EFBFBD> <EFBFBD>
public int userId ; // <20> û<EFBFBD> Id
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӧ<EFBFBD> ֶ<EFBFBD> <D6B6> <EFBFBD> Ϊȫ<CEAA> ֱ<EFBFBD> <D6B1> <EFBFBD>
public int latestCode ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> code
public string latestMessage ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> <C2B5> <EFBFBD> ʾ <EFBFBD> <CABE>
public int latestRoomNoKill ; // <20> <> <EFBFBD> <EFBFBD> ɱ<EFBFBD> ķ<EFBFBD> <C4B7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
public int latestRoomNoRemain ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ķ<EFBFBD> <C4B7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
// <20> <> <EFBFBD> <EFBFBD> JSON <20> <> ӦΪ<D3A6> ַ<EFBFBD> <D6B7> <EFBFBD>
private string lastQueryKillResponse = null ;
public Button queryKillButton ; // <20> <> ѯ<EFBFBD> <D1AF> ť
void Awake ( )
{
// ʵ<> ֵ<EFBFBD> <D6B5> <EFBFBD> ģʽ
if ( Instance = = null )
{
Instance = this ;
DontDestroyOnLoad ( gameObject ) ; // <20> <> ֤<EFBFBD> <D6A4> <EFBFBD> <EFBFBD> <EFBFBD> л<EFBFBD> ʱ<EFBFBD> <CAB1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
}
else
{
Destroy ( gameObject ) ; // ȷ<> <C8B7> ֻ<EFBFBD> <D6BB> һ <EFBFBD> <D2BB> ʵ<EFBFBD> <CAB5>
}
}
void Start ( )
{
// ע<> <D7A2> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ¼<EFBFBD> <C2BC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> յ<EFBFBD> token ʱ<> <CAB1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> HandleTokenReceived
LoginAndGetToken . OnTokenReceived + = HandleTokenReceived ;
// ע<> <D7A2> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> escapeId <20> <> <EFBFBD> <EFBFBD> ʱ<EFBFBD> <CAB1> <EFBFBD> <EFBFBD> HandleGameEscapeIdUpdated
selectLatest511 . OnGameEscapeIdUpdated + = HandleGameEscapeIdUpdated ;
// <20> <> <EFBFBD> 谴ť<E8B0B4> <C5A5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʱ<EFBFBD> <CAB1> <EFBFBD> <EFBFBD> OnQueryKillButtonClicked
if ( queryKillButton ! = null )
{
queryKillButton . onClick . AddListener ( OnQueryKillButtonClicked ) ;
}
}
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> յ<EFBFBD> token ʱ<> <CAB1> <EFBFBD> <EFBFBD> <EFBFBD> ˷<EFBFBD> <CBB7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> token
public void HandleTokenReceived ( string receivedToken )
{
token = receivedToken ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> token
Debug . Log ( "<22> <> <EFBFBD> յ<EFBFBD> <D5B5> µ<EFBFBD> token: " + token ) ;
// <20> ״ε<D7B4> <CEB5> ü<EFBFBD> <C3BC> س<EFBFBD> ʼ <EFBFBD> <CABC> <EFBFBD> <EFBFBD>
LoadInitialData ( ) ;
}
// <20> <> <EFBFBD> <EFBFBD> Ϸ<EFBFBD> <CFB7> <EFBFBD> <EFBFBD> ID <20> <> <EFBFBD> <EFBFBD> ʱ<EFBFBD> <CAB1> <EFBFBD> <EFBFBD> <EFBFBD> ˷<EFBFBD> <CBB7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> escapeId
public async void HandleGameEscapeIdUpdated ( int newGameEscapeId )
{
escapeId = newGameEscapeId ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> escapeId
Debug . Log ( "<22> <> <EFBFBD> յ<EFBFBD> <D5B5> µ<EFBFBD> GameEscapeId: " + escapeId ) ;
// <20> ڽ<EFBFBD> <DABD> յ<EFBFBD> escapeId <20> <> <EFBFBD> <EFBFBD> ʱ<EFBFBD> Զ<EFBFBD> <D4B6> <EFBFBD> <EFBFBD> ò<EFBFBD> ѯ<EFBFBD> <D1AF> ɱ<EFBFBD> <C9B1> Ϣ
lastQueryKillResponse = await QueryKill ( ) ;
Debug . Log ( "HandleGameEscapeIdUpdated <20> <> <EFBFBD> <EFBFBD> <EFBFBD> IJ<EFBFBD> ѯ<EFBFBD> <D1AF> ɱ<EFBFBD> <C9B1> Ϣ<EFBFBD> <CFA2> Ӧ: " + lastQueryKillResponse ) ;
}
// <20> <> <EFBFBD> س<EFBFBD> ʼ <EFBFBD> <CABC> <EFBFBD> ݣ<EFBFBD> ʹ <EFBFBD> <CAB9> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> token
public async void LoadInitialData ( )
{
if ( string . IsNullOrEmpty ( token ) )
{
Debug . LogWarning ( "<22> <EFBFBD> <DEB7> <EFBFBD> <EFBFBD> س<EFBFBD> ʼ <EFBFBD> <CABC> <EFBFBD> ݣ<EFBFBD> token δ<> <CEB4> <EFBFBD> á<EFBFBD> " ) ;
return ;
}
// <20> <> <EFBFBD> ò<EFBFBD> ѯ<EFBFBD> <D1AF> ɱ<EFBFBD> <C9B1> Ϣ<EFBFBD> <CFA2> <EFBFBD> <EFBFBD>
lastQueryKillResponse = await QueryKill ( ) ;
Debug . Log ( "<22> <> ʼ <EFBFBD> <CABC> <EFBFBD> صIJ<D8B5> ѯ<EFBFBD> <D1AF> ɱ<EFBFBD> <C9B1> Ϣ<EFBFBD> <CFA2> Ӧ: " + lastQueryKillResponse ) ;
}
// <20> <> ť<EFBFBD> <C5A5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <F3B4A5B7> <EFBFBD> ɱ<EFBFBD> <C9B1> Ϣ<EFBFBD> <CFA2> ѯ<EFBFBD> <D1AF> <EFBFBD> <EFBFBD>
public async void OnQueryKillButtonClicked ( )
{
// <20> <> <EFBFBD> <EFBFBD> token <20> <> escapeId <20> Ƿ<EFBFBD> <C7B7> <EFBFBD> <EFBFBD> <EFBFBD> ȷ<EFBFBD> <C8B7> <EFBFBD> <EFBFBD>
if ( string . IsNullOrEmpty ( token ) )
{
Debug . LogWarning ( "<22> <EFBFBD> <DEB7> <EFBFBD> ѯ<EFBFBD> <D1AF> ɱ<EFBFBD> <C9B1> Ϣ<EFBFBD> <CFA2> token δ<> <CEB4> <EFBFBD> á<EFBFBD> " ) ;
return ;
}
if ( escapeId = = - 1 )
{
Debug . LogWarning ( "<22> <EFBFBD> <DEB7> <EFBFBD> ѯ<EFBFBD> <D1AF> ɱ<EFBFBD> <C9B1> Ϣ<EFBFBD> <CFA2> escapeId δ<> <CEB4> <EFBFBD> á<EFBFBD> " ) ;
return ;
}
// <20> <> <EFBFBD> ò<EFBFBD> ѯ<EFBFBD> <D1AF> ɱ<EFBFBD> <C9B1> Ϣ<EFBFBD> <CFA2> <EFBFBD> <EFBFBD>
lastQueryKillResponse = await QueryKill ( ) ;
Debug . Log ( "<22> û<EFBFBD> <C3BB> <EFBFBD> ť<EFBFBD> <C5A5> <EFBFBD> <EFBFBD> <EFBFBD> IJ<EFBFBD> ѯ<EFBFBD> <D1AF> ɱ<EFBFBD> <C9B1> Ϣ<EFBFBD> <CFA2> Ӧ: " + lastQueryKillResponse ) ;
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӧ<EFBFBD> <D3A6> <EFBFBD> <EFBFBD> һ <EFBFBD> <D2BB> <EFBFBD> Ĵ<EFBFBD> <C4B4> <EFBFBD>
HandleQueryKillResponse ( lastQueryKillResponse ) ;
}
// <20> <> ѯ<EFBFBD> <D1AF> ɱ<EFBFBD> <C9B1> Ϣ
public async Task < string > QueryKill ( )
{
if ( string . IsNullOrEmpty ( token ) )
{
Debug . LogWarning ( "<22> <EFBFBD> <DEB7> <EFBFBD> ѯ<EFBFBD> <D1AF> ɱ<EFBFBD> <C9B1> Ϣ<EFBFBD> <CFA2> token δ<> <CEB4> <EFBFBD> á<EFBFBD> " ) ;
return null ;
}
if ( escapeId = = - 1 )
{
Debug . LogWarning ( "<22> <EFBFBD> <DEB7> <EFBFBD> ѯ<EFBFBD> <D1AF> ɱ<EFBFBD> <C9B1> Ϣ<EFBFBD> <CFA2> escapeId δ<> <CEB4> <EFBFBD> á<EFBFBD> " ) ;
return null ;
}
var headers = CreateHeaders ( ) ;
string body = $ @ "
{ {
"" userId "" : { userId } ,
"" escapeId "" : { escapeId }
} } ";
Debug . Log ( "<22> <> <EFBFBD> ڲ<EFBFBD> ѯ<EFBFBD> <D1AF> ɱ<EFBFBD> <C9B1> Ϣ..." ) ;
2024-11-15 12:09:52 +08:00
string response = await web . SendRequest ( "http://121.40.42.41:8080/snail/gameEscape/queryLatest" , "POST" , body , headers ) ;
2024-11-14 18:25:21 +08:00
Debug . Log ( "<22> <> ѯ<EFBFBD> <D1AF> ɱ<EFBFBD> <C9B1> Ϣ<EFBFBD> <CFA2> Ӧ: " + response ) ;
HandleQueryKillResponse ( response ) ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӧ<EFBFBD> <D3A6> <EFBFBD> <EFBFBD>
return response ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӧ
}
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ͷ<EFBFBD> <CDB7> ʹ <EFBFBD> <CAB9> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> token
public Dictionary < string , string > CreateHeaders ( )
{
if ( string . IsNullOrEmpty ( token ) )
{
Debug . LogWarning ( "<22> <> <EFBFBD> Դ<EFBFBD> <D4B4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ͷʱ<CDB7> <CAB1> token δ<> <CEB4> <EFBFBD> á<EFBFBD> " ) ;
return new Dictionary < string , string > ( ) ;
}
return new Dictionary < string , string >
{
{ "Authorization" , token }
} ;
}
// <20> <> <EFBFBD> <EFBFBD> QueryKill <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӧ<EFBFBD> <D3A6> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ֶ<EFBFBD>
private void HandleQueryKillResponse ( string response )
{
// <20> <> <EFBFBD> <EFBFBD> ԭʼ <D4AD> <CABC> Ӧ<EFBFBD> ַ<EFBFBD> <D6B7> <EFBFBD>
lastQueryKillResponse = response ;
try
{
ServerResponse serverResponse = JsonConvert . DeserializeObject < ServerResponse > ( response ) ;
if ( serverResponse ! = null & & serverResponse . code = = 200 )
{
Debug . Log ( "<22> <> ѯ<EFBFBD> <D1AF> ɱ<EFBFBD> <C9B1> Ϣ<EFBFBD> ɹ<EFBFBD> <C9B9> <EFBFBD> " ) ;
// <20> <> <EFBFBD> <EFBFBD> ȫ<EFBFBD> ֱ<EFBFBD> <D6B1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ÿ<EFBFBD> <C3BF> <EFBFBD> ֶ<EFBFBD>
latestCode = serverResponse . code ;
latestMessage = serverResponse . message ;
if ( serverResponse . data ! = null )
{
latestRoomNoKill = serverResponse . data . roomNoKill ;
latestRoomNoRemain = serverResponse . data . roomNoRemain ;
Debug . Log ( $"Room No Kill: {latestRoomNoKill}, Room No Remain: {latestRoomNoRemain}" ) ;
}
}
else
{
Debug . LogWarning ( "<22> <> ѯ<EFBFBD> <D1AF> ɱ<EFBFBD> <C9B1> Ϣʧ<CFA2> ܣ<EFBFBD> <DCA3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӧ: " + response ) ;
}
}
catch ( Exception e )
{
Debug . LogWarning ( "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ɱ<EFBFBD> <C9B1> Ϣ<EFBFBD> <CFA2> Ӧʧ<D3A6> <CAA7> : " + e . Message ) ;
}
}
void OnDestroy ( )
{
// ע<> <D7A2> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ¼<EFBFBD> <C2BC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ڴ<EFBFBD> й©
LoginAndGetToken . OnTokenReceived - = HandleTokenReceived ;
selectLatest511 . OnGameEscapeIdUpdated - = HandleGameEscapeIdUpdated ;
// ȡ<> <C8A1> <EFBFBD> <EFBFBD> ť<EFBFBD> ĵ<EFBFBD> <C4B5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
if ( queryKillButton ! = null )
{
queryKillButton . onClick . RemoveListener ( OnQueryKillButtonClicked ) ;
}
}
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ࣬<EFBFBD> <E0A3AC> <EFBFBD> <EFBFBD> JSON <20> <> <EFBFBD> <EFBFBD>
[Serializable]
public class Data
{
public int roomNoKill ; // <20> <> <EFBFBD> <EFBFBD> ɱ<EFBFBD> ķ<EFBFBD> <C4B7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
public int roomNoRemain ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ķ<EFBFBD> <C4B7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
}
[Serializable]
public class ServerResponse
{
public int code ; // <20> <> Ӧ״̬<D7B4> <CCAC>
public string message ; // <20> <> ʾ <EFBFBD> <CABE>
public Data data ; // <20> <> <EFBFBD> ݶ<EFBFBD> <DDB6> <EFBFBD>
}
}
//ʹ <> <CAB9> ʾ <EFBFBD> <CABE>
//public class AnotherClass : MonoBehaviour
//{
// void Start()
// {
// int code = SelectQueryKill514.Instance.latestCode;
// string message = SelectQueryKill514.Instance.latestMessage;
// int roomNoKill = SelectQueryKill514.Instance.latestRoomNoKill;
// int roomNoRemain = SelectQueryKill514.Instance.latestRoomNoRemain;
// string jsonResponse = SelectQueryKill514.Instance.lastQueryKillResponse;
// Debug.Log($"Code: {code}, Message: {message}, Room No Kill: {roomNoKill}, Room No Remain: {roomNoRemain}");
// Debug.Log($"Original JSON Response: {jsonResponse}");
// }
//}