Ejemplo n.º 1
0
 void Start()
 {
     myCellMerger   = FindObjectOfType <CellMerger>();
     myCellSpawner  = FindObjectOfType <CellSpawner>();
     mySpriteRender = GetComponent <SpriteRenderer>();
     myCollider2D   = GetComponent <Collider2D>();
 }
Ejemplo n.º 2
0
    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);
        }
    }
Ejemplo n.º 3
0
    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);
        }
    }
Ejemplo n.º 4
0
    // 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);
                }
            }
        }
    }
Ejemplo n.º 5
0
    void Start()
    {
        rbc_prefab = Resources.Load("Blood") as GameObject;

        spawner = FindObjectOfType <CellSpawner>();
    }