示例#1
0
        public void OnLoaded(object sender, OnLoadedEvent loadedEvent)
        {
            try{
                foreach (Vector3 vector in District.PlayerAddedColors.ToArray())
                {
                    Color  color  = ColorConversions.ConvertVector3ToColor(vector);
                    Swatch swatch = District.Swatches.Find(i => i.color == color);
                    if (swatch != null)
                    {
                        District.Swatches.Remove(swatch);
                        Destroy(swatch.gameObject);
                    }
                }
            }catch (Exception err)
            {
                Mod.helper.Log(err.ToString());
            }

            string json = LoadSave.ReadDataGeneric("DistrictModV2", "DistrictModV2Identifier");

            if (json != null)
            {
                var savedObject = Newtonsoft.Json.JsonConvert.DeserializeObject <DistrictSave>(json);
                District.DistrictBuildingData = savedObject.DistrictBuildingData;
                District.PlayerAddedColors    = ColorConversions.ConvertArrayToList(savedObject.PlayerAddedColors);
            }
            else
            {
                Mod.helper.Log("JSON IS NULL");
            }

            LoadSwatches();
            LoadBuildingColors();
        }
示例#2
0
 void LoadSwatches()
 {
     try{
         foreach (Vector3 vector in District.PlayerAddedColors.ToArray())
         {
             Color color = ColorConversions.ConvertVector3ToColor(vector);
             AddSwatch(color, SwatchType.Player);
         }
     }catch (Exception err)
     {
         Mod.helper.Log(err.ToString());
     }
 }
示例#3
0
 void LoadBuildingColors()
 {
     foreach (KeyValuePair <Guid, Vector3[]> entry in District.DistrictBuildingData)
     {
         Building b = Player.inst.GetBuilding(entry.Key);
         if (b != null)
         {
             for (int i = 0; i < b.fullMaterial.Count; i++)
             {
                 if (entry.Value[i] != null)
                 {
                     this.ApplyShader(b.fullMaterial[i]);
                     b.fullMaterial[i].color       = ColorConversions.ConvertVector3ToColor(entry.Value[i]);
                     b.useSharedMaterialIfPossible = false;
                     b.UpdateMaterialSelection();
                 }
             }
         }
     }
 }