public void PlantFakeTree(ZoneProfile zoneProfile, GameObject tree, Spacey.IWorldly treePoint, float treeScale) { var treeRandomizedRotation = Quaternion.AngleAxis(Random.Range(0, 360), Vector3.up); var treeRot = TerrainCaster.SampleRotation(treePoint, CoastlineTerrain) * treeRandomizedRotation; var treeInstance = Instantiate(tree, treePoint.Worldly, treeRot, GetZoneTreeHolder(zoneProfile)); treeInstance.transform.localScale = Vector3.one * treeScale; }
/// <summary> /// "Instantiates" a <see cref="Runtime.Catchables"/> prefab. /// /// This method should not contain any "decision making", and should only handle the "engine-y" stuff. /// Decision making should go in <see cref="SpawnFish"/> instead. /// </summary> /// <param name="fishToInstantiate"></param> /// <param name="position"></param> /// <param name="distanceFromGround"></param> /// <param name="rotation"></param> /// <param name="fishScale"></param> /// <returns></returns> private static Catchables InstantiateFish(Catchables fishToInstantiate, Spacey.IWorldly position, float distanceFromGround, Quaternion rotation, float fishScale) { var newFish = Object.Instantiate( fishToInstantiate, position.Worldly + (Vector3.up * distanceFromGround), rotation, FishHolder.Value ); newFish.ScaleUp(fishScale); return(newFish); }
public FutureFish( Catchables catchables, Spacey.IWorldly position, float distanceFromGround, Quaternion rotation, float scale ) { Catchables = catchables; _spawnPosition = position; DistanceFromGround = distanceFromGround; Rotation = rotation; Scale = scale; Portents.Add(this); }
private bool ShouldDeactivateFish(Spacey.IWorldly fishPosition) { return(IsFarBehind(fishPosition)); }
private bool IsCloseAhead(Spacey.IWorldly position) { var player = GameManager.Single.PlayerInstance.transform.position; return(position.Worldly.z - player.z < ActivateFishAheadBy); }
private bool IsFarBehind(Spacey.IWorldly position) { return(GameManager.Single.PlayerInstance.transform.position.z - position.Worldly.z > Mathf.Abs(DeactivateFishBehindBy)); }
public static Quaternion SampleRotation(Spacey.IWorldly point, Terrain terrain) { return(SampleRotation(point.Worldly, terrain)); }
public static RaycastHit TerrainCast(Spacey.IWorldly point, Terrain terrain) { return(TerrainCast(point.Worldly, terrain)); }