예제 #1
0
    private void Add_Import_Row(ForeignCity city, Resource resource, string price_label)
    {
        GameObject row = GameObject.Instantiate(
            Import_Row_Prototype,
            new Vector3(
                Import_Row_Prototype.transform.position.x,
                Import_Row_Prototype.transform.position.y - (20.0f * import_rows.Count),
                Import_Row_Prototype.transform.position.z
                ),
            Quaternion.identity,
            Import_Content.transform
            );

        row.gameObject.SetActive(true);
        row.name = string.Format("import_row_{0}", current_row_id);
        current_row_id++;
        if (current_row_id > 99999)
        {
            current_row_id = 0;
        }

        if (resource.Has_Sprite)
        {
            GameObject.Find(string.Format("{0}/IconImage", row.name)).GetComponent <Image>().sprite = SpriteManager.Instance.Get(resource.Sprite_Name, resource.Sprite_Type);
        }
        else
        {
            GameObject.Find(string.Format("{0}/IconImage", row.name)).SetActive(false);
        }
        GameObject.Find(string.Format("{0}/NameText", row.name)).GetComponent <Text>().text        = resource.UI_Name;
        GameObject.Find(string.Format("{0}/PriceText", row.name)).GetComponent <Text>().text       = Helper.Float_To_String(city.Get_Import_Price(resource), 2);
        GameObject.Find(string.Format("{0}/PriceDetailText", row.name)).GetComponent <Text>().text = price_label;

        import_rows.Add(row);
    }
예제 #2
0
 public void Load(ContactsSaveData data)
 {
     ForeignCity.Reset_Current_Id();
     Cities.Clear();
     foreach (ForeignCitySaveData city_data in data.Cities)
     {
         Cities.Add(new ForeignCity(city_data));
     }
 }
예제 #3
0
    private void Select_City(ForeignCity city)
    {
        Side_Panel.SetActive(true);
        Name_Text.text      = city.Name;
        Type_Text.text      = Helper.Snake_Case_To_UI(city.City_Type.ToString(), true);
        Relations_Text.text = Helper.Float_To_String(city.Opinion * 100.0f, 0, true) + "%";
        Discount_Text.text  = city.Discount.HasValue ? Helper.Float_To_String(city.Discount.Value * 100.0f, 0) + "%" : "-";

        switch (city.Trade_Route_Type)
        {
        case ForeignCity.TradeRouteType.Both:
            Route_Text.text = "Land and water";
            break;

        case ForeignCity.TradeRouteType.Land:
            Route_Text.text = "Land";
            break;

        case ForeignCity.TradeRouteType.Water:
            Route_Text.text = "Water";
            break;
        }

        foreach (GameObject row in export_rows)
        {
            GameObject.Destroy(row.gameObject);
        }
        export_rows.Clear();
        foreach (GameObject row in import_rows)
        {
            GameObject.Destroy(row.gameObject);
        }
        import_rows.Clear();

        foreach (Resource resource in city.Cheap_Exports)
        {
            Add_Export_Row(city, resource, "Cheap");
        }
        foreach (Resource resource in city.Exports)
        {
            Add_Export_Row(city, resource, "Normal");
        }
        foreach (Resource resource in city.Expensive_Exports)
        {
            Add_Export_Row(city, resource, "Expensive");
        }
        Export_Content.GetComponent <RectTransform>().SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, (25.0f * export_rows.Count) + 5.0f);

        foreach (Resource resource in city.Preferred_Imports)
        {
            Add_Import_Row(city, resource, "High");
        }
        foreach (Resource resource in city.Disliked_Imports)
        {
            Add_Import_Row(city, resource, "Low");
        }
        foreach (Resource resource in city.Unaccepted_Imports)
        {
            Add_Import_Row(city, resource, "Unaccepted");
        }
        Import_Content.GetComponent <RectTransform>().SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, (25.0f * import_rows.Count) + 5.0f);
    }