public override void OnInteract() { PlayerControllerAdapted.Mode mode = GameObject.Find("Player").GetComponent <PlayerControllerAdapted>().getMode(); //perform an action depending on the mode if (bedMode != BedFSM.inactive) { if (mode == PlayerControllerAdapted.Mode.Säen) { Planting(); bedMode = BedFSM.planted; } else if (mode == PlayerControllerAdapted.Mode.Giessen) { Watering(); } else if (mode == PlayerControllerAdapted.Mode.Jäten) { Weeding(); } else if (mode == PlayerControllerAdapted.Mode.Ernten) { Harvesting(); bedMode = BedFSM.plain; } } if (mode == PlayerControllerAdapted.Mode.Buddeln) { Dig(); } }
public void Harvesting() { if (_myPlant != null) { if (_myPlant.readyToHarvest) { ScoreboardHandler.newScore(_myPlant.getKind(), 1); } Destroy(_myPlant.gameObject); } bedMode = BedFSM.plain; }
public void Dig() { if (bedMode == BedFSM.inactive) { gameObject.GetComponent <Renderer>().material.color = activeColor; gameObject.transform.position += new Vector3(0f, 0.3f, 0f); } if (_myPlant != null) { Destroy(_myPlant.gameObject); } bedMode = BedFSM.plain; Weeding(); }
private void Dry() { if (_myPlant != null) { _myPlant.Dry(); } else { bedMode = BedFSM.plain; } //Change color to lighter this.GetComponent <MeshRenderer>().material.SetFloat("_Metallic", 0f); watered = false; }
IEnumerator SpawnWeeds() { while (true) { yield return(new WaitForSeconds(Random.Range(weedSpanRate, weedSpanRate + 15f))); if (bedMode != BedFSM.inactive) { newWeed = Instantiate(_weedPrefab, transform.position + new Vector3(Random.Range(-0.4f, 0.4f), 0.1f, Random.Range(-0.4f, 0.4f)), Quaternion.identity, this.transform); weedList.Add(newWeed); if (_myPlant != null) { _myPlant.obstructiveWeeds += 1; } else { bedMode = BedFSM.plain; } } } }
public void Weeding() { for (int i = 0; i < weedList.Count; i++) { Destroy(weedList[i].gameObject); } weedList.Clear(); if (_myPlant != null) { _myPlant.obstructiveWeeds = 0; /*//if first watered then weeded, check if now plant can grow * if (watered && !_myPlant.growingCondition && (_myPlant.size < _myPlant.maxSize)) * { * _myPlant.Water(); * }*/ } else { bedMode = BedFSM.plain; } }
public void Watering() { if (watered == false) { watered = true; //Change color to darker (bed is wet) this.GetComponent <MeshRenderer>().material.SetFloat("_Metallic", 0.5f); //Dry after some time Invoke("Dry", 30f); //if we have plant water plant if (_myPlant != null) { _myPlant.Water(); } else { bedMode = BedFSM.plain; } } }