//================================================================================ // //================================================================================ using UnityEngine; using System.Collections; using System.Collections.Generic; //================================================================================ // //================================================================================ namespace ReaderRabbit { //================================================================================ // //================================================================================ public class SandwichIngredientsColumn : MonoBehaviour { //================================================================================ // //================================================================================ [SerializeField] private int m_Offset = 5; [SerializeField] private int m_MaxNumberOfIngredients = 10; private int m_NumberOfIngredients; private BoxCollider2D m_BoxCollider; private SandwichManager m_Owner; private List m_Ingredients; //================================================================================ // //================================================================================ void Start() { this.m_Owner = this.transform.parent.GetComponent(); this.m_BoxCollider = (BoxCollider2D)this.GetComponent(); this.m_Ingredients = new List(); } //================================================================================ // //================================================================================ public bool AddIngredient(GameObject ingredient) { if (m_NumberOfIngredients < m_MaxNumberOfIngredients) { ingredient.transform.position = GetNextItemPosition(ingredient); m_Ingredients.Add(ingredient.GetComponent()); m_NumberOfIngredients++; return true; } else { // TODO: Play feedback } return false; } //================================================================================ // //================================================================================ private Vector2 GetNextItemPosition(GameObject ingredient) { Vector2 position = new Vector2( this.m_BoxCollider.offset.x - this.m_BoxCollider.size.x / 2 - ingredient.GetComponent().bounds.size.x / 2, this.m_BoxCollider.offset.y - this.m_BoxCollider.size.y / 2 + ingredient.GetComponent().bounds.size.y); position.y += m_NumberOfIngredients * m_Offset; return position; } //================================================================================ // //================================================================================ public void ClearIngredients() { m_Ingredients.Clear(); } //================================================================================ // //================================================================================ public float GetIngredientsHeight() { float height = 0; foreach (SpriteRenderer sprite in m_Ingredients) { //height += sprite.bounds.extents.y; height = sprite.bounds.extents.y; } return height; } //================================================================================ // //================================================================================ public void Reset() { m_NumberOfIngredients = 0; foreach (SpriteRenderer sprite in m_Ingredients) { GameObject.Destroy(sprite.gameObject); } m_Ingredients.Clear(); } } // public class SandwichIngredientsColumn : MonoBehaviour } // namespace ReaderRabbit