8 using System.Collections;
10 namespace Valve.VR.InteractionSystem
15 public float minSpawnTime = 5f;
16 public float maxSpawnTime = 15f;
17 private float nextSpawnTime;
18 public GameObject balloonPrefab;
20 public bool autoSpawn =
true;
21 public bool spawnAtStartup =
true;
23 public bool playSounds =
true;
27 public bool sendSpawnMessageToParent =
false;
29 public float scale = 1f;
31 public Transform spawnDirectionTransform;
32 public float spawnForce;
34 public bool attachBalloon =
false;
36 public Balloon.BalloonColor color = Balloon.BalloonColor.Random;
42 if ( balloonPrefab == null )
47 if ( autoSpawn && spawnAtStartup )
49 SpawnBalloon( color );
50 nextSpawnTime = Random.Range( minSpawnTime, maxSpawnTime ) + Time.time;
58 if ( balloonPrefab == null )
63 if ( ( Time.time > nextSpawnTime ) && autoSpawn )
65 SpawnBalloon( color );
66 nextSpawnTime = Random.Range( minSpawnTime, maxSpawnTime ) + Time.time;
72 public GameObject SpawnBalloon(
Balloon.BalloonColor color =
Balloon.BalloonColor.Red )
74 if ( balloonPrefab == null )
78 GameObject balloon = Instantiate( balloonPrefab, transform.position, transform.rotation ) as GameObject;
79 balloon.transform.localScale =
new Vector3( scale, scale, scale );
82 balloon.transform.parent = transform;
85 if ( sendSpawnMessageToParent )
87 if ( transform.parent != null )
89 transform.parent.SendMessage(
"OnBalloonSpawned", balloon, SendMessageOptions.DontRequireReceiver );
95 if ( inflateSound != null )
99 if ( stretchSound != null )
104 balloon.GetComponentInChildren<
Balloon>().SetColor( color );
105 if ( spawnDirectionTransform != null )
107 balloon.GetComponentInChildren<Rigidbody>().AddForce( spawnDirectionTransform.forward * spawnForce );
115 public void SpawnBalloonFromEvent(
int color )
118 SpawnBalloon( (
Balloon.BalloonColor)color );