private GameCloud addRandomCloud(Transform cloudPoint, int number, CloudTypes type) { string resource = "prefabs/Cloud_" + Random.Range(1, 4).ToString(); GameObject instance = Instantiate(Resources.Load(resource, typeof(GameObject))) as GameObject; GameCloud cloud = instance.GetComponent <GameCloud>(); cloud.setup(cloudPoint.transform, type, number); return(cloud); }
public GameCloud getCloud(int position) { GameCloud cloud = null; if (position > 0 && position <= clouds.Count) { cloud = clouds[position - 1]; } return(cloud); }
public void createClouds() { clouds = new List <GameCloud>(); Transform cloudsRoot = transform.FindChild("Clouds"); Transform points = cloudsRoot.FindChild("points"); int cloudNumber = 1; for (int i = 0; i < points.childCount; i++) { Transform cloudPoint = points.GetChild(i); GameCloud cloud = addRandomCloud(cloudPoint, cloudNumber, CloudTypes.Default); clouds.Add(cloud); cloudNumber++; } endGamePosition = cloudNumber - 1; startGamePosition = 1; }
private void createPlayer(PlayerData data) { GameObject instance = Instantiate(Resources.Load("prefabs/player", typeof(GameObject))) as GameObject; Player player = instance.GetComponent <Player>(); GameCloud playerCloud = getCloud(data.position); if (playerCloud == null) { Debug.LogError("Fail to get cloud for :" + data.ToString()); instance.SetActive(false); GameObject.DestroyObject(instance); } else { player.setup(data.name, data.color, data.id, data.position); playerCloud.addPlayer(player); } players.Add(player); }