コード例 #1
0
    private void HandleAttachable(BurgerAttachableComponent attachable)
    {
        float distance = (attachable.transform.position - attachmentTrigger.transform.position).magnitude;

        if (distance < attachmentThreshold)
        {
            Attach(attachable);
        }
    }
コード例 #2
0
    private void OnTriggerEnter(Collider other)
    {
        BurgerAttachableComponent attachable = other.GetComponentInParent <BurgerAttachableComponent>();

        if (attachable && !attachable.IsAttached)
        {
            HandleAttachable(attachable);
        }
    }
コード例 #3
0
    private void Attach(BurgerAttachableComponent attachable)
    {
        BurgerIngredient ingredient = attachable.GetIngredient();

        burgerIngredients.Add(ingredient);

        GameObject graphics = Instantiate(attachable.GraphicsPrefab, transform);

        graphics.transform.position = attachmentTrigger.transform.position;

        attachmentTrigger.transform.localPosition = attachmentTrigger.transform.localPosition + Vector3.up * attachable.IngredientHeight;

        if (ingredient.IngredientType == BurgerIngredientType.BUN_TOP)
        {
            attachmentTrigger.enabled = false;
        }

        Destroy(attachable.gameObject);
    }