コード例 #1
0
        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;
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
 private bool ShouldDeactivateFish(Spacey.IWorldly fishPosition)
 {
     return(IsFarBehind(fishPosition));
 }
コード例 #5
0
        private bool IsCloseAhead(Spacey.IWorldly position)
        {
            var player = GameManager.Single.PlayerInstance.transform.position;

            return(position.Worldly.z - player.z < ActivateFishAheadBy);
        }
コード例 #6
0
 private bool IsFarBehind(Spacey.IWorldly position)
 {
     return(GameManager.Single.PlayerInstance.transform.position.z - position.Worldly.z > Mathf.Abs(DeactivateFishBehindBy));
 }
コード例 #7
0
 public static Quaternion SampleRotation(Spacey.IWorldly point, Terrain terrain)
 {
     return(SampleRotation(point.Worldly, terrain));
 }
コード例 #8
0
 public static RaycastHit TerrainCast(Spacey.IWorldly point, Terrain terrain)
 {
     return(TerrainCast(point.Worldly, terrain));
 }