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; } }
protected Tooltip SpawnTooltipForLandscaping(Landscaping landscaping) { return(SpawnTooltip(landscaping.gameObject, landscaping.ToString(), Input.mousePosition)); }
public override void OnPlaced() { base.OnPlaced(); landscaping = GetComponentInParent <Landscaping>(); }