/**
     * Loads the save data from the disk
     */
    public static void loadData()
    {
        savePath = Application.persistentDataPath + "/save.dat";
        if (File.Exists(savePath))
        {
            BinaryFormatter bf   = new BinaryFormatter();
            FileStream      file = new FileStream(savePath, FileMode.Open);
            saveWorld = (SaveWorld)bf.Deserialize(file);
            file.Close();

            for (int i = 0; i < 10; i++)
            {
                for (int j = 0; j < 10; j++)
                {
                    Debug.Log(saveWorld.rotations[i, j]);
                    if (saveWorld.IDs[i, j] != -1)
                    {
                        GameManager.world[i, j] = Instantiate(PrefabManager.IDToGameObject(saveWorld.IDs[i, j]),
                                                              new Vector3(saveWorld.positions[i, j, 0], saveWorld.positions[i, j, 1], 0f),
                                                              Quaternion.Euler(0f, 0f, saveWorld.rotations[i, j])) as GameObject;
                    }
                }
            }
        }
    }
示例#2
0
    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            GetComponent <EditMode>().StopEdit();
            GetComponent <EditMode>().StopDelete();
        }

        if (EditMode.isEditing)
        {
            return;
        }

        if (Input.GetKeyDown(KeyCode.F))
        {
            GetComponent <EditMode>().StartEdit();
        }

        if (Input.GetKeyDown(KeyCode.D))
        {
            GetComponent <EditMode>().StartDelete();
        }

        if (Input.GetKeyDown(KeyCode.C))
        {
            GetComponent <EditMode>().StartPlacing(PrefabManager.IDToGameObject(3));
        }

        if (Input.GetKeyDown(KeyCode.S))
        {
            GetComponent <EditMode>().StartPlacing(salePrefab);
        }
    }
示例#3
0
    IEnumerator Produce()
    {
        bool enoughItems;

        while (true)
        {
            yield return(new WaitForSeconds(1));

            if (!EditMode.isEditing)
            {
                enoughItems = true;
                // Control of items are sufficient to produce
                foreach (int item in inputItems.Keys)
                {
                    //if bank doesn't have item or not enough
                    if (!itemBank.ContainsKey(item) || itemBank[item] < inputItems[item])
                    {
                        enoughItems = false;
                    }
                }

                if (enoughItems)
                {
                    //Remove used Items
                    foreach (int item in inputItems.Keys)
                    {
                        itemBank[item] -= inputItems[item];
                    }

                    Instantiate(PrefabManager.IDToGameObject(outputItem), transform.position + 2 * Vector3.down + Vector3.back, Quaternion.identity);
                }
            }
        }
    }
示例#4
0
 IEnumerator Spawn()
 {
     while (true)
     {
         if (!EditMode.isEditing && spawnItem != -1)
         {
             Instantiate(PrefabManager.IDToGameObject(spawnItem), transform.position + 2 * Vector3.down + Vector3.back, Quaternion.identity);
         }
         yield return(new WaitForSeconds(spawnTime));
     }
 }
示例#5
0
 public void buyItem(int ID)
 {
     GetComponent <EditMode>().StartPlacing(PrefabManager.IDToGameObject(ID));
 }