Пример #1
0
 public static void Postfix(SaveAssetPanel __instance, UITextField ___m_AssetName)
 {
     if (ToolsModifierControl.toolController.m_editPrefabInfo is NetInfo)
     {
         Log.Debug("SaveAssetPanel.Refresh.Postfix() called");
         var parent = ___m_AssetName.parent;
         if (!parent.GetComponent <MenuButton>())
         {
             var renameButton = parent.AddUIComponent <MenuButton>();
             renameButton.relativePosition =
                 ___m_AssetName.relativePosition -
                 new Vector3(0, 10); // mvoe up by 10
             renameButton.text                    = "Rename Road";
             renameButton.eventClick             += (_, __) => RenameRoadPanel.Display(__instance);
             renameButton.eventVisibilityChanged += (_c, _val) => {
                 if (!_val)
                 {
                     GameObject.Destroy(_c);        // auto destroy
                 }
             };
         }
         ___m_AssetName.enabled = false;
     }
     else
     {
         ___m_AssetName.enabled   = true;
         ___m_AssetName.isVisible = __instance.component.isVisible;
     }
 }
        public bool WatchSaveStatus()
        {
            if (_isSaving == 0)
            {
                return(false);
            }
            if (_isSaving == 2 && LoadSaveStatus.activeTask == null)
            {
                _isSaving = 0;
                return(true);
            }

            // watches saving status
            if (UIView.Find("SaveAssetPanel(Clone)").isVisible)
            {
                SaveAssetPanel save        = UIView.Find("SaveAssetPanel(Clone)").GetComponent <SaveAssetPanel>();
                string         stagingPath = typeof(SaveAssetPanel).GetField("m_StagingPath", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(save) as string;
                if (Directory.Exists(stagingPath))
                {
                    ApplyThumbnail(Environment.CurrentJob);
                    save.OnSave();
                }
            }
            else
            {
                if (LoadSaveStatus.activeTask != null)
                {
                    _isSaving = 2;
                }
            }
            return(false);
        }
Пример #3
0
        public static RenameRoadPanel Display(SaveAssetPanel panel)
        {
            var ret = panel.component.AddUIComponent <RenameRoadPanel>();

            ret.BringToFront();
            return(ret);
        }
        private void ApplyThumbnail(string name)
        {
            SaveAssetPanel save      = UIView.Find("SaveAssetPanel(Clone)").GetComponent <SaveAssetPanel>();
            string         thumbPath = typeof(SaveAssetPanel).GetField("m_ThumbPath", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(save) as string;

            if (File.Exists(Path.Combine(Environment.importPath, name + "_thumb.png")))
            {
                File.Copy(Path.Combine(Environment.importPath, name + "_thumb.png"), thumbPath + ".png", true);
                if (File.Exists(Path.Combine(Environment.importPath, name + "_hovered.png")))
                {
                    File.Copy(Path.Combine(Environment.importPath, name + "_hovered.png"), thumbPath + "_hovered.png", true);
                    File.Copy(Path.Combine(Environment.importPath, name + "_pressed.png"), thumbPath + "_pressed.png", true);
                    File.Copy(Path.Combine(Environment.importPath, name + "_focused.png"), thumbPath + "_focused.png", true);
                    File.Copy(Path.Combine(Environment.importPath, name + "_disabled.png"), thumbPath + "_disabled.png", true);
                }
                typeof(SaveAssetPanel).GetMethod("ReloadThumbnail", BindingFlags.Instance | BindingFlags.NonPublic).Invoke(save, new object[] { false });
            }
        }