Advertisement
Guest User

Untitled

a guest
Oct 21st, 2020
327
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.96 KB | None | 0 0
  1.   // Start is called before the first frame update
  2.  
  3.     public GameObject player;
  4.     public Vector2 spawnPlatformPos;
  5.     public GameObject lastSpawnedPlatform;
  6.     public GameObject coinHolderObj;
  7.     CoinHolder coinHolder;
  8.     bool canDoubleJump;
  9.     int roundsPlayed;
  10.     public GameObject[] platformTypes;
  11.     System.Random rnd = new System.Random();
  12.     public GameObject choosenPlatform;
  13.     public int indexOfArray;
  14.     public float width;
  15.  
  16.  
  17.  
  18.     private void Start()
  19.     {
  20.  
  21.         coinHolderObj = GameObject.FindGameObjectWithTag("CoinHolder");
  22.         coinHolder = coinHolderObj.GetComponent<CoinHolder>();
  23.         canDoubleJump = coinHolder.doubleJump;
  24.         coinHolder.roundsPlayed++;
  25.     }
  26.     private void Update()
  27.     {
  28.         if (player.transform.position.x > lastSpawnedPlatform.transform.position.x)
  29.         {
  30.             SpawnPlatform();
  31.             Debug.Log("Trying to spawn new platform");
  32.         }
  33.  
  34.     }
  35.  
  36.     void SpawnFinishLine()
  37.     {
  38.  
  39.     }
  40.     void ChoosePlatformType()
  41.     {
  42.         indexOfArray = rnd.Next(0, 2);//mellan 0 och 1 men rnd.next är fucked så man måste ha en extra i max.
  43.         if (choosenPlatform == platformTypes[1])
  44.         {
  45.             choosenPlatform = platformTypes[0];
  46.         }
  47.         else
  48.         {
  49.             choosenPlatform = platformTypes[indexOfArray];
  50.         }
  51.     }
  52.  
  53.     void SpawnPlatform()
  54.     {
  55.         width = lastSpawnedPlatform.GetComponent<BoxCollider2D>().bounds.size.x;
  56.            
  57.         ChoosePlatformType();
  58.         FindSpawnPos();
  59.         lastSpawnedPlatform = Instantiate(choosenPlatform, spawnPlatformPos, transform.rotation);
  60.        
  61.  
  62.     }
  63.     void FindSpawnPos()
  64.     {
  65.         if (lastSpawnedPlatform == null)
  66.         {
  67.             spawnPlatformPos = new Vector2(calculateSpawnX(), -4.73f);
  68.         }
  69.         else
  70.         {
  71.             spawnPlatformPos = new Vector2(calculateSpawnX(), calculateSpawnY());
  72.         }
  73.     }
  74.     float calculateSpawnX()
  75.     {
  76.        
  77.        
  78.  
  79.  
  80.         float spawnPosX;
  81.         if (canDoubleJump == true)
  82.         {
  83.             spawnPosX = lastSpawnedPlatform.transform.position.x + UnityEngine.Random.Range(0.5f, 2) + width;
  84.         }
  85.         else
  86.         {
  87.             spawnPosX = lastSpawnedPlatform.transform.position.x + UnityEngine.Random.Range(0.5f, 1.25f) + width;
  88.         }
  89.         return spawnPosX;
  90.     }
  91.     float calculateSpawnY()
  92.     {
  93.  
  94.         float spawnPosY;
  95.         if (canDoubleJump == true)
  96.         {
  97.             spawnPosY = UnityEngine.Random.Range(lastSpawnedPlatform.transform.position.y - 1.5f, lastSpawnedPlatform.transform.position.y + 1.5f);
  98.             if (spawnPosY < -4.73f)
  99.             {
  100.                 spawnPosY = -4.73f;
  101.             }
  102.         }
  103.         else
  104.         {
  105.             spawnPosY = UnityEngine.Random.Range(lastSpawnedPlatform.transform.position.y - 0.75f, lastSpawnedPlatform.transform.position.y + 0.75f);
  106.             if (spawnPosY < -4.73f)
  107.             {
  108.                 spawnPosY = -4.73f;
  109.             }
  110.         }
  111.         return spawnPosY;
  112.  
  113.     }
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement