Files
MI-38/Heli_with_panels/Assets/Scripts/Panel3D/Cover3DVrotate.cs
2022-07-04 13:15:35 +03:00

51 lines
2.1 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Cover3DVrotate : MonoBehaviour
{
public int numpos;
[SerializeField]
float eulerAngX;
[SerializeField]
float eulerAngY;
[SerializeField]
float eulerAngZ;
public float angle = 80;
void Start()
{
eulerAngX = transform.localEulerAngles.x;
eulerAngY = transform.localEulerAngles.y;
eulerAngZ = transform.localEulerAngles.z;
}
public void Rotate(int numpos)
{
if (numpos == 1 && this.name == "Cover1_0701_3D" || this.name == "Cover2_0701_3D")
this.transform.localRotation = Quaternion.Euler(eulerAngX, eulerAngY + angle, eulerAngZ);
else if (numpos == 1 && this.name == "Cover1_0702_3D" || this.name == "Cover2_0702_3D")
this.transform.localRotation = Quaternion.Euler(eulerAngX, eulerAngY - angle, eulerAngZ);
else if (numpos == 1 && this.name == "Cover3_0701_3D" || this.name == "Cover3_0702_3D")
this.transform.localRotation = Quaternion.Euler(eulerAngX-2*angle, eulerAngY, eulerAngZ);
else if (eulerAngX != 0 && eulerAngX >0 && eulerAngX < 360)
{
if (numpos == 1) this.transform.localRotation = Quaternion.Euler(eulerAngX + angle, eulerAngY, eulerAngZ);
//if (numpos == 2) this.transform.localRotation = Quaternion.Euler(eulerAngX, eulerAngY, eulerAngZ);
}
else if (eulerAngY != 0 && eulerAngY > 0 && eulerAngY < 360)
{
if (numpos == 1) this.transform.localRotation = Quaternion.Euler(eulerAngX, eulerAngY + angle, eulerAngZ);
//if (numpos == 2) this.transform.localRotation = Quaternion.Euler(eulerAngX, eulerAngY, eulerAngZ);
}
else if (eulerAngZ != 0 && eulerAngZ > 0 && eulerAngZ < 360)
{
if (numpos == 1) this.transform.localRotation = Quaternion.Euler(eulerAngX, eulerAngY, eulerAngZ + angle);
}
if (numpos == 2)
this.transform.localRotation = Quaternion.Euler(eulerAngX, eulerAngY, eulerAngZ);
}
}