Kyle_Dev

Omnious Obstacles - Trap

Nov 5th, 2019
107
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4.  
  5. public class Trap : MonoBehaviour
  6. {
  7.     [SerializeField]
  8.     int m_trapindex;
  9.  
  10.     [SerializeField]
  11.     float m_deactivatetraptimer;
  12.     float m_deactivationtimer;
  13.  
  14.     bool m_trapisactive;
  15.     bool m_activatetrap;
  16.     bool m_playermayactivatethetrap;
  17.  
  18.     bool m_istrapisbeingused;
  19.  
  20.     [SerializeField]
  21.     List<Collider> m_trapdeathtriggers;
  22.  
  23.     [SerializeField]
  24.     private PlayerVoorKipje m_player;
  25.  
  26.     Animator m_animator;
  27.  
  28.     void Start()
  29.     {
  30.         foreach(Collider collider in GetComponentsInChildren<Collider>())
  31.         {
  32.             if(collider.isTrigger)
  33.             {
  34.                 m_trapdeathtriggers.Add(collider);
  35.             }
  36.         }
  37.  
  38.         foreach (Collider collider in m_trapdeathtriggers)
  39.         {
  40.             collider.enabled = false;
  41.         }
  42.  
  43.         m_animator = GetComponent<Animator>();
  44.  
  45.         if (m_animator != null)
  46.         {
  47.             m_animator.SetInteger("State", 0);
  48.         }
  49.  
  50.         m_deactivationtimer = 10;
  51.     }
  52.  
  53.     void Update()
  54.     {
  55.         m_deactivationtimer = m_deactivationtimer + Time.deltaTime;
  56.  
  57.         if (m_deactivationtimer > m_deactivatetraptimer)
  58.         {
  59.             m_playermayactivatethetrap = true;
  60.         }
  61.  
  62.         if (m_activatetrap == true)
  63.         {
  64.             m_deactivationtimer = 0;
  65.             Activate();
  66.             m_activatetrap = false;
  67.         }
  68.  
  69.         if (m_deactivationtimer < m_deactivatetraptimer)
  70.         {
  71.             m_playermayactivatethetrap = false;
  72.         }
  73.     }
  74.  
  75.     public void Idle()
  76.     {
  77.         switch (m_trapindex)
  78.         {
  79.             case 0:
  80.                 m_animator.SetInteger("State", 0);
  81.                 Debug.Log("PushTrap Idle");
  82.                 break;
  83.  
  84.             case 1:
  85.                 m_animator.SetInteger("State", 0);
  86.                 Debug.Log("Spike Idle");
  87.                 break;
  88.  
  89.             case 2:
  90.                 Debug.Log("Fall Idle");
  91.                 m_animator.SetInteger("State", 0);
  92.                 break;
  93.  
  94.             case 3:
  95.                 foreach (Collider dtrigger in m_trapdeathtriggers)
  96.                 {
  97.                     dtrigger.enabled = false;
  98.                 }
  99.                 Debug.Log("Saw Idle");
  100.                 m_animator.SetInteger("State", 0);
  101.                 break;
  102.              case 4:
  103.                 foreach (Collider dtrigger in m_trapdeathtriggers)
  104.                 {
  105.                     dtrigger.enabled = false;
  106.                 }
  107.                 Debug.Log("Squash Idle");
  108.                 m_animator.SetInteger("State", 0);
  109.                 break;
  110.         }
  111.     }
  112.  
  113.     public void Activate()
  114.     {
  115.         switch (m_trapindex)
  116.         {
  117.             case 0:
  118.                 foreach (Collider dtrigger in m_trapdeathtriggers)
  119.                 {
  120.                     dtrigger.enabled = true;
  121.                 }
  122.                 Debug.Log("PushTrap Activate");
  123.                 m_animator.SetInteger("State", 1);
  124.                 break;
  125.  
  126.             case 1:
  127.                 foreach (Collider dtrigger in m_trapdeathtriggers)
  128.                 {
  129.                     dtrigger.enabled = true;
  130.                 }
  131.                 Debug.Log("Spike Activate");
  132.                 m_animator.SetInteger("State", 1);
  133.                 break;
  134.  
  135.             case 2:
  136.                 foreach (Collider dtrigger in m_trapdeathtriggers)
  137.                 {
  138.                     dtrigger.enabled = true;
  139.                 }
  140.                 Debug.Log("Fall Activate");
  141.                 m_animator.SetInteger("State", 1);
  142.                 break;
  143.  
  144.             case 3:
  145.                 foreach (Collider dtrigger in m_trapdeathtriggers)
  146.                 {
  147.                     dtrigger.enabled = true;
  148.                 }
  149.                 Debug.Log("Saw Activate");
  150.                 m_animator.SetInteger("State", 1);
  151.                 break;
  152.  
  153.             case 4:
  154.                 foreach (Collider dtrigger in m_trapdeathtriggers)
  155.                 {
  156.                     dtrigger.enabled = true;
  157.                 }
  158.                 Debug.Log("Squash Activate");
  159.                 m_animator.SetInteger("State", 1);
  160.                 break;
  161.         }
  162.     }
  163.  
  164.     public void Reset()
  165.     {
  166.         switch (m_trapindex)
  167.         {
  168.             case 0:
  169.                 foreach (Collider dtrigger in m_trapdeathtriggers)
  170.                 {
  171.                     dtrigger.enabled = false;
  172.                 }
  173.                 Debug.Log("PushTrap Reset");
  174.                 m_animator.SetInteger("State", 2);
  175.                 break;
  176.  
  177.             case 1:
  178.                 foreach (Collider dtrigger in m_trapdeathtriggers)
  179.                 {
  180.                     dtrigger.enabled = false;
  181.                 }
  182.                 Debug.Log("Spike Reset");
  183.                 m_animator.SetInteger("State", 2);
  184.                 break;
  185.  
  186.             case 2:
  187.                 foreach (Collider dtrigger in m_trapdeathtriggers)
  188.                 {
  189.                     dtrigger.enabled = false;
  190.                 }
  191.                 Debug.Log("Fall Reset");
  192.                 m_animator.SetInteger("State", 2);
  193.                 break;
  194.  
  195.             case 3:
  196.                 Debug.Log("Saw Reset");
  197.                 m_animator.SetInteger("State", 2);
  198.                 break;
  199.  
  200.             case 4:
  201.                 foreach (Collider dtrigger in m_trapdeathtriggers)
  202.                 {
  203.                     dtrigger.enabled = false;
  204.                 }
  205.                 Debug.Log("Squash Reset");
  206.                 m_animator.SetInteger("State", 2);
  207.                 break;
  208.         }
  209.     }
  210.  
  211.     public void ActivateTheTrap(bool activation)
  212.     {
  213.         m_activatetrap = activation;
  214.     }
  215.  
  216.     public bool PlayerMayPress()
  217.     {
  218.         return m_playermayactivatethetrap;
  219.     }
  220.  
  221.     public int GetTrapIndex
  222.     {
  223.         get
  224.         {
  225.             return m_trapindex;
  226.         }
  227.     }
  228.  
  229.     public void UseThisTrap(bool isusing)
  230.     {
  231.         m_istrapisbeingused = isusing;
  232.     }
  233.  
  234.     public bool IsTrapBeingUsed()
  235.     {
  236.         return m_istrapisbeingused;
  237.     }
  238. }
RAW Paste Data