示例#1
0
    void Start()
    {
        FirebaseFirestore db = FirebaseFirestore.DefaultInstance;

        CollectionReference usersRef = db.Collection("InteriorDataCollection");

        usersRef.GetSnapshotAsync().ContinueWithOnMainThread(task =>
        {
            QuerySnapshot snapshot = task.Result;
            foreach (DocumentSnapshot document in snapshot.Documents)
            {
                Debug.Log(String.Format("User: {0}", document.Id));
                Dictionary <string, object> documentDictionary = document.ToDictionary();

                InteriorData interiorData = new InteriorData();

                interiorData.id = int.Parse(documentDictionary["id"].ToString());

                string[] prices = documentDictionary["price"].ToString().Split('/');

                interiorData.price     = float.Parse(prices[0]);
                interiorData.priceUnit = prices[1];

                interiorData.purchaseType = documentDictionary["purchaseType"].ToString();
                interiorData.unlockStage  = int.Parse(documentDictionary["unlockStage"].ToString());
            }

            Debug.Log("Read all data from the users collection.");
        });
    }
示例#2
0
    public void Load(string fileName)
    {
        if (File.Exists(Application.dataPath + "/save/" + fileName))
        {
            BinaryFormatter bf   = new BinaryFormatter();
            FileStream      file = File.Open(Application.dataPath + "/save/" + fileName, FileMode.Open, FileAccess.Read);
            InteriorData    data = (InteriorData)bf.Deserialize(file);
            file.Close();

            for (int i = 0; i < data.rooms.Length; i++)
            {
                roomSlotList[i].Load(data.rooms[i]);
            }
        }
    }
示例#3
0
    public void Save(string fileName)
    {
        BinaryFormatter bf = new BinaryFormatter ();
        if (File.Exists (Application.absoluteURL + "/save/" + fileName))
                        print ("exists");
        FileStream file = File.Open (Application.dataPath + "/save/" + fileName, FileMode.OpenOrCreate, FileAccess.Write);

        InteriorData data = new InteriorData (this);
        for (int i = 0; i < data.rooms.Length; i++) {
            data.rooms[i] = new RoomSlotData(roomSlotList[i]);
        }

        bf.Serialize (file, data);
        file.Close ();
    }
示例#4
0
    public void Save(string fileName)
    {
        BinaryFormatter bf = new BinaryFormatter();

        if (File.Exists(Application.absoluteURL + "/save/" + fileName))
        {
            print("exists");
        }
        FileStream file = File.Open(Application.dataPath + "/save/" + fileName, FileMode.OpenOrCreate, FileAccess.Write);

        InteriorData data = new InteriorData(this);

        for (int i = 0; i < data.rooms.Length; i++)
        {
            data.rooms[i] = new RoomSlotData(roomSlotList[i]);
        }

        bf.Serialize(file, data);
        file.Close();
    }
示例#5
0
文件: Plate.cs 项目: tosh823/SupHero
        // Generating objects into plate here
        public void generateObjects(Theme theme)
        {
            EnvironmentData data = Data.Instance.getEnvByTheme(theme);

            // Interior
            for (int i = 0; i < plateData.interiorAmount; i++)
            {
                InteriorData interiorData = Utils.getRandomElement(data.interiors);
                GameObject   instance     = Instantiate(interiorData.prefab) as GameObject;
                instance.transform.SetParent(interior.transform);
                if (placeObject(instance))
                {
                    // Random rotation
                    Vector3 euler = instance.transform.eulerAngles;
                    euler.y = Random.Range(0f, 360f);
                    instance.transform.eulerAngles = euler;
                }
                else
                {
                    Destroy(instance.gameObject);
                }
            }
            // Covers
            for (int i = 0; i < plateData.coverAmount; i++)
            {
                CoverData  coverData = Utils.getRandomElement(data.covers);
                GameObject instance  = Instantiate(coverData.prefab) as GameObject;
                instance.transform.SetParent(covers.transform);
                instance.GetComponent <BaseDestructable>().durability = coverData.durability;
                if (placeObject(instance))
                {
                    // Random rotation
                    Vector3 euler = instance.transform.eulerAngles;
                    euler.y = Random.Range(0f, 360f);
                    instance.transform.eulerAngles = euler;
                }
                else
                {
                    Destroy(instance.gameObject);
                }
            }

            // Placing weapon drops
            for (int i = 0; i < 2; i++)
            {
                int        weaponId     = Data.Instance.getRandomWeaponId();
                GameObject dropInstance = Instantiate(data.dropPrefab) as GameObject;
                dropInstance.transform.SetParent(transform);
                dropInstance.GetComponent <Drop>().createDropSimple(Entity.WEAPON, weaponId);
                if (!placeObject(dropInstance))
                {
                    Destroy(dropInstance.gameObject);
                }
            }

            // Placing item drops
            for (int i = 0; i < 2; i++)
            {
                int        itemId       = Data.Instance.getRandomItemId();
                GameObject dropInstance = Instantiate(data.dropPrefab) as GameObject;
                dropInstance.transform.SetParent(transform);
                dropInstance.GetComponent <Drop>().createDropSimple(Entity.ITEM, itemId);
                if (!placeObject(dropInstance))
                {
                    Destroy(dropInstance.gameObject);
                }
            }
        }