override public float Run()
        {
            string newSaveLabel = "";

            if (manageSaveType == ManageSaveType.RenameSave)
            {
                GVar gVar = GlobalVariables.GetVariable(varID);
                if (gVar != null)
                {
                    newSaveLabel = gVar.textVal;
                }
                else
                {
                    ACDebug.LogWarning("Could not " + manageSaveType.ToString() + " - no variable found.");
                    return(0f);
                }
            }

            int i = Mathf.Max(0, saveIndex);

            if (selectSaveType == SelectSaveType.SlotIndexFromVariable)
            {
                GVar gVar = GlobalVariables.GetVariable(slotVarID);
                if (gVar != null)
                {
                    i = gVar.val;
                }
                else
                {
                    ACDebug.LogWarning("Could not rename save - no variable found.");
                    return(0f);
                }
            }

            if (menuName != "" && elementName != "")
            {
                MenuElement menuElement = PlayerMenus.GetElementWithName(menuName, elementName);
                if (menuElement != null && menuElement is MenuSavesList)
                {
                    MenuSavesList menuSavesList = (MenuSavesList)menuElement;
                    i += menuSavesList.GetOffset();
                }
                else
                {
                    ACDebug.LogWarning("Cannot find SavesList element '" + elementName + "' in Menu '" + menuName + "'.");
                }
            }
            else
            {
                ACDebug.LogWarning("No SavesList element referenced when trying to find save slot " + i.ToString());
            }

            if (manageSaveType == ManageSaveType.DeleteSave)
            {
                KickStarter.saveSystem.DeleteSave(i, -1, false);
            }
            else if (manageSaveType == ManageSaveType.RenameSave)
            {
                KickStarter.saveSystem.RenameSave(newSaveLabel, i);
            }

            return(0f);
        }
Beispiel #2
0
        public override float Run()
        {
            string newSaveLabel = string.Empty;

            if (manageSaveType == ManageSaveType.RenameSave)
            {
                GVar gVar = GlobalVariables.GetVariable(varID);
                if (gVar != null)
                {
                    newSaveLabel = gVar.TextValue;
                }
                else
                {
                    LogWarning("Could not " + manageSaveType.ToString() + " - no variable found.");
                    return(0f);
                }
            }

            int i = Mathf.Max(0, saveIndex);

            if (selectSaveType == SelectSaveType.SlotIndexFromVariable)
            {
                GVar gVar = GlobalVariables.GetVariable(slotVarID);
                if (gVar != null)
                {
                    i = gVar.IntegerValue;
                }
                else
                {
                    LogWarning("Could not rename save - no variable found.");
                    return(0f);
                }
            }
            else if (selectSaveType == SelectSaveType.Autosave)
            {
                if (manageSaveType == ManageSaveType.DeleteSave)
                {
                    SaveSystem.DeleteSave(0);
                }
                else if (manageSaveType == ManageSaveType.RenameSave)
                {
                    LogWarning("The Autosave file cannot be renamed.");
                    return(0f);
                }
            }

            if (selectSaveType != SelectSaveType.Autosave && selectSaveType != SelectSaveType.SetSaveID)
            {
                if (!string.IsNullOrEmpty(menuName) && !string.IsNullOrEmpty(elementName))
                {
                    MenuElement menuElement = PlayerMenus.GetElementWithName(menuName, elementName);
                    if (menuElement != null && menuElement is MenuSavesList)
                    {
                        MenuSavesList menuSavesList = (MenuSavesList)menuElement;
                        i += menuSavesList.GetOffset();
                    }
                    else
                    {
                        LogWarning("Cannot find SavesList element '" + elementName + "' in Menu '" + menuName + "'.");
                    }
                }
                else
                {
                    LogWarning("No SavesList element referenced when trying to find save slot " + i.ToString());
                }
            }

            if (manageSaveType == ManageSaveType.DeleteSave)
            {
                if (selectSaveType == SelectSaveType.SetSaveID)
                {
                    SaveSystem.DeleteSave(i);
                }
                else
                {
                    KickStarter.saveSystem.DeleteSave(i, -1, false);
                }
            }
            else if (manageSaveType == ManageSaveType.RenameSave)
            {
                if (selectSaveType == SelectSaveType.SetSaveID)
                {
                    KickStarter.saveSystem.RenameSaveByID(newSaveLabel, i);
                }
                else
                {
                    KickStarter.saveSystem.RenameSave(newSaveLabel, i);
                }
            }

            return(0f);
        }