// --------------------------------------------------------
		// --------------------------------------------------------

		private void CurrentRequestFinalized()
		{
			try{
				//isso serve pra debugar a request (so pro desenvolvedor)
				//coloquei no try pq nao sei se vai ter algum louco que vai jogar isso ate o fim da vida
				_oldRequests = "time_" + (int)Time.realtimeSinceStartup + "___"+  _currentRequestModel.functionName +"\n"+ _oldRequests;
			}catch{}
			_currentRequestModel = null;
			tryCallNextResquest();
		}
		//----------------------------------------------------------
		// UTILS // UTILS // UTILS // UTILS // UTILS // UTILS // 
		//----------------------------------------------------------
		private IEnumerator startRequest(BaseRequestModel requestModel)
		{
			_currentRequestModel = requestModel;
			requestModel.OnRequestStart();
			
			//torna a chamada assincrona
			yield return new WaitForSeconds(0.2f);
			
			if(RequestHelper.platformModeOn)
			{
				Application.ExternalCall("sendToFlash", requestModel.functionName, requestModel.cvo.getJsonData());
			}
			else
			{
				//verifico se a request foi cadastrada
				if(_currentRequestModel is GetMinigameRankingRM == false && _currentRequestModel is GetPlatformDataRM == false && 
				   _currentRequestModel is GetPlayerHistoryRM == false && _currentRequestModel is SavePlayerScoreRM == false)
				{
					string error = "Request not registered";
					Debug.LogError(this.GetType() + error);
					OnRequestError(error);
				}
				else
				{
					if(_currentRequestModel is GetMinigameRankingRM)
					{
						OnRequestError("Request available only for minigames integrated with the platform");
					}
					else if(_currentRequestModel is GetPlatformDataRM)
					{
						OnRequestSuccess("{" +
						                 createField("idUser", "-1", true) +
						                 createField("idMinigame", "-1", true) +
						                 createField("nickName", "null", true) +
						                 createField("firstName", "null", true) +
						                 createField("lastName", "null", true) +
						                 createField("grade", "-1", true) +
						                 createField("backendUrl", "null", true) +
						                 createField("minigameFolder", ExternalResources.getInstance().getResourcesPath()+"../", false) +
						                 "}");
					}
					else if(_currentRequestModel is GetPlayerHistoryRM)
					{
						OnRequestSuccess(LocalDataManager.getPlayerHistoryJson());
					}
					else if(_currentRequestModel is SavePlayerScoreRM)
					{
						LocalDataManager.savePlayerScore((_currentRequestModel as SavePlayerScoreRM).cvo);
						OnRequestSuccess("{}");
					}
				}
			}
		}
示例#3
0
	private static void setupRequest(BaseRequestModel __r,
			                          RequestHelper.RequestHandlerDelegate __callbackRequestCompleted = null,
			                          RequestHelper.RequestHandlerDelegate __callbackRequestError = null,
			                          RequestHelper.RequestHandlerDelegate __callbackRequestStarted = null,
			                          RequestHelper.RequestHandlerDelegate __callbackRequestFinalized = null)
	{
		__r.callbackRequestCompleted += __callbackRequestCompleted;
		__r.callbackRequestError += __callbackRequestError;
		__r.callbackRequestStarted += __callbackRequestStarted;
		__r.callbackRequestFinalized += __callbackRequestFinalized;
		ExternalCommunicator.instance.addRequest(__r);
	}
	/// <summary>
	/// Listener da request
	/// </summary>
	private void OnRequestError(BaseRequestModel request)
	{
		_platformDataReceived = request.svo as GetPlatformDataSVO;
		if(callbackRequestError != null) callbackRequestError.Invoke();
	}
	/// <summary>
	/// Listener da request
	/// </summary>
	private void OnRequestCompleted(BaseRequestModel request)
	{
		_platformDataReceived = request.svo as GetPlatformDataSVO;
		if(callbackRequestCompleted != null) callbackRequestCompleted.Invoke();
	}
		public void addRequest(BaseRequestModel requestModel)
		{
			_requestList.Add(requestModel);
			tryCallNextResquest();
		}
示例#7
0
 void OnSavePlayerScoreRequestSuccess(BaseRequestModel request)
 {
     SavePlayerScoreRM r = request as SavePlayerScoreRM;
     //Debug.Log("OnSavePlayerScoreRequestSuccess called  :: obj received: " + r.svo.jsonReceived);
 }
示例#8
0
 void OnGetMinigameRankingRequestSuccess(BaseRequestModel request)
 {
     GetMinigameRankingRM r = request as GetMinigameRankingRM;
     ranking = r.svo;
 }
		void OnPlayerHistoryRequestSuccess(BaseRequestModel request)
		{
			GetPlayerHistoryRM r = request as GetPlayerHistoryRM;
			DebugConsole.Append("OnPlayerHistoryRequestSuccess called  :: obj received: " + r.svo.jsonReceived);
		}
示例#10
0
 void OnRequestError(BaseRequestModel request)
 {
     Debug.Log("(ERROR) OnRequestSuccess called  :: obj received: " + request.errorMessage);
     ranking = new GetMinigameRankingSVO();
 }
		void OnSavePlayerScoreRequestSuccess(BaseRequestModel request)
		{
			SavePlayerScoreRM r = request as SavePlayerScoreRM;
			DebugConsole.Append("OnSavePlayerScoreRequestSuccess called  :: obj received: " + r.svo.jsonReceived);
		}
		void OnGetPlatformDataRequestSuccess(BaseRequestModel request)
		{
			GetPlatformDataRM r = request as GetPlatformDataRM;
			DebugConsole.Append("OnGetPlatformDataRequestSuccess called  :: obj received: " + r.svo.jsonReceived);
		}
		void OnGetMinigameRankingRequestSuccess(BaseRequestModel request)
		{
			GetMinigameRankingRM r = request as GetMinigameRankingRM;
			DebugConsole.Append("OnGetMinigameRankingRequestSuccess called  :: obj received: " + r.svo.jsonReceived);
		}
		void OnRequestFinalized(BaseRequestModel request)
		{
			//you can cast the request model to GetMinigameRankingRM, GetPlatformDataRM, GetPlayerHistoryRM, SavePlayerScoreRM
			DebugConsole.Append("OnRequestFinalized called  :: functionName: " + request.functionName);
		}
		void OnRequestError(BaseRequestModel request)
		{
			//you can cast the request model to GetMinigameRankingRM, GetPlatformDataRM, GetPlayerHistoryRM, SavePlayerScoreRM
			DebugConsole.Append("OnRequestSuccess called  :: obj received: " + request.errorMessage);
		}