using System.Collections; using System.Collections.Generic; using System.IO; using UnityEngine; public class Mechanism : MonoBehaviour { public static bool IsActive; public int MechanismID; public float speed; public float Nspeed; public float time; public float FreezeTime; private int speedNew; private void Start() { switch (MechanismID) { case 0: InvokeRepeating("Freeze", time, FreezeTime + time); InvokeRepeating("MSpeed", 0, FreezeTime + time); break; case 1: InvokeRepeating("Freeze", time, FreezeTime + time); InvokeRepeating("MSpeed", 0, FreezeTime + time); break; } } private void Update() { switch(MechanismID) { case 0: transform.Translate(Vector3.right * speed * Time.deltaTime); break; case 1: transform.Translate(Vector3.up * speed * Time.deltaTime); break; case 2: transform.Translate(Vector3.right * speed * Time.deltaTime); break; } } public void Activate() { switch(MechanismID) { case 0: speed = 1; break; } } void MSpeed() { speed = -1 * Nspeed; Nspeed = speed; } void Freeze() { if (speed == 0) { speed = Nspeed; } else { speed = 0; } } }