using System.Collections ;
using System.Collections .Generic ;
using UnityEngine;
using System;
public class NetworkService : MonoBehaviour
{
private const string xmlApi = "http://a...content-available-to-author-only...p.org/data/2.5/weather?q=Chicago,us&mode=xml" ;
private const string webImage = "http://u...content-available-to-author-only...a.org/wikipedia/commons/c/c5/Moraine_Lake_17092005.jpg" ;
private bool IsResponseValid( WWW www)
{
if ( ! string.IsNullOrEmpty ( www.error ) )
{
Debug.Log ( "bad connection" ) ;
return false ;
}
else if ( string.IsNullOrEmpty ( www.text ) )
{
Debug.Log ( "bad data" ) ;
return false ;
}
else
{
//all good
return true ;
}
}
private IEnumerator CallAPI ( string url, Action< string> callback)
{
WWW www = new WWW( url) ;
yield return www;
if ( ! IsResponseValid( www) )
{
yield break ;
}
callback( www.text ) ;
}
public IEnumerator GetWeatherXML( Action< string> callback)
{
return CallAPI( xmlApi, callback) ;
}
public IEnumerator DownloadImage( Action< Texture2D> callback)
{
WWW www = new WWW( webImage) ;
yield return www;
callback( www.texture ) ;
}
// Use this for initialization
void Start ( )
{
}
// Update is called once per frame
void Update ( )
{
}
}
dXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgVW5pdHlFbmdpbmU7CnVzaW5nIFN5c3RlbTsKCnB1YmxpYyBjbGFzcyBOZXR3b3JrU2VydmljZSA6IE1vbm9CZWhhdmlvdXIKewogICAgcHJpdmF0ZSBjb25zdCBzdHJpbmcgeG1sQXBpID0gImh0dHA6Ly9hLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5wLm9yZy9kYXRhLzIuNS93ZWF0aGVyP3E9Q2hpY2Fnbyx1cyZtb2RlPXhtbCI7CiAgICBwcml2YXRlIGNvbnN0IHN0cmluZyB3ZWJJbWFnZSA9ICJodHRwOi8vdS4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvYy9jNS9Nb3JhaW5lX0xha2VfMTcwOTIwMDUuanBnIjsKCiAgICBwcml2YXRlIGJvb2wgSXNSZXNwb25zZVZhbGlkKFdXVyB3d3cpCiAgICB7CiAgICAgICAgaWYoIXN0cmluZy5Jc051bGxPckVtcHR5KHd3dy5lcnJvcikpCiAgICAgICAgewogICAgICAgICAgICBEZWJ1Zy5Mb2coImJhZCBjb25uZWN0aW9uIik7CgogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICBlbHNlIGlmKHN0cmluZy5Jc051bGxPckVtcHR5KHd3dy50ZXh0KSkKICAgICAgICB7CiAgICAgICAgICAgIERlYnVnLkxvZygiYmFkIGRhdGEiKTsKCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIC8vYWxsIGdvb2QKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQogICAgfQoKICAgIHByaXZhdGUgSUVudW1lcmF0b3IgQ2FsbEFQSSAoc3RyaW5nIHVybCwgQWN0aW9uPHN0cmluZz4gY2FsbGJhY2spCiAgICB7CiAgICAgICAgV1dXIHd3dyA9IG5ldyBXV1codXJsKTsKCiAgICAgICAgeWllbGQgcmV0dXJuIHd3dzsKCiAgICAgICAgaWYoIUlzUmVzcG9uc2VWYWxpZCh3d3cpKQogICAgICAgIHsKICAgICAgICAgICAgeWllbGQgYnJlYWs7CiAgICAgICAgfQoKICAgICAgICBjYWxsYmFjayh3d3cudGV4dCk7CiAgICB9CgogICAgcHVibGljIElFbnVtZXJhdG9yIEdldFdlYXRoZXJYTUwoQWN0aW9uPHN0cmluZz4gY2FsbGJhY2spCiAgICB7CiAgICAgICAgcmV0dXJuIENhbGxBUEkoeG1sQXBpLCBjYWxsYmFjayk7CiAgICB9CgogICAgcHVibGljIElFbnVtZXJhdG9yIERvd25sb2FkSW1hZ2UoQWN0aW9uPFRleHR1cmUyRD4gY2FsbGJhY2spCiAgICB7CiAgICAgICAgV1dXIHd3dyA9IG5ldyBXV1cod2ViSW1hZ2UpOwoKICAgICAgICB5aWVsZCByZXR1cm4gd3d3OwoKICAgICAgICBjYWxsYmFjayh3d3cudGV4dHVyZSk7CiAgICB9CgogICAgLy8gVXNlIHRoaXMgZm9yIGluaXRpYWxpemF0aW9uCiAgICB2b2lkIFN0YXJ0ICgpCiAgICB7CiAgICAgICAKICAgIH0KICAgCiAgICAvLyBVcGRhdGUgaXMgY2FsbGVkIG9uY2UgcGVyIGZyYW1lCiAgICB2b2lkIFVwZGF0ZSAoKQogICAgewogICAgICAgCiAgICB9Cn0=
compilation info
prog.cs(3,7): error CS0246: The type or namespace name `UnityEngine' could not be found. Are you missing an assembly reference?
prog.cs(6,31): error CS0246: The type or namespace name `MonoBehaviour' could not be found. Are you missing an assembly reference?
prog.cs(11,34): error CS0246: The type or namespace name `WWW' could not be found. Are you missing an assembly reference?
prog.cs(53,45): error CS0246: The type or namespace name `Texture2D' could not be found. Are you missing an assembly reference?
Compilation failed: 4 error(s), 0 warnings
stdout