Pro_Unit

Fortune

Aug 2nd, 2019
262
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.27 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3.  
  4. using UnityEngine;
  5.  
  6. public class Fortune : MonoBehaviour
  7. {
  8.     //? Приз который выпадет, можешь его потом использовать где нибуд из другого скрипта
  9.     public GameObject Prize;
  10.  
  11.     [SerializeField]
  12.     Chance[] Prizes; //? Призы с шансами выпадения
  13.  
  14.     //? Вызываешь где-нибудь по кнопке или из другого скрипта
  15.     public void GetPrize ()
  16.     {
  17.         float chance = Random.value;
  18.  
  19.         foreach (var prizeInfo in Prizes)
  20.         {
  21.             if (prizeInfo.InRange (chance))
  22.             {
  23.                 Prize = prizeInfo.Prize;
  24.                 //? готово! Выходим из цикла
  25.                 break;
  26.             }
  27.         }
  28.     }
  29. }
  30. [System.Serializable]
  31. public class Chance
  32. {
  33.     [SerializeField] GameObject prize; // приз?
  34.     [SerializeField] float minChanse = 0f; // минимальный шанс
  35.     [SerializeField] float maxChanse = 1f; // максимальный шанс
  36.  
  37.     public GameObject Prize => prize;
  38.  
  39.     public bool InRange (float value)
  40.     {
  41.         return minChanse <= value && value <= maxChanse;
  42.     }
  43. }
Add Comment
Please, Sign In to add comment