コード例 #1
0
ファイル: SheepAgent.cs プロジェクト: Ninjars/unity-islands
 void Start()
 {
     if (voiceIndex < 0)
     {
         setVoice(random.getInt(0, sheepSounds.sounds.Count));
     }
     baaInterval = random.getFloat(minBaaInterval, maxBaaInterval) * 0.5f;
     moveToRandomPoint();
     updateScale();
 }
コード例 #2
0
ファイル: GameManager.cs プロジェクト: Ninjars/unity-islands
        private void spawnInitialSheep(WorldData world, Utils.RandomProvider random)
        {
            Debug.Log($"spawning {initialSheepCount} sheep");
            IslandData island      = world.islands[0];
            Vector3    spawnOrigin = island.topsideBounds.center;
            float      maxRadius   = island.topsideBounds.max.magnitude * 0.75f;

            for (int i = 0; i < initialSheepCount; i++)
            {
                int     attempts = 0;
                Vector3 position = Vector3.positiveInfinity;
                while (attempts < 5 && position.x == float.PositiveInfinity)
                {
                    float spawnRadius = random.getFloat(maxRadius);
                    position = Utils.RandomUtils.RandomNavSphere(random, spawnOrigin, spawnRadius, -1);
                    attempts++;
                }
                if (position.x != float.PositiveInfinity)
                {
                    spawnSheep(random, position, 0, -1);
                }
            }
        }