public void GotoSlot(HauntCandleHolder newSlot, float duration) { slot = newSlot; mover.SetDestinationObject(slot.candlePosition); mover.PlayAnimation(0, 1, duration, FillSlot); onPutInSlot.Invoke(); }
IEnumerator ShowSlotsSequence() { bool eventSent = false; for (int i = 0; i < cost; i++) { // Instantiate candle holder HauntCandleHolder newHolder = Instantiate(candleHolderPrefab, transform.position + slotPts[i], Quaternion.identity) .GetComponent <HauntCandleHolder>(); newHolder.transform.parent = transform; newHolder.PlayAnimation(0, 1, slotAnimDuration); candleHolders.Add(newHolder); // instantiate line to center LineRendererStraight line = Instantiate(stringPrefab, transform).GetComponent <LineRendererStraight>(); line.startPoint = transform; line.endPoint = newHolder.transform; // instantiate line to prev candle if (i > 1) { LineRendererStraight line2 = Instantiate(stringPrefab, transform).GetComponent <LineRendererStraight>(); line2.startPoint = candleHolders[i - 1].transform; line2.endPoint = newHolder.transform; } float waitTime = spawnWaitAtIndex.Evaluate(i); yield return(new WaitForSecondsRealtime(waitTime)); // tell the playmaker when to progress to next stage float progress = CalculateProgress(i, cost); Debug.Log("Spawn candle holders progress: " + progress); if (progress > progressThreshhold && !eventSent) { eventSent = true; playMaker.SendEvent("next"); } } }