public FormPutOnStorage(IStorage serviceS, IIngridient serviceC, IMain serviceM) { InitializeComponent(); this.serviceS = serviceS; this.serviceC = serviceC; this.serviceM = serviceM; }
private void AddIngridient(IIngridient ingridient) { if (ingridient != null && !Ingridients.Contains(ingridient)) { Ingridients.Add(ingridient); } }
private void OnIngridientAdded(IIngridient obj) { if (obj is ISpawnable spawnable) { Spawner.Instance.RemoveFromWaiting(spawnable); } ISelectable select = obj as ISelectable; var position = transform.position; var vacantPos = new Vector3(position.x, position.y + ContainedData._ingridients.Sum(el => el != obj ? el.GetHeight() : 0), position.z); if (select != null) { if (@select != null) { StartCoroutine(PlaceAnimation(@select, vacantPos, @select.Move)); } } else { var t = obj as IEditable; t.GetTransform().position = vacantPos; t.GetTransform().gameObject.layer = 0; t.GetTransform().SetParent(transform); } IngridientAction?.Invoke(obj); }
private void OnTriggerEnter(Collider other) { var ingridient = other.GetComponent <IIngridient>(); if (ingridient != null) { _ingridientInside = ingridient; } }
public void AddIngridient(IIngridient ingridient) { if (_ingridients == null) { _ingridients = new List <IIngridient>(); } _ingridients.Add(ingridient); OnIngridientAdded?.Invoke(ingridient); }
private void OnIngridientAdded(IIngridient obj) { var position = Vector3.zero; var vacantPos = new Vector3(position.x, position.y + _data._ingridients.Sum(el => el != obj ? el.GetHeight() * 2 : 0), position.z); var t = obj as IEditable; t.GetTransform().SetParent(_requestPosition); t.GetTransform().localPosition = vacantPos; t.GetTransform().gameObject.layer = 0; t.GetTransform().localScale = Vector3.one * 1.5f; }
public PizzaDecorator(Pizza pizza, params IIngridient[] addedIngrids) { _pizza = pizza; Ingridients = _pizza.Ingridients.GetRange(0, _pizza.Ingridients.Count); foreach (var ingrid in addedIngrids) { _ingridient = ingrid; if (_ingridient.GetType() == typeof(CakeLayer)) { throw new ArgumentException("Нельзя добавить второй корж"); } Ingridients.Add(_ingridient.GetType()); if (Ingridients.Count % 7 == 0) { discount *= 0.9; } _addedCost += _ingridient.GetCost(); _addedDescription += $" {_ingridient.GetDescription()} + "; } }
public bool InteractWith <T>(T interactionObject, InteractableZoneArgs args) { var vacantObject = interactionObject as IIngridient; if (vacantObject == null) { return(false); } if (_ingridientInside != vacantObject) { return(false); } if (_burger.GetData()._ingridients.Contains(_ingridientInside)) { return(false); } _burger.GetData().AddIngridient(_ingridientInside); _ingridientInside = null; return(true); }
private Transform PlaceScheduledIngridient(IIngridient obj) { if (_schedule.Count == 0) { return(null); } for (int i = 0; i < _spawnZones.Count; i++) { if (_spawnZones[i].GetHoldedSpawnable() == obj) { _spawnZones[i].Remove(null); } if (_spawnZones[i].IsEmpty() == true) { _spawnZones[i].Spawn(_schedule[0]); _schedule.RemoveAt(0); } } return(null); }
private void OnTriggerExit(Collider other) { _ingridientInside = null; }
public FormIngridients(IIngridient service) { InitializeComponent(); this.service = service; }