/// <summary> /// Checks if the mushroom is in the correct basket or not. /// </summary> /// <param name="info">Information of the mushroom</param> /// <param name="mushroom">Mushroom instance</param> private void CheckConditions(MushroomInfo info, GameObject mushroom) { if (info.Mushroom.IsEdible || info.Mushroom.IsRecommended) { Debug.Log("Comestible o recomendada"); if (IsGoodBasket) { OnMushroomInBasket(mushroom, true, info.Mushroom.ScoreValue, info.infoAlreadyColsulted); } else { OnMushroomInBasket(mushroom, false, info.Mushroom.ScoreValue, info.infoAlreadyColsulted); } } else { Debug.Log("Otra cosa"); if (IsGoodBasket) { OnMushroomInBasket(mushroom, false, info.Mushroom.ScoreValue, info.infoAlreadyColsulted); } else { OnMushroomInBasket(mushroom, true, info.Mushroom.ScoreValue, info.infoAlreadyColsulted); } } }
/// <summary> /// Unity method to check physics collisions between objects. /// </summary> /// <param name="other">Collider from the object collided</param> private void OnTriggerEnter(Collider other) { if (other.gameObject.CompareTag("Mushroom")) { GameObject mushroom = other.gameObject; MushroomInfo info = mushroom.GetComponent <MushroomInfo>(); if (info != null) { CheckConditions(info, mushroom); } } }
/// <summary> /// Unity method that runs at the beginning of the execution. /// </summary> void Start() { MPO = GetComponent <MoveablePhysicsObject>(); mushroomInfo = GetComponent <MushroomInfo>(); }