Архив: Нужно дописать код на C# для проекта в Unity 5. Львов.

Бюджет 6$ / 150
грн
в месяц
Создан: 7 лет назад
Закрыт
Описание
Код взят отсюда: https://www.youtube.com/playlist?list=PLX-uZVK_0K_73EIM5VvzfrBUDqztzbARm



В нем есть тайлы двух типов: TopTile и LeftTile

Нужно дописать ещё два варианта AngleTopTile и AngleLeftTile



Code:



using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.SceneManagement;



public class TileManager : MonoBehaviour {



public GameObject[] tilePrefabs;



public GameObject currentTile;

private static TileManager instance;



private Stack leftTiles = new Stack();



public Stack LeftTiles

{

get { return leftTiles;}

set { leftTiles = value;}

}



private Stack topTiles = new Stack();

public Stack TopTiles

{

get { return topTiles;}

set { topTiles = value;}

}



public static TileManager Instance

{

get {

if (instance == null)

{

instance = GameObject.FindObjectOfType();

}

return TileManager.instance;}

}



// Use this for initialization

void Start () {





for (int i = 0; i < 100; i++)

{

SpawnTile();

}

}



public void CreateTiles(int amount)

{

for (int i = 0; i < amount; i++)

{



leftTiles.Push(Instantiate(tilePrefabs[0]));

topTiles.Push(Instantiate(tilePrefabs[1]));

topTiles.Peek().SetActive(false);

topTiles.Peek().name = "TopTile";



leftTiles.Peek().SetActive(false);

leftTiles.Peek().name = "LeftTile";



}

}



public void SpawnTile()

{

if (leftTiles.Count == 0 || topTiles.Count == 0)

{

CreateTiles(100);

}



int RandomIndex = UnityEngine.Random.Range(0,2);



if (RandomIndex == 0)

{

GameObject tmp = leftTiles.Pop();

tmp.SetActive(true);

tmp.transform.position = currentTile.transform.GetChild(0).transform.GetChi ld(RandomIndex).position;

currentTile = tmp;

}



else if (RandomIndex == 1)

{

GameObject tmp = topTiles.Pop();

tmp.SetActive(true);

tmp.transform.position = currentTile.transform.GetChild(0).transform.GetChi ld(RandomIndex).position;

currentTile = tmp;

}



int spawnPickup = UnityEngine.Random.Range(0,10);



if(spawnPickup == 0){

currentTile.transform.GetChild(1).gameObject.SetAc tive(true);

}

}

}
Город
Львов
Категория