Ejemplo n.º 1
0
    private IEnumerator LoadCharacter(bool test)
    {
        JObject jcharacter;

        if (!test)
        {
            string response = null;
            APIHandler.GetCharacter(r => response = r);

            while (response == null)
            {
                yield return(null);
            }
            Debug.Log("Got character response");

            JArray jresp = JArray.Parse(response);
            jcharacter = (JObject)jresp[0];
        }
        else
        {
            Debug.Log("Using mock character json for testing.");
            string mockCharacter = System.IO.File.ReadAllText(Application.streamingAssetsPath + "/mockCharacter.json");
            jcharacter = JObject.Parse(mockCharacter);
        }

        //Create all owned items
        JArray jitems = (JArray)jcharacter["ownedItems"];

        foreach (JObject jitem in jitems)
        {
            Item.FromJObject(jitem);
        }

        //Item image loading now started (called from each Item's constructor)
        Debug.Log("Loading all item images...");
        while (!ItemImageLoader.AllLoaded())
        {
            yield return(null);
        }
        Debug.Log("All item images loaded.");
        Inventory.Update();

        //Based on response jresp, equip correct items
        try
        {
            JArray jequippedItems = (JArray)jcharacter["equippedItems"];
            foreach (var jitemID in jequippedItems)
            {
                Equipment.Equip(Item.Get((string)jitemID), updateBackend: false);
            }
        }
        catch (System.InvalidCastException)
        {
            Debug.Log("equippedItems was null and not an empty list, which means no items were equipped.");
        }
    }
Ejemplo n.º 2
0
 private void Update()
 {
     _spinner.Rotate(Vector3.forward, 100 * Time.deltaTime);
     if (_close)
     {
         if (ItemImageLoader.FirstRequestSent && ItemImageLoader.AllLoaded())
         {
             _appearingWindow.Close();
             _close = false;
         }
     }
 }