public void SpawnAtom(GridData gridData) { var subGrid = mainGrid.GetGridAt(gridData.rowIndex, gridData.columnIndex); var aoh = atomAR.InstantiateAsync(subGrid.transform); aoh.Completed += _ => { var newAtom = _.Result.GetComponent <Atom>(); newAtom.Setup(gridData.atomEnum, mainGrid, gridData.totalCoolDown, gridData.atomLevel); newAtom.SubGridLinked(subGrid); subGrid.AtomLinked(newAtom); newAtom.AtomComplete(); OnSpawnNewAtom.Invoke(newAtom); }; }