Example #1
0
    public void Select()
    {
        if (selectedSurface != null)
        {
            selectedSurface.Hide();
        }

        if (selectedChair != null)
        {
            selectedChair.UnSelectMeshes();
        }

        if (selectedGenerator != null)
        {
            selectedGenerator.DeSelected();
        }

        selectedGenerator = null;
        selectedSurface   = null;
        groundObject      = null;
        selectedChair     = null;
        selectedDeliverer = null;

        RaycastHit hitInfo;

        if (Physics.Raycast(new Vector3(transform.position.x, height, transform.position.z), transform.forward, out hitInfo, interactRadius, layers))
        {
            groundObject = hitInfo.collider.gameObject.GetComponent <Ingredient>();
            if (!groundObject)
            {
                selectedChair = hitInfo.collider.gameObject.GetComponent <Chair>();

                if (selectedChair)
                {
                    selectedChair.SelectMeshes();
                }
                else
                {
                    selectedWigDispenser = hitInfo.collider.gameObject.GetComponent <WigDispenser>();

                    if (!selectedWigDispenser)
                    {
                        selectedGenerator = hitInfo.collider.gameObject.GetComponent <ObjectGenerator>();
                        if (selectedGenerator)
                        {
                            selectedGenerator.Selected();
                        }
                        else
                        {
                            selectedDeliverer = hitInfo.collider.GetComponentInParent <RecipeDeliverer>();

                            if (!selectedDeliverer)
                            {
                                selectedSurface = hitInfo.collider.GetComponentInParent <PlaceableSurface>();
                                if (selectedSurface)
                                {
                                    selectedSurface.Show();
                                }
                            }
                        }
                    }
                }
            }
        }
    }
Example #2
0
 private void Awake()
 {
     Instance     = this;
     itemsSpawned = 3;
 }