PlayerAction.Put C# (CSharp) Method

Put() protected method

Forces a put of resource tile modifications using god mode.
This is a temporary solution for implementing actions with no server API point, and can eventually be removed.
protected Put ( ResourceTileSelection, selection ) : IEnumerator
selection ResourceTileSelection, /// The selection. ///
return IEnumerator
	protected virtual IEnumerator Put(ResourceTileSelection selection)
	{
		HTTP.Request request;
		m_actionProgress = 0f;
		string json = GetActionJson();
		Debug.Log(json);
		List<ResourceTile> tiles = new List<ResourceTile>();
		float div = 1f/selection.Count();
		for (int i=0; i<selection.Count(); ++i) {
			int id = selection[i];
			request = new HTTP.Request( "Put", WebRequests.GetURLToResourceTile(id) );
			request.SetText( json );
			request.AddParameters( WebRequests.authenticatedGodModeParameters );
			request.Send();
			
			while (!request.isDone) {
				//m_actionProgress = (i+www.uploadProgress)*div;
				yield return 0;
			}
			if( request.ProducedError ) {
				m_actionProgress = 1f;
				yield break;
			}
			try {
				tiles.Add(JSONDecoder.Decode<IndividualResourceTile>(request.response.Text).resource_tile);
			}
			catch (JsonException) {
				Debug.LogError(request.response.Text);
			}
		}
//		ConcludeActionOnResourceTiles(tiles.ToArray());
		//Update the world
		IEnumerator e = WebRequests.RefreshWorldData(new WebCoroutine());
		yield return e.Current;
		while(e.MoveNext()) yield return e.Current;
	}