Advertisement
Guest User

SlimeController

a guest
Nov 21st, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 12.44 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4.  
  5. public class SlimeController : MonoBehaviour {
  6.  
  7.     //variable of how quick the player should move
  8.     public float moveSpeed;
  9.     //give the slime physics/a physical body
  10.     private Rigidbody2D slimeRigidbody;
  11.  
  12.     //variable to check if the slime is moving
  13.     private bool isMoving;
  14.     //variable for the time of the different idles
  15.     public float timeBetweenMove;
  16.     //variable for the countdown of the different idles
  17.     private float timeBetweenMoveCounter;
  18.     //variable for the time of the different moves
  19.     public float timeToMove;
  20.     //variable for the countdown of the different moves
  21.     private float timeToMoveCounter;
  22.  
  23.     //a variable for the direction the slime is moving
  24.     private Vector3 moveDirection;
  25.  
  26.     /*int player_ID = GlobalPlayerController.Instance.player_ID;*/
  27.     int player_ID;
  28.  
  29.     //is called before initialization
  30.     void Start () {
  31.  
  32.         player_ID = FindObjectOfType<GlobalPlayerController>().player_ID;
  33.         //give the slime a Rigidbody2Ds
  34.         slimeRigidbody = GetComponent<Rigidbody2D>();
  35.  
  36.         /*timeBetweenMoveCounter = Random.Range(timeBetweenMove * 0.75f, timeBetweenMove * 1.25f);
  37.         timeToMoveCounter = Random.Range(timeToMove * 0.75f, timeToMove * 1.25f);*/
  38.  
  39.         timeBetweenMoveCounter = Random.Range(0, 5);
  40.         timeToMoveCounter = Random.Range(0, 3);
  41.  
  42.     }
  43.    
  44.     void Update () {
  45.  
  46.         if (isMoving)
  47.         {
  48.             timeToMoveCounter -= Time.deltaTime;
  49.             slimeRigidbody.velocity = moveDirection;
  50.  
  51.             if(timeToMoveCounter < 0f)
  52.             {
  53.                 isMoving = false;
  54.                 //timeBetweenMoveCounter = Random.Range(timeBetweenMove * 0.75f, timeBetweenMove * 1.25f);
  55.                 timeBetweenMoveCounter = Random.Range(0, 5);
  56.             }
  57.         }
  58.         else
  59.         {
  60.             timeBetweenMoveCounter -= Time.deltaTime;
  61.             slimeRigidbody.velocity = Vector2.zero;
  62.  
  63.             if(timeBetweenMoveCounter < 0f)
  64.             {
  65.                 isMoving = true;
  66.                 //timeToMoveCounter = Random.Range(timeToMove * 0.75f, timeToMove * 1.25f);
  67.                 timeToMoveCounter = Random.Range(0, 3);
  68.  
  69.                 moveDirection = new Vector3(Random.Range(-1f, 1f) * moveSpeed, Random.Range(-1f, 1f) * moveSpeed, 0f);
  70.             }
  71.         }
  72.  
  73.     }
  74.  
  75.     void OnCollisionEnter2D(Collision2D collision)
  76.     {
  77.         if(collision.gameObject.name == "Player_1" || collision.gameObject.name == "Player_2" || collision.gameObject.name == "Player_3")
  78.         {
  79.  
  80.             if (GlobalPlayerController.Instance.players.Count == 3 && collision.gameObject.name == "Player_1")
  81.             {
  82.                 /*collision.gameObject.GetComponent<GlobalPlayerController>().players.Remove(collision.gameObject);*/
  83.                 GlobalPlayerController.Instance.players.Remove(collision.gameObject);
  84.                 Debug.Log(GlobalPlayerController.Instance.players.Remove(collision.gameObject));
  85.                 Debug.LogFormat("Player_1 has been removed");
  86.                 GameObject.Find("Player_2").GetComponent<PlayerController>().characterID = 0;
  87.                 GameObject.Find("Player_3").GetComponent<PlayerController>().characterID = 1;
  88.                 /*Global.i.*/
  89.                 player_ID++;
  90.                 /*if (player_ID == /*GlobalPlayerController.Instance.players.Count -1  FindObjectOfType<GlobalPlayerController>().players.Count )
  91.                 {
  92.                     player_ID = 0;
  93.                     Debug.LogFormat("ID has been reset/set to 0");
  94.                 }
  95.                 else
  96.                 {
  97.                     player_ID++;
  98.                     Debug.LogFormat("ID has been changed");
  99.                 }*/
  100.  
  101.             }
  102.  
  103.             if (GlobalPlayerController.Instance.players.Count == 3 && collision.gameObject.name == "Player_2")
  104.             {
  105.                 /*collision.gameObject.GetComponent<GlobalPlayerController>().players.Remove(collision.gameObject);*/
  106.                 GlobalPlayerController.Instance.players.Remove(collision.gameObject);
  107.                 Debug.Log(GlobalPlayerController.Instance.players.Remove(collision.gameObject));
  108.                 GameObject.Find("Player_1").GetComponent<PlayerController>().characterID = 0;
  109.                 GameObject.Find("Player_3").GetComponent<PlayerController>().characterID = 1;
  110.                 if (player_ID == GlobalPlayerController.Instance.players.Count -1)
  111.                 {
  112.                     player_ID = 0;
  113.                     Debug.LogFormat("ID has been reset/set to 0");
  114.                 }
  115.                 else
  116.                 {
  117.                     player_ID++;
  118.                     Debug.LogFormat("ID has been changed");
  119.                 }
  120.  
  121.                
  122.             }
  123.  
  124.             if (GlobalPlayerController.Instance.players.Count == 3 && collision.gameObject.name == "Player_3")
  125.             {
  126.                 /*collision.gameObject.GetComponent<GlobalPlayerController>().players.Remove(collision.gameObject);*/
  127.                 GlobalPlayerController.Instance.players.Remove(collision.gameObject);
  128.                 Debug.Log(GlobalPlayerController.Instance.players.Remove(collision.gameObject));
  129.                 GameObject.Find("Player_1").GetComponent<PlayerController>().characterID = 0;
  130.                 GameObject.Find("Player_2").GetComponent<PlayerController>().characterID = 1;
  131.                 if (player_ID == GlobalPlayerController.Instance.players.Count -1)
  132.                 {
  133.                     player_ID = 0;
  134.                     Debug.LogFormat("ID has been reset/set to 0");
  135.                 }
  136.                 else
  137.                 {
  138.                     player_ID++;
  139.                     Debug.LogFormat("ID has been changed");
  140.                 }
  141.             }
  142.  
  143.             if ((GlobalPlayerController.Instance.players.Count == 2 && collision.gameObject.name == "Player_2" && GameObject.Find("Player_2") && GameObject.Find("Player_3")) || (GlobalPlayerController.Instance.players.Count == 2 && collision.gameObject.name == "Player_3" && GameObject.Find("Player_2") && GameObject.Find("Player_3")))
  144.             {
  145.                 if (collision.gameObject.name == "Player_2")
  146.                 {
  147.                     GlobalPlayerController.Instance.players.Remove(collision.gameObject);
  148.                     Debug.Log(GlobalPlayerController.Instance.players.Remove(collision.gameObject));
  149.                     Debug.LogFormat("Player_2 has been removed");
  150.                     GameObject.Find("Player_3").GetComponent<PlayerController>().characterID = 0;
  151.                     player_ID++;
  152.                     if (player_ID == GlobalPlayerController.Instance.players.Count -1)
  153.                     {
  154.                         player_ID = 0;
  155.                         Debug.LogFormat("ID has been reset/set to 0");
  156.                     }
  157.                     else
  158.                     {
  159.                         player_ID++;
  160.                         Debug.LogFormat("ID has been changed");
  161.                     }
  162.                 }
  163.  
  164.                 if (collision.gameObject.name == "Player_3")
  165.                 {
  166.                     GlobalPlayerController.Instance.players.Remove(collision.gameObject);
  167.                     Debug.Log(GlobalPlayerController.Instance.players.Remove(collision.gameObject));
  168.                     Debug.LogFormat("Player_3 has been removed");
  169.                     GameObject.Find("Player_2").GetComponent<PlayerController>().characterID = 0;
  170.                     player_ID++;
  171.                     if (player_ID == GlobalPlayerController.Instance.players.Count -1)
  172.                     {
  173.                         player_ID = 0;
  174.                         Debug.LogFormat("ID has been reset/set to 0");
  175.                     }
  176.                     else
  177.                     {
  178.                         player_ID++;
  179.                         Debug.LogFormat("ID has been changed");
  180.                     }
  181.                 }
  182.             }
  183.  
  184.             if((GlobalPlayerController.Instance.players.Count == 2 && collision.gameObject.name == "Player_1" && GameObject.Find("Player_3") && GameObject.Find("Player_1")) || (GlobalPlayerController.Instance.players.Count == 2 && collision.gameObject.name == "Player_3" && GameObject.Find("Player_3") && GameObject.Find("Player_1")))
  185.             {
  186.                 if (collision.gameObject.name == "Player_1")
  187.                 {
  188.                     GlobalPlayerController.Instance.players.Remove(collision.gameObject);
  189.                     Debug.Log(GlobalPlayerController.Instance.players.Remove(collision.gameObject));
  190.                     Debug.LogFormat("Player_1 has been removed");
  191.                     GameObject.Find("Player_3").GetComponent<PlayerController>().characterID = 0;
  192.                     player_ID++;
  193.                     /*if (player_ID == GlobalPlayerController.Instance.players.Count -1)
  194.                     {
  195.                         player_ID = 0;
  196.                         Debug.LogFormat("ID has been reset/set to 0");
  197.                     }
  198.                     else
  199.                     {
  200.                         player_ID++;
  201.                         Debug.LogFormat("ID has been changed");
  202.                     }*/
  203.                 }
  204.  
  205.                 if (collision.gameObject.name == "Player_3")
  206.                 {
  207.                     GlobalPlayerController.Instance.players.Remove(collision.gameObject);
  208.                     Debug.Log(GlobalPlayerController.Instance.players.Remove(collision.gameObject));
  209.                     Debug.LogFormat("Player_3 has been removed");
  210.                     GameObject.Find("Player_1").GetComponent<PlayerController>().characterID = 0;
  211.                     player_ID++;
  212.                     /*if (player_ID == GlobalPlayerController.Instance.players.Count -1)
  213.                     {
  214.                         player_ID = 0;
  215.                         Debug.LogFormat("ID has been reset/set to 0");
  216.                     }
  217.                     else
  218.                     {
  219.                         player_ID++;
  220.                         Debug.LogFormat("ID has been changed");
  221.                     }*/
  222.                 }
  223.             }
  224.  
  225.             if ((GlobalPlayerController.Instance.players.Count == 2 && collision.gameObject.name == "Player_1" && GameObject.Find("Player_2") && GameObject.Find("Player_1")) || (GlobalPlayerController.Instance.players.Count == 2 && collision.gameObject.name == "Player_2" && GameObject.Find("Player_2") && GameObject.Find("Player_1")))
  226.             {
  227.                 if (collision.gameObject.name == "Player_1")
  228.                 {
  229.                     GlobalPlayerController.Instance.players.Remove(collision.gameObject);
  230.                     Debug.Log(GlobalPlayerController.Instance.players.Remove(collision.gameObject));
  231.                     Debug.LogFormat("Player_1 has been removed");
  232.                     GameObject.Find("Player_2").GetComponent<PlayerController>().characterID = 0;
  233.                     player_ID++;
  234.                     /*if (player_ID == GlobalPlayerController.Instance.players.Count -1)
  235.                     {
  236.                         player_ID = 0;
  237.                         Debug.LogFormat("ID has been reset/set to 0");
  238.                     }
  239.                     else
  240.                     {
  241.                         player_ID++;
  242.                         Debug.LogFormat("ID has been changed");
  243.                     }*/
  244.                 }
  245.  
  246.                 if (collision.gameObject.name == "Player_2")
  247.                 {
  248.                     GlobalPlayerController.Instance.players.Remove(collision.gameObject);
  249.                     Debug.Log(GlobalPlayerController.Instance.players.Remove(collision.gameObject));
  250.                     Debug.LogFormat("Player_2 has been removed");
  251.                     GameObject.Find("Player_1").GetComponent<PlayerController>().characterID = 0;
  252.                     player_ID++;
  253.                     /*if (player_ID == GlobalPlayerController.Instance.players.Count -1)
  254.                     {
  255.                         player_ID = 0;
  256.                         Debug.LogFormat("ID has been reset/set to 0");
  257.                     }
  258.                     else
  259.                     {
  260.                         player_ID++;
  261.                         Debug.LogFormat("ID has been changed");
  262.                     }*/
  263.                 }
  264.             }
  265.            
  266.  
  267.             collision.gameObject.SetActive(false);
  268.            
  269.             GameObject.Find("Scripts").GetComponent<GlobalPlayerController>().player_ID++;
  270.  
  271.         }
  272.     }
  273.  
  274. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement