/// <summary> /// Fills the container with a certain liquid. /// Water cleans all the liquids. /// </summary> /// <param name="liquid"></param> public void Fill(EffectFactory.LIQUID_TYPE liquid) { if (liquid == EffectFactory.LIQUID_TYPE.Water) { Empty(); return; } if (FillAmount >= 100) { FillAmount = 100; return; } var l = _containedLiquids.Find(x => x.Liquid == liquid); if (l == null) { l = new Ingredient { Liquid = liquid }; _containedLiquids.Add(l); } l.Percentage += fillStep; FillAmount += fillStep; // Debug.Log("Fill percent of " + liquid + " = " + l.Percentage); }
/// <summary> /// Fills the container with the given liquid and the given amount. /// </summary> /// <param name="liquid"></param> /// <param name="amount">Should be between 0 and 100%</param> public void Fill(EffectFactory.LIQUID_TYPE liquid, float amount) { _containedLiquids.Add(new Ingredient { Liquid = liquid, Percentage = amount }); FillAmount += amount; }
public void Fill(EffectFactory.LIQUID_TYPE liquid) { var fa = _container.FillAmount / 100f; _container.Fill(liquid); _liquid.SetActive(fa > 0); _liquid.transform.localScale = new Vector3(1, fa, 1); _liquidMat.material.color = _container.GetContainerColor(); if (fa >= 1 && drinkEvent == null) { var effect = _container.GetGeneratedEffect(); if (effect != null) { drinkEvent = effect.Activate(gameObject); } } else if (fa < 1 && drinkEvent != null) { Destroy(drinkEvent); drinkEvent = null; } //_liquidMat.material.SetColor("_Color", _container.GetContainerColor()); }