IEnumerator SavePlantToDB(Button plantButton) { // MasterUserManager.Instance.startDailyTimer = 0; SinglePlant plant = new SinglePlant(); if (!singlePlant.isItClickable) { plant.FieldID = singlePlant.FieldID; plant.ContractID = singlePlant.ContractID; singlePlant.isPlantInContract = true; singlePlant.isPlantPlanted = true; singlePlant.isItClickable = true; plant.isItClickable = singlePlant.isItClickable; plant.isPlantPlanted = singlePlant.isPlantPlanted; plant.isPlantInContract = singlePlant.isPlantInContract; plant.isDroneAssigned = true; string ToJson = JsonUtility.ToJson(plant); reference.Child("USERS").Child(LoginAndRegisterManager.Instance.CustomMasterUserID).Child("GAMESPACE").Child("CONTRACT" + plant.ContractID).Child("PLANTS").Child("PLANT" + plant.FieldID).SetRawJsonValueAsync(ToJson); MasterUserManager.Instance.CREATEDPLANTPOPUP.enabled = true; MasterUserManager.Instance.CREATEDPLANTPOPUP.transform.GetChild(0).GetComponentInChildren <Text>().text = "Plant with id " + plant.FieldID + " and contract id " + plant.ContractID + " is now created"; yield return(new WaitForSeconds(1f)); MasterUserManager.Instance.CREATEDPLANTPOPUP.enabled = false; } else { MasterUserManager.Instance.CREATEDPLANTPOPUP.enabled = true; MasterUserManager.Instance.CREATEDPLANTPOPUP.transform.GetChild(0).GetComponentInChildren <Text>().text = "This plant is not assigned to any contract"; yield return(new WaitForSeconds(1f)); MasterUserManager.Instance.CREATEDPLANTPOPUP.enabled = false; } }
public void SetEachPlantDataInDbAfterCreatingContract() { plant = new SinglePlant(); plant.ContractID = ContractID; plant.isPlantInContract = true; plant.isPlantPlanted = true; plant.isDroneAssigned = false; plant.FieldID = id; ContractID = 0; string ToJson = JsonUtility.ToJson(plant); reference.Child("USERS").Child(LogInAndRegister.Instance.UserName).Child("GAMESPACE").Child("CONTRACT" + ContractID).Child("PLANTS").Child("PLANT" + plant.FieldID).SetRawJsonValueAsync(ToJson); }
//public void AsignEventOnContractCreation() //{ // if (!plant.isPlantInContract) // { // ContractManager.ContractManagerInstance.OnContractCreatedPlantPlants += OnContractCreated; // Debug.Log("ke se staba vo kontrakt"); // } // else // { // ContractManager.ContractManagerInstance.OnContractCreatedPlantPlants -= OnContractCreated; // Debug.Log("vo kontrakt e "); // } //} //ISTO VAKA I CONTRACT DA ZEMAM // tuka da predadam so parametar koga ke stisnam na inspect contract za koj kontrakt id da zeme data od plants public void GetDBDataForPlant() { FirebaseDatabase.DefaultInstance .GetReference("USERS").Child(LogInAndRegister.Instance.UserName).Child("GAMESPACE").Child("CONTRACT" + ContractID).Child("PLANTS").Child("PLANT" + id) .GetValueAsync().ContinueWith(task => { if (task.IsFaulted) { // Handle the error... } else if (task.IsCompleted) { DataSnapshot snapshot = task.Result; plant = JsonUtility.FromJson <SinglePlant>(snapshot.GetRawJsonValue()); Debug.Log("data for plant for contract id " + plant.ContractID); // StartCoroutine(GetTheDataFromTheDbAndPopulateThePlant(snapshot.GetRawJsonValue())); } }); }
//IEnumerator DelayedCycleDaysIncrement() //{ // yield return new WaitForSeconds(3f); // if(FirstPlantsForContract[0].plant != null) // { // if (FirstPlantsForContract[0].plant.GrowthDays >= 1) // { // int CycleDays = FirstPlantsForContract[0].plant.GrowthDays; // if (CycleDays <= 19) // { // Dictionary<string, object> lParametersForCycleDays = new Dictionary<string, object>(); // Contract contract = new Contract(); // lParametersForCycleDays.Add("CycleDays", contract.CycleDays = CycleDays); // reference.Child("USERS").Child(LogInAndRegister.Instance.UserName).Child("GAMESPACE").Child("CONTRACT" + 0).UpdateChildrenAsync(lParametersForCycleDays); // } // else // { // Debug.Log("cycle is over"); // } // } // TimeManager.Instance.canCount = 1; // } //} //public void IncrementCycleDayForContract() //{ // StartCoroutine(DelayedCycleDaysIncrement()); //} public void IncrementGrowthDaysForEachPlansAndContract() { for (int i = 0; i < FirstPlantsForContract.Count; i++) { if (FirstPlantsForContract[i].plant != null)//.isDroneAssigned) { if (FirstPlantsForContract[i].plant.isPlantInContract) { //increment days int growthDayIncrementer = FirstPlantsForContract[0].plant.GrowthDays; Dictionary <string, object> lParameters = new Dictionary <string, object>(); SinglePlant plant = new SinglePlant(); lParameters.Add("GrowthDays", plant.GrowthDays = growthDayIncrementer += 1); // lParameters.Add("isDroneAssigned", plant.isDroneAssigned = true); // PlayerPrefs.SetInt("frPlants", plant.GrowthDays); reference.Child("USERS").Child(LogInAndRegister.Instance.UserName).Child("GAMESPACE").Child("CONTRACT" + 0).Child("PLANTS").Child("PLANT" + i).UpdateChildrenAsync(lParameters); TimeManager.Instance.canCount = 1; } } } for (int i = 0; i < SecondPlantsForContract.Count; i++) { if (SecondPlantsForContract[i].plant != null)//.isDroneAssigned) { if (SecondPlantsForContract[i].plant.isPlantInContract) { //increment days int growthDayIncrementer = SecondPlantsForContract[0].plant.GrowthDays; Dictionary <string, object> lParameters = new Dictionary <string, object>(); SinglePlant plant = new SinglePlant(); lParameters.Add("GrowthDays", plant.GrowthDays = growthDayIncrementer += 1); // lParameters.Add("isDroneAssigned", plant.isDroneAssigned = true); // PlayerPrefs.SetInt("frPlants", plant.GrowthDays); // if days are equal top 20 end cycle or that contract and reset it to 0 or something reference.Child("USERS").Child(LogInAndRegister.Instance.UserName).Child("GAMESPACE").Child("CONTRACT" + 1).Child("PLANTS").Child("PLANT" + i).UpdateChildrenAsync(lParameters); TimeManager.Instance.canCount = 1; } } } ActiveAndDoneContractsUI(); //active/done //if (FirstPlantsForContract[0].plant.GrowthDays >= 10) //{ // UIManager.Instance.DoneCycle0.text = "Cycle done for contract " + +FirstPlantsForContract[0].plant.ContractID; //} //else //{ // UIManager.Instance.ActiceCycle0.text = "Active cycle for contract " + +FirstPlantsForContract[0].plant.ContractID; //} //} //for (int i = 0; i < ThirdPlantsForContract.Count; i++) //{ // if (ThirdPlantsForContract[i].plant.isDroneAssigned) // { // //increment days // int growthDayIncrementer = ThirdPlantsForContract[0].plant.GrowthDays; // Dictionary<string, object> lParameters = new Dictionary<string, object>(); // SinglePlant plant = new SinglePlant(); // lParameters.Add("GrowthDays", plant.GrowthDays = growthDayIncrementer += 1); // lParameters.Add("isDroneAssigned", plant.isDroneAssigned = true); // // PlayerPrefs.SetInt("frPlants", plant.GrowthDays); // reference.Child("USERS").Child(LogInAndRegister.Instance.UserName).Child("GAMESPACE").Child("CONTRACT" +2).Child("PLANTS").Child("PLANT" + i).UpdateChildrenAsync(lParameters); // } //} //for (int i = 0; i < FourthPlantsForContract.Count; i++) //{ // if (FourthPlantsForContract[i].plant.isDroneAssigned) // { // //increment days // int growthDayIncrementer = FourthPlantsForContract[0].plant.GrowthDays; // Dictionary<string, object> lParameters = new Dictionary<string, object>(); // SinglePlant plant = new SinglePlant(); // lParameters.Add("GrowthDays", plant.GrowthDays = growthDayIncrementer += 1); // lParameters.Add("isDroneAssigned", plant.isDroneAssigned = true); // // PlayerPrefs.SetInt("frPlants", plant.GrowthDays); // reference.Child("USERS").Child(LogInAndRegister.Instance.UserName).Child("GAMESPACE").Child("CONTRACT" + 3).Child("PLANTS").Child("PLANT" + i).UpdateChildrenAsync(lParameters); // } //} //for (int i = 0; i < FifthPlantsForContract.Count; i++) //{ // if (FifthPlantsForContract[i].plant.isDroneAssigned) // { // //increment days // int growthDayIncrementer = FifthPlantsForContract[0].plant.GrowthDays; // Dictionary<string, object> lParameters = new Dictionary<string, object>(); // SinglePlant plant = new SinglePlant(); // lParameters.Add("GrowthDays", plant.GrowthDays = growthDayIncrementer += 1); // lParameters.Add("isDroneAssigned", plant.isDroneAssigned = true); // // PlayerPrefs.SetInt("frPlants", plant.GrowthDays); // reference.Child("USERS").Child(LogInAndRegister.Instance.UserName).Child("GAMESPACE").Child("CONTRACT" +4).Child("PLANTS").Child("PLANT" + i).UpdateChildrenAsync(lParameters); // } //} }
private void Awake() { _Instance = this; }