void Start() { myCellMerger = FindObjectOfType <CellMerger>(); myCellSpawner = FindObjectOfType <CellSpawner>(); mySpriteRender = GetComponent <SpriteRenderer>(); myCollider2D = GetComponent <Collider2D>(); }
IEnumerator MergeCells(List <GameObject> cellsToMerge, int cellType, bool midCellMerge) { Vector2 randomPosition = new Vector2(Random.Range(0.2f, 0.8f), Random.Range(0.2f, 0.8f)); Vector2 spawnPosition = Camera.main.ViewportToWorldPoint(randomPosition); GameObject cellMerger = Instantiate(merger, spawnPosition, Quaternion.identity); cellMerger.GetComponent <SpriteRenderer>().sprite = MergeSprites[cellType]; mergerReference = cellMerger; yield return(new WaitForSeconds(0.5f)); CellsReady = cellsToMerge.Count; for (int i = 0; i < cellsToMerge.Count; i++) { cellsToMerge[i].TryGetComponent(out Cell_Base cell_Base); cell_Base.combineTarget = cellMerger.transform.position; cell_Base.ToggleCollider(); cell_Base.StartMerge(); cell_Base.myCellMerger = this; } while (CellsReady > 0) { yield return(new WaitForSeconds(0.1f)); } for (int i = 0; i < cellsToMerge.Count; i++) { Destroy(cellsToMerge[i]); } cellsToMerge.Clear(); CellSpawner myCellSpawner = GameManager.gameManager.organManager.cellSpawner; if (midCellMerge) { Debug.Log("Cell with no info spawned"); //myCellSpawner.SpawnMedRedBloodCell(cellMerger.transform.position); myCellSpawner.InstantiateCells(cellMerger.transform.position, false, cellType, 1, true); myCellSpawner.CheckMedCellsMerge(cellType); } else { myCellSpawner.InstantiateCells(cellMerger.transform.position); myCellSpawner.CanBuyCell = true; } //LTDescr d = LeanTween.scale(cellMerger, new Vector3(cellMerger.transform.position.x * 1.2f, cellMerger.transform.position.y * 1.2f, 1), .4f).setEase(LeanTweenType.easeInExpo); LTDescr f = LeanTween.alpha(cellMerger, 0, .4f).setEase(LeanTweenType.easeInExpo); f.setOnComplete(DestroyMerger); void DestroyMerger() { Destroy(cellMerger); } }
void Awake() { SharedInstance = this; pooledObjectsList = new List <List <GameObject> >(); pooledObjects = new List <GameObject>(); positions = new List <int>(); for (int i = 0; i < itemsToPool.Count; i++) { ObjectPoolItemToPooledObject(i); } }
// Start is called before the first frame update public void CustomStart() { cellSpawner = FindObjectOfType <CellSpawner>(); pathogenSpawner = FindObjectOfType <PathogenSpawner>(); for (int i = 0; i < organTypes.Length; i++) { for (int o = 0; o < organTypes[i].organs.Count; o++) { for (int t = 0; t < organTypes[i].organs[o].CellTypes.Length; t++) { organTypes[i].organs[o].CellTypes[t].currentCellCost = CalculateCosts(o, t); } } } }
void Start() { rbc_prefab = Resources.Load("Blood") as GameObject; spawner = FindObjectOfType <CellSpawner>(); }