예제 #1
0
    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);
    }
예제 #2
0
    public GameCloud getCloud(int position)
    {
        GameCloud cloud = null;

        if (position > 0 && position <= clouds.Count)
        {
            cloud = clouds[position - 1];
        }
        return(cloud);
    }
예제 #3
0
    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;
    }
예제 #4
0
    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);
    }