68 lines
1.6 KiB
C#
Executable file
68 lines
1.6 KiB
C#
Executable file
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; }
|
|
}
|
|
}
|