protected Texture2D GetTexture()
        {
            if (base.GetType() != typeof(Sprite))
            {
                return(null);
            }
            Texture2D textured = ((Sprite)this)._get_texture();

            try
            {
                if (textured == null)
                {
                    return(textured);
                }
                if (this.overrideData.OriginalTexture2D != null)
                {
                    return(this.overrideData.OverrideTexture2D);
                }
                Texture2DOverride.LoadTexture2D(((Sprite)this).name, textured, out this.overrideData);
                if (this.overrideData.OverrideTexture2D != null)
                {
                    textured = this.overrideData.OverrideTexture2D;
                }
            }
            catch (Exception exception)
            {
                IniSettings.Error("SpriteOverride:\n" + exception.ToString());
            }
            return(textured);
        }
Exemplo n.º 2
0
 private void SetOurOverrideTexture(ref U::UnityEngine.Texture value)
 {
     if (base.GetType() == typeof(RawImage))
     {
         try
         {
             if (value == null)
             {
                 if (this.overrideData.OriginalTexture2D != null)
                 {
                     Texture2DOverride.UnloadTexture2D(ref this.overrideData);
                 }
             }
             else
             {
                 U::UnityEngine.Texture2D textured = value as U::UnityEngine.Texture2D;
                 if (textured != null)
                 {
                     if (this.overrideData.OriginalTexture2D != null)
                     {
                         int instanceID = textured.GetInstanceID();
                         if ((this.overrideData.InstanceID == instanceID) || (this.overrideData.OverrideID == instanceID))
                         {
                             value = this.overrideData.OverrideTexture2D;
                             return;
                         }
                         Texture2DOverride.UnloadTexture2D(ref this.overrideData);
                     }
                     Texture2DOverride.LoadTexture2D(((RawImage)this).name, textured, out this.overrideData);
                     if (this.overrideData.OverrideTexture2D != null)
                     {
                         value = this.overrideData.OverrideTexture2D;
                     }
                 }
             }
         }
         catch (Exception exception)
         {
             IniSettings.Error("RawImageOverride:\n" + exception.ToString());
         }
     }
 }
 protected void Swap(ref Texture value)
 {
     if (base.GetType() == typeof(Material))
     {
         try
         {
             if (value == null)
             {
                 if (this.overrideData.OriginalTexture2D != null)
                 {
                     Texture2DOverride.UnloadTexture2D(ref this.overrideData);
                 }
             }
             else
             {
                 Texture2D textured = value as Texture2D;
                 if (textured != null)
                 {
                     if (this.overrideData.OriginalTexture2D != null)
                     {
                         int instanceID = textured.GetInstanceID();
                         if ((this.overrideData.InstanceID == instanceID) || (this.overrideData.OverrideID == instanceID))
                         {
                             value = this.overrideData.OverrideTexture2D;
                             return;
                         }
                         Texture2DOverride.UnloadTexture2D(ref this.overrideData);
                     }
                     Texture2DOverride.LoadTexture2D(((Material)this).name, textured, out this.overrideData);
                     if (this.overrideData.OverrideTexture2D != null)
                     {
                         value = this.overrideData.OverrideTexture2D;
                     }
                 }
             }
         }
         catch (Exception exception)
         {
             IniSettings.Error("MaterialOverride:\n" + exception.ToString());
         }
     }
 }
 protected static void Swap(ref Texture2D texture)
 {
     try
     {
         if (texture == null)
         {
             if (overrideData.OriginalTexture2D != null)
             {
                 Texture2DOverride.UnloadTexture2D(ref overrideData);
             }
         }
         else
         {
             if (overrideData.OriginalTexture2D != null)
             {
                 int instanceID = texture.GetInstanceID();
                 if (overrideData.InstanceID == instanceID)
                 {
                     texture = overrideData.OverrideTextureCache;
                     return;
                 }
                 Texture2DOverride.UnloadTexture2D(ref overrideData);
             }
             Texture2DOverride.LoadTexture2D(texture.name, texture, out overrideData);
             if (overrideData.OverrideTexture2D != null)
             {
                 if ((texture.width != overrideData.OverrideTexture2D.width) || (texture.height != overrideData.OverrideTexture2D.height))
                 {
                     texture.Resize(overrideData.OverrideTexture2D.width, overrideData.OverrideTexture2D.height);
                 }
                 texture.SetPixels32(overrideData.OverrideTexture2D.GetPixels32());
                 texture.Apply();
                 overrideData.OverrideTextureCache = texture;
             }
         }
     }
     catch (Exception exception)
     {
         IniSettings.Error("CursorOverride:\n" + exception.ToString());
     }
 }
        private static void Load()
        {
            Texture2DCacheData texture2DCacheDatum;
            object             dataLock = Texture2DOverride.DataLock;

            Monitor.Enter(dataLock);
            try
            {
                Texture2DOverride.StopWatchTextFiles();
                Dictionary <int, Texture2DCacheData> nums = new Dictionary <int, Texture2DCacheData>(Texture2DOverride.loaded);
                Texture2DOverride.unused.Clear();
                Texture2DOverride.loaded.Clear();
                Texture2DOverride.LoadMainIniFile();
                Texture2DOverride.inidata          = Texture2DOverride.ParseIniData(Texture2DOverride.mainini);
                Texture2DOverride.uniqueimagesdata = Texture2DOverride.GetUniqueImageFiles(Texture2DOverride.TranslationImageDir);
                if (Texture2DOverride.GlobalTranslationImageIniFilePath != Texture2DOverride.TranslationImageDir)
                {
                    Dictionary <string, Texture2DData> strs = Texture2DOverride.ParseIniData(new IniFile(Texture2DOverride.GlobalTranslationImageIniFilePath));
                    foreach (KeyValuePair <string, Texture2DData> keyValuePair in strs)
                    {
                        if (Texture2DOverride.inidata.ContainsKey(keyValuePair.Key))
                        {
                            continue;
                        }
                        Texture2DOverride.inidata.Add(keyValuePair.Key, keyValuePair.Value);
                    }
                    strs.Clear();
                    strs = null;
                    Dictionary <string, string> uniqueImageFiles = Texture2DOverride.GetUniqueImageFiles(Texture2DOverride.GlobalTranslationImageDir);
                    foreach (KeyValuePair <string, string> uniqueImageFile in uniqueImageFiles)
                    {
                        if (Texture2DOverride.uniqueimagesdata.ContainsKey(uniqueImageFile.Key))
                        {
                            continue;
                        }
                        Texture2DOverride.uniqueimagesdata.Add(uniqueImageFile.Key, uniqueImageFile.Value);
                    }
                    uniqueImageFiles.Clear();
                    uniqueImageFiles = null;
                }
                Texture2DOverride.WatchTextFiles();
                foreach (KeyValuePair <int, Texture2DCacheData> num in nums)
                {
                    Texture2DOverrideData overrideData = num.Value.OverrideData;
                    Texture2DOverride.LoadTexture2D(num.Value.ObjectName, overrideData.OriginalTexture2D, out overrideData);
                    if (!Texture2DOverride.loaded.TryGetValue(overrideData.InstanceID, out texture2DCacheDatum))
                    {
                        continue;
                    }
                    texture2DCacheDatum.IncreaseAmount(num.Value.Count);
                }
                if (IniSettings.DebugMode || IniSettings.FindImage)
                {
                    int count = Texture2DOverride.inidata.Count;
                    IniSettings.Log(string.Concat("ImageSettingsLoaded: ", count.ToString()));
                }
            }
            finally
            {
                Monitor.Exit(dataLock);
            }
        }