protected void SpawnLandscaping(string name)
    {
        LandscapingDefinition lDef = LandscapingManifest.GetLandscapingDefinition(name);

        if (lDef == null)
        {
            return; // If the LandscapingDefinition is null, we just return here. We will have already logged an error in LandscapingManifest's function which will have our stack trace.
        }
        Landscaping l = Instantiate(lDef.Actor, inputPosition,
                                    Quaternion.identity, transform);

        Landscapings.Add(l);

        l.Definition = lDef;
        l.Picked     = true;

        pickedActor = l;
        pickedActor.transform.position = inputPosition;
    }
    protected void OnValidPosition()
    {
        pickedActor.OnValidPosition();

        if (pickedActor is Landscaping)
        {
            parentContainer = (pickedActor as Landscaping).GetComponentInParent <Container>();

            // Grab parent rotation
            Quaternion rot = parentContainer.transform.rotation;

            // Grab parent size definition
            Vector3 size = parentContainer.Definition.ContainerSoilSize;

            // Grab parent container snapping position
            Vector3 snapToPos = parentContainer.SnapPoint.position;

            pickedActor.transform.position      = snapToPos;
            pickedActor.Mesh.transform.position = snapToPos;
            hitCellPosition = snapToPos;          // We now need to update our 'selected' cell so that when we place this item, it'll be place there.
            pickedActor.transform.rotation = rot; // We don't want to lerp this, it'll look too clunky.

            pickedActor.SetScale(size);
        }
        else if (pickedActor is Plant)
        {
            parentLandscaping = (pickedActor as Plant).GetComponentInParent <Landscaping>();

            float snapToPosY = parentLandscaping.SnapPoint.position.y;
            hitCellPosition.y = snapToPosY;
            Vector3 vec = pickedActor.transform.position;
            vec.y = snapToPosY;


            pickedActor.transform.position = vec;
        }
    }
Example #3
0
 protected Tooltip SpawnTooltipForLandscaping(Landscaping landscaping)
 {
     return(SpawnTooltip(landscaping.gameObject, landscaping.ToString(), Input.mousePosition));
 }
Example #4
0
    public override void OnPlaced()
    {
        base.OnPlaced();

        landscaping = GetComponentInParent <Landscaping>();
    }