Example #1
0
    public void save()
    {
        saveTransform[] saveTransforms = new saveTransform[transforms.Count];
        for (int i = 0; i < transforms.Count; i++)
        {
            saveTransforms[i] = new saveTransform(transforms[i].position, transforms[i].eulerAngles.z, new Vector2(transforms[i].localScale.x, transforms[i].localScale.y), transforms[i].GetComponent <WorldObject>().item);
        }
        SaveObjectData sOD = new SaveObjectData(saveTransforms);

        SaveSystem.SaveObjects(sOD, saveCom.saveName);
    }
Example #2
0
    static public void SaveLevel(Map t_map, string t_fileName, Dictionary <string, Sprite> t_tileSprites, Dictionary <string, MapObject> t_mapObjects)
    {
        LevelSaveData saveData = new LevelSaveData();

        saveData.m_mapWidth  = t_map.m_width;
        saveData.m_mapHeight = t_map.m_hight;

        foreach (KeyValuePair <string, Sprite> tileSprite in t_tileSprites)
        {
            saveData.m_tileSpritePaths.Add(tileSprite.Key);
        }

        for (int x = 0; x < saveData.m_mapWidth; x++)
        {
            ColumnWrapper col = new ColumnWrapper();

            for (int y = 0; y < saveData.m_mapHeight; y++)
            {
                col.m_spriteNames.Add(t_map.GetTile(new MapIndex(x, y)).GetSprite().name);
            }

            saveData.m_spriteNames.Add(col);
        }

        foreach (KeyValuePair <string, MapObject> mapObject in t_mapObjects)
        {
            SaveObjectData saveMapPrefabData = new SaveObjectData();
            saveMapPrefabData.m_name       = mapObject.Value.m_name;
            saveMapPrefabData.m_prefabPath = mapObject.Value.m_prefabPath;
            saveMapPrefabData.m_width      = mapObject.Value.m_width;
            saveMapPrefabData.m_height     = mapObject.Value.m_height;

            saveData.m_objectsData.Add(saveMapPrefabData);
        }

        List <GameObject> placedPrefabs = t_map.GetAllEnteties();

        foreach (GameObject placedPrefab in placedPrefabs)
        {
            PlacedObjectData mapPrefab = new PlacedObjectData();

            mapPrefab.m_name     = placedPrefab.name;
            mapPrefab.m_position = placedPrefab.transform.position;

            saveData.m_placedObjects.Add(mapPrefab);
        }

        string jsonData = JsonUtility.ToJson(saveData, true);
        string fullPath = s_jsonPath + t_fileName + ".json";

        System.IO.File.WriteAllText(fullPath, jsonData);
    }
Example #3
0
    public static void SaveObjects(SaveObjectData sD, string name)
    {
        string          path      = Application.persistentDataPath + "/" + name + "Objects.lol";
        BinaryFormatter formatter = new BinaryFormatter();
        FileStream      stream    = new FileStream(path + ";-;", FileMode.Create);

        formatter.Serialize(stream, sD);
        stream.Close();
        if (File.Exists(path))
        {
            File.Delete(path);
        }
        File.Move(path + ";-;", path);
    }
Example #4
0
    public void GetAllData(Player player)
    {
        playerSaveData = new PlayerSaveData();
        objectsData    = new List <SaveObjectData>();

        playerSaveData.GetData(player);

        for (int i = 0; i < ObjectManager.Instance.objects.Count; i++)
        {
            ObjectManager.Instance.objects[i].SaveObjectData();
            SaveObjectData temp = ObjectManager.Instance.objects[i].m_objectData;
            objectsData.Add(temp);
        }
    }
Example #5
0
 //Load the given data into this object
 public void LoadObjectData(SaveObjectData data)
 {
     objectId = data.objectId;
     if (savePos)
     {
         transform.position = new Vector3(data.posX, data.posY, data.posZ);
     }
     if (saveRot)
     {
         transform.rotation = Quaternion.Euler(new Vector3(data.rotX, data.rotY, data.rotZ));
     }
     if (hasRigidbody)
     {
         GetComponent <Rigidbody>().velocity = new Vector3(data.velX, data.velY, data.velZ);
     }
 }
Example #6
0
    public static SaveObjectData loadObjects(string name)
    {
        string path = Application.persistentDataPath + "/" + name + "Objects.lol";

        if (File.Exists(path))
        {
            BinaryFormatter formatter = new BinaryFormatter();
            FileStream      stream    = new FileStream(path, FileMode.Open);
            SaveObjectData  sD        = (SaveObjectData)formatter.Deserialize(stream);
            stream.Close();
            return(sD);
        }
        else
        {
            return(null);
        }
    }
Example #7
0
    public void load()
    {
        instance = this;
        items          items = items.instance;
        SaveObjectData sOD   = SaveSystem.loadObjects(saveCom.saveName);

        if (sOD == null)
        {
            return;
        }
        for (int i = 0; i < sOD.transforms.Length; i++)
        {
            Transform t = items.spawnObject(sOD.transforms[i].item, new Vector2(sOD.transforms[i].position[0], sOD.transforms[i].position[1]));
            t.eulerAngles = new Vector3(0, 0, sOD.transforms[i].rotation);
            t.localScale  = new Vector3(sOD.transforms[i].scale[0], sOD.transforms[i].scale[1], 1);
            transforms.Add(t);
        }
    }
Example #8
0
 //Creates a new saveobjectdata object for saving purposes, then saves it
 public void SaveObjectData()
 {
     m_objectData = new SaveObjectData();
     m_objectData.GetData(this);
 }