Nadat Viresh alle particle systems heeft gemaakt, ben ik aan de slag gegaan met deze in de hoofdscene te implementeren. Hierbij was het de bedoeling dat deze elkaar na een bepaalde tijd afwisselden om een verschil in seizoen na te bootsen.
Hiervoor heb ik een Array gemaakt, waar door middel van een coroutine door heen wordt gegaan en de verschillende particle elementen aan en uit worden gezet.
IEnumerator NextParticle()
{
//Declare a yield instruction.
WaitForSeconds wait = new WaitForSeconds(waitTime);
for (int i = 0; i < 10; i++)
{
particles[selectedParticle].SetActive(false); //current/previous visable character will disapear
selectedParticle = (selectedParticle + 1) % particles.Length; //points out next particle (in cycle)
particles[selectedParticle].SetActive(true); //next particle will apear
//Do some logic
yield return wait; //Pause the loop for 3 seconds.
}
}
Op woensdag werd ik er aan herinnerd dat het handig is om eens in de zoveel tijd je scene op te slaan. Nadat Unity besloot er geen zin meer in te hebben en zichzelf afsloot zonder dat ik daar om vroeg, was namelijk bijna al mijn werk van de dag kwijt. Een mental breakdown later, stond dit er allemaal weer in en kon ik verder met het implementeren van het startscherm.
Om het startscherm te laten werken moesten er een aantal dingen geïmplementeerd worden:
Ik ben makkelijk begonnen, namelijk met het uitschakelen van het startscherm. Om dit te implementeren heb ik een afbeelding van de maan ingeladen en hier een knop van gemaakt.
Vervolgens heb ik een "Fade" functie geschreven, waarmee de UI elementen na een druk op deze knop zullen verdwijnen.
public void Fade()
{
foreach (Image image in images)
{
image.color = Color.Lerp(image.color, transparant, Time.deltaTime * transTime);
}
Invoke("DisableCanvas", animTime);
}
Na deze fade wordt ook het eerste klankbeeld aangezet in de scene, welke na een bepaalde tijd zal verdwijnen door het uitschakelen van het canvas.
Vervolgens was het de bedoeling dat de speler een hint zou krijgen als deze niet meteen op de maan klikt. Daarom is er in de start functie een Invoke functie toegevoegd met een delay, die de hints in gang zet.
De eerste hint verschijnt als een ster in het beeld die de speler uitnodigen om erop te klikken, wanneer zij dit doen gebeurt het volgende: