Пример #1
0
    public void SpawnCoin(CoinDrop coinPrefab)
    {
        CoinDrop coin = Instantiate(coinPrefab, transform.position, Quaternion.identity) as CoinDrop;

        coin.transform.SetParent(gameCanvas.transform, false);
        coin.transform.position = new Vector2(enemyUnit.transform.position.x, transform.parent.position.y);
    }
 // Start is called before the first frame update
 void Start()
 {
     player         = Player.instance;
     coinDrop       = CoinDrop.instance;
     clicker        = Clicker.instance;
     upgradeHandler = UpgradeHandler.instance;
 }
Пример #3
0
 void Awake()
 {
     enemyPoolList    = GameObject.Find("EnemyPool").GetComponent <EnemyPool> ().enemyList;
     showScore        = GameObject.Find("ScoreText").GetComponent <ShowScore> ();
     _spawnController = GameObject.Find("SpawnController").GetComponent <SpawnController> ();
     coinPool         = GameObject.Find("CoinPool").GetComponent <CoinPool> ();
     coinDrop         = GetComponent <CoinDrop> ();
 }
Пример #4
0
 // Start is called before the first frame update
 void Start()
 {
     player         = Player.instance;
     clicker        = Clicker.instance;
     multi          = Multiplier.instance;
     platinum       = DiamondUpgrades.instance;
     drop           = CoinDrop.instance;
     upgradeHandler = UpgradeHandler.instance;
     tierHandler    = TierHandler.instance;
 }
Пример #5
0
 public void Awake()
 {
     Instance = this;
 }
Пример #6
0
 private void Awake()
 {
     instance = this;
 }
Пример #7
0
    private void PossibleCoin()
    {
        coins = ListManager.current.coins;

        frequence = Mathf.Clamp01 (frequence);

        // On choisit au maximum 5 pièces autour de la valeur moyenne des drops souhaités
        // Exemple : mediumValue = 7, pièce directement en dessous 5, on prend 1, 2, 5, 10, 20
        int mediane = coins.Length - 1; // Au pire si on ne trouve rien dans la boucle, on sait que la médiane sera sur la dernière pièce
        int tabSize = 3; // Au pire si on ne trouve rien dans la boucle, on sait que le tableau des pièces possibles fera 3
        int firstElement = 0; // Premier élément du tableau de "coins" à mettre dans "possibleCoins"

        for (int i = 0; i < coins.Length; i++) {
            // Si la différence entre la valeur souhaitée et la valeur de la pièce est négative (strictement), on doit retenir la valeur précédente comme pièce médiane
            if (mediumValue - coins [i].pointToAdd < 0) {
                mediane = i == 0 ? 0 : (i - 1); // S'assurer qu'on prenne au pire la première pièce
                tabSize = mediane > 1 ? 5 : (mediane + 3);
                if (mediane == coins.Length - 2) // On modifie juste la valeur si on tombe sur l'avant-dernier élément
                    tabSize = 4;
                break;
            }
        }
        // Calcul de la position du premier élément dans la liste totale des pièces
        if (mediane > 2)
            firstElement = mediane - 2;
        else
            firstElement = 0;
        // On créé le tableau des pièces utilisables
        possibleCoins = new CoinDrop[tabSize];

        for (int i = 0; i < tabSize; i++) {
            // On calcule les valeurs 'moyennes' entre les valeurs exactes des pièces
            // Ceci permet d'utiliser la loi de Poisson pour le calcul de probabilité d'apparition des pièces
            // Exemple : entre 5 et 10, on trouve la valeur 7 qui correspond aux proba cumulées de faire apparaître un 5
            // On calculera donc la loi de Poisson pour un 7 à la place du 5 (solution la plus "fiable")
            int poissonValue;
            if (i < tabSize - 1) {
                poissonValue = Mathf.FloorToInt ((coins [firstElement + i].pointToAdd + coins [firstElement + i + 1].pointToAdd) / 2f);
            } else {
                poissonValue = 0;
            }
            // On initialise chaque élément du tableau
            possibleCoins [i] = new CoinDrop (coins [firstElement + i], poissonValue, mediumValue);
        }

        mediumSum = mediumValue; // La première valeur souhaitée est celle de la valeur moyenne
    }