public void LoadGame(string loadName)
    {
        if (File.Exists(Application.persistentDataPath + "/" + loadName + "/WorkerControllerSave.save"))
        {
            BinaryFormatter      bf   = new BinaryFormatter();
            FileStream           file = File.Open(Application.persistentDataPath + "/" + loadName + "/WorkerControllerSave.save", FileMode.Open);
            WorkerControllerSave save = (WorkerControllerSave)bf.Deserialize(file);
            file.Close();

            //Assign variables
            foreach (KeyValuePair <string, Worker> worker in mWorkers)
            {
                int i = save.WorkerNames.IndexOf(worker.Key);
                worker.Value.mValue    = save.workers[i].mValue;
                worker.Value.mCount    = save.workers[i].mCount;
                worker.Value.mCapCount = save.workers[i].mCapCount;
                worker.Value.mPower    = save.workers[i].mPower;
                worker.Value.mCurTime  = save.workers[i].mCurTime;
                worker.Value.mMaxTime  = save.workers[i].mMaxTime;
            }
            popCap = save.popCap;
        }
        else
        {
            Debug.Log("No Workercontroller save found");
        }
    }
    //Saved Game
    private WorkerControllerSave CreateSaveGameObject()
    {
        WorkerControllerSave save = new WorkerControllerSave();

        //assign wariables


        //issue with saving working variables
        foreach (KeyValuePair <string, Worker> worker in mWorkers)
        {
            save.WorkerNames.Add(worker.Key);
            WorkerControllerData tmp = new WorkerControllerData();
            tmp.mName     = worker.Key;
            tmp.mType     = worker.Value.mType;
            tmp.mValue    = worker.Value.mValue;
            tmp.mCount    = worker.Value.mCount;
            tmp.mCapCount = worker.Value.mCapCount;
            tmp.mPower    = worker.Value.mPower;
            tmp.mCurTime  = worker.Value.mCurTime;
            tmp.mMaxTime  = worker.Value.mMaxTime;
            save.workers.Add(tmp);
        }
        save.popCap = popCap;
        return(save);
    }
    public void SaveGame(string saveName)
    {
        WorkerControllerSave save = CreateSaveGameObject();
        BinaryFormatter      bf   = new BinaryFormatter();
        FileStream           file = File.Create(Application.persistentDataPath + "/" + saveName + "/WorkerControllerSave.save");

        bf.Serialize(file, save);
        file.Close();

        Debug.Log("Saved Worker controller...");
    }