Esempio n. 1
0
    void Load()
    {
        string fileName = "/save" + 1;

        SaveLoadScene.LoadGameInManu(fileName);
        //Запускаем время после загрузки
        Time.timeScale = 1;
    }
Esempio n. 2
0
    public void SaveSceneData()
    {
        SaveableSceneData  newSceneData       = new SaveableSceneData();
        List <SceneObject> sceneObjectsToSave = new List <SceneObject>();

        if (SaveLoadScene.SceneSaveExists(sceneName))
        {
            sceneObjectsToSave = SaveLoadScene.loadedScene.sceneObjects;
        }

        object[] allObjects = GameObject.FindObjectsOfType(typeof(GameObject));
        // Debug.Log("All Scene GOs: " + allObjects.Length);
        for (int i = 0; i < allObjects.Length; i++)
        {
            GameObject currentObj = (GameObject)allObjects[i];

            ObjectIdentity idScript = currentObj.GetComponent <ObjectIdentity>();
            if (idScript != null)
            {
                // Debug.Log("Found Object With ID: " + idScript.id);

                SceneObject newSceneObject = new SceneObject();
                newSceneObject.name = currentObj.name;
                newSceneObject.id   = idScript.id;

                newSceneObject.dontLoad = idScript.dontLoad;

                newSceneObject.posX = currentObj.transform.position.x;
                newSceneObject.posY = currentObj.transform.position.y;
                newSceneObject.posZ = currentObj.transform.position.z;

                newSceneObject.rotX = currentObj.transform.rotation.x;
                newSceneObject.rotY = currentObj.transform.rotation.y;
                newSceneObject.rotZ = currentObj.transform.rotation.z;
                newSceneObject.rotW = currentObj.transform.rotation.w;

                SceneObject matchingObj = sceneObjectsToSave.Where(obj => obj.id == newSceneObject.id).SingleOrDefault();

                if (matchingObj == null)
                {
                    sceneObjectsToSave.Add(newSceneObject);
                }
                else
                {
                    sceneObjectsToSave.Remove(matchingObj);
                    sceneObjectsToSave.Add(newSceneObject);
                }
            }
        }
        // Debug.Log("Scene Objects to Save: " + sceneObjectsToSave.Count);

        newSceneData.sceneName    = sceneName;
        newSceneData.sceneObjects = sceneObjectsToSave;

        SaveLoadScene.Save(newSceneData);
        // Debug.Log("Finished Scene Save (Save Handler)");
        hasFinishedSaving = true;
    }
Esempio n. 3
0
    void Start()
    {
        hasFinishedSaving  = false;
        hasFinishedLoading = false;

        if (SaveLoadScene.SceneSaveExists(sceneName))
        {
            LoadSceneData();
        }
        else
        {
            hasFinishedLoading = true;
        }
    }
Esempio n. 4
0
    public void LoadSceneData()
    {
        SaveLoadScene.Load(sceneName);
        SaveableSceneData loadedScene = SaveLoadScene.loadedScene;

        // Debug.Log("Load Scene Objects: " + loadedScene.sceneObjects.Count);

        // Debug.Log("Existing Scene Objects: " + existingSceneObjects.Length);

        for (int i = 0; i < loadedScene.sceneObjects.Count; i++)
        {
            for (int j = 0; j < existingSceneObjects.Length; j++)
            {
                if (loadedScene.sceneObjects[i].id == existingSceneObjects[j].id)
                {
                    // Debug.Log("Id Loaded: " + loadedScene.sceneObjects[i].id);
                    // Debug.Log("Id Loaded (Don't Load?): " + loadedScene.sceneObjects[i].dontLoad);

                    if (!loadedScene.sceneObjects[i].dontLoad)
                    {
                        existingSceneObjects[j].dontLoad = loadedScene.sceneObjects[i].dontLoad;

                        existingSceneObjects[j].transform.position = new Vector3(loadedScene.sceneObjects[i].posX, loadedScene.sceneObjects[i].posY, loadedScene.sceneObjects[i].posZ);

                        existingSceneObjects[j].transform.rotation = new Quaternion(loadedScene.sceneObjects[i].rotX, loadedScene.sceneObjects[i].rotY, loadedScene.sceneObjects[i].rotZ, loadedScene.sceneObjects[i].rotW);

                        existingSceneObjects[j].gameObject.SetActive(true);

                        // Debug.Log("Activating: " + existingSceneObjects[j].name + "(" + existingSceneObjects[j].id + ")");
                    }
                    else
                    {
                        existingSceneObjects[j].gameObject.SetActive(false);
                    }
                }
            }
        }
        // Debug.Log("Finished Scene Load (Save Handler)");
        hasFinishedLoading = true;
    }
Esempio n. 5
0
    void Save()
    {
        string fileName = "/save" + 1;

        SaveLoadScene.SaveGame(fileName);
    }
Esempio n. 6
0
 void LoadGame(string fileName)
 {
     SaveLoadScene.LoadGameInManu(fileName);
 }