Пример #1
0
        /// <summary>
        ///
        /// Si le collectible passé en paramètre n'est pas déjà stocké dans la liste de Restart de gros checkpoint, le stocke dedans
        /// stock le collectible dans la liste de Restart de petit checkpoint en fonction de son type
        ///
        /// </summary>
        /// <param name="typeOfCollectible"></param>
        /// <param name="collectible"></param>
        private void Collectible_OnCollected(Collectible.Type typeOfCollectible, GameObject collectible)
        {
            if (CollectiblesOnBigCP.IndexOf(collectible) <= -1)
            {
                CollectiblesOnBigCP.Add(collectible);
            }


            switch (typeOfCollectible)
            {
            case Collectible.Type.Artefact:
                ArtefactsCollected++;
                CollectiblesOnSmallCP.Add(collectible);
                //AlreadyCollectedArtefacts.Add(collectible);

                UpdateArtefacts?.Invoke(ArtefactsCollected, collectible);
                //Debug.Log(ArtefactsCollected);
                CameraShake.Instance.ScreenShake(0.2f, 8f);

                if (LevelManager.CurrentLevelIndex == 1 && IsAllArtefactsCollect)
                {
                    //Debug.Log("all artefacts + triggr");
                    //CutSceneTrigger.SendAllArtefactTrigger();
                    Invoke(nameof(callTriggerAll), 1.6f);
                }
                break;

            case Collectible.Type.Life:
                break;

            case Collectible.Type.Score:
                CollectiblesOnSmallCP.Add(collectible);
                break;

            default:
                break;
            }
        }
Пример #2
0
        /// <summary>
        ///
        /// parcourt la bonne liste en fonction du booléen afin de les initialiser
        /// nettoie ensuite les lists qu'il faut vider
        ///
        /// </summary>
        /// <param name="isSmallCheckPoint"></param>
        static public void RestartCollectible(bool isSmallCheckPoint)
        {
            //Debug.Log("restart");
            List <GameObject> listToRestart = isSmallCheckPoint ? CollectiblesOnSmallCP : CollectiblesOnBigCP;

            foreach (GameObject collectible in listToRestart)
            {
                collectible.GetComponent <Collectible>().init();
                if (collectible.GetComponent <Collectible>().GetTypeOfCollectible == Collectible.Type.Artefact)
                {
                    //Debug.Log("artefact");
                    ArtefactsCollected--;
                }
                //if (AlreadyCollectedArtefacts.IndexOf(collectible) >= -1) AlreadyCollectedArtefacts.Remove(collectible);
            }
            listToRestart.Clear();

            if (isSmallCheckPoint)
            {
                CollectiblesOnSmallCP.Clear();
            }

            UpdateArtefacts?.Invoke(ArtefactsCollected, null);
        }