mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/MI-38.git
synced 2026-01-24 05:35:38 +03:00
04.07.2022
This commit is contained in:
74
Heli_with_panels/Assets/Scripts/Panel3D/Cover3DHrotate.cs
Normal file
74
Heli_with_panels/Assets/Scripts/Panel3D/Cover3DHrotate.cs
Normal file
@@ -0,0 +1,74 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class Cover3DHrotate : MonoBehaviour
|
||||
{
|
||||
/* private string animationName = "horLeft";
|
||||
Animation anim;
|
||||
AnimationClip open;*/
|
||||
// Start is called before the first frame update
|
||||
|
||||
public int numpos;
|
||||
[SerializeField]
|
||||
float eulerAngX;
|
||||
[SerializeField]
|
||||
float eulerAngY;
|
||||
[SerializeField]
|
||||
float eulerAngZ;
|
||||
public float angle = 80;
|
||||
|
||||
void Start()
|
||||
{
|
||||
//anim = GetComponent<Animation>();
|
||||
//anim.Play("horLeft");
|
||||
//AnimationClip open = anim.GetClip("horLeft");
|
||||
//Debug.Log("загрузил " + open);
|
||||
//.Play("horLeft");
|
||||
//anim.Play(open.name);
|
||||
//anim.Play("horLeft");
|
||||
eulerAngX = transform.localEulerAngles.x;
|
||||
eulerAngY = transform.localEulerAngles.y;
|
||||
eulerAngZ = transform.localEulerAngles.z;
|
||||
}
|
||||
|
||||
void OnMouseDown()
|
||||
{
|
||||
//this.GetComponent<Animation>().Play(animationName);
|
||||
////anim.Play();
|
||||
|
||||
|
||||
/*if (!animation.IsPlaying(animationName))
|
||||
{
|
||||
animation.Play(animationName);
|
||||
}
|
||||
Debug.Log("Cube " + this.name + " clicked!");*/
|
||||
}
|
||||
|
||||
public void RotateH(int numpos)
|
||||
|
||||
{
|
||||
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.name != "Cover1_0203_3D" && this.name != "Cover1_0201_3D")
|
||||
this.transform.localRotation = Quaternion.Euler(eulerAngX + angle, eulerAngY, eulerAngZ);
|
||||
//if (numpos == 2) this.transform.localRotation = Quaternion.Euler(eulerAngX, eulerAngY, eulerAngZ);
|
||||
else
|
||||
this.transform.localRotation = Quaternion.Euler(eulerAngX - angle, eulerAngY, eulerAngZ); // Делаем исключение для вращаемых крышек 0203 и 0201, которые в другую сторону поворачиваем
|
||||
|
||||
}
|
||||
else if (eulerAngZ != 0 && eulerAngZ > 0 && eulerAngZ < 360)
|
||||
{
|
||||
if (numpos == 1) this.transform.localRotation = Quaternion.Euler(eulerAngX + angle, eulerAngY, eulerAngZ);
|
||||
}
|
||||
|
||||
if (numpos == 2) this.transform.localRotation = Quaternion.Euler(eulerAngX, eulerAngY, eulerAngZ);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e05fb5d535f9bf84c882933bb13daf58
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
50
Heli_with_panels/Assets/Scripts/Panel3D/Cover3DVrotate.cs
Normal file
50
Heli_with_panels/Assets/Scripts/Panel3D/Cover3DVrotate.cs
Normal file
@@ -0,0 +1,50 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b201e97c6020152439cc4fd26197b225
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
515
Heli_with_panels/Assets/Scripts/Panel3D/MakeActive.cs
Normal file
515
Heli_with_panels/Assets/Scripts/Panel3D/MakeActive.cs
Normal file
@@ -0,0 +1,515 @@
|
||||
<<<<<<< HEAD
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using System;
|
||||
using System.Linq;
|
||||
|
||||
public class MakeActive : MonoBehaviour //, IPointerEnterHandler
|
||||
{
|
||||
// public Color _defaultRender;
|
||||
|
||||
Material activeMaterial;
|
||||
|
||||
|
||||
public Dictionary<string, GameObject> switchesList3D = new Dictionary<string, GameObject>(); // Обычные переключатели 3D
|
||||
public Dictionary<string, GameObject> switchesList3Dh = new Dictionary<string, GameObject>(); // Переключатели 3D горизонтальные
|
||||
|
||||
public List<Material> materials = new List<Material>();
|
||||
public List<Material> greenMaterials = new List<Material>();
|
||||
public Renderer[] renderers;
|
||||
public bool materialsReplaced = false;
|
||||
Manager man;
|
||||
public Material door_03_rend;
|
||||
public Material door_03_mat;
|
||||
//**** для подсказок
|
||||
private GameObject hint3D;
|
||||
public GameObject go;
|
||||
private string t;
|
||||
private GameObject canvasM;
|
||||
//****
|
||||
|
||||
//void Start() // Вернуть потом назад
|
||||
public void Start()
|
||||
{
|
||||
activeMaterial = Resources.Load<Material>("materials/Зелен");
|
||||
man = GameObject.Find("Manager").GetComponent<Manager>();
|
||||
|
||||
//Debug.Log(activeMaterial);
|
||||
renderers = this.transform.parent.GetComponentsInChildren<Renderer>();
|
||||
|
||||
RecordChildrenMaterials();
|
||||
|
||||
FindAndAddCoverVertical(); //Ищем крышки которые поворачиваются вертикально по тегу и вешаем скрипт поворота
|
||||
FindAndAddCoverHorizontal(); //Ищем крышки которые поворачиваются горизонтально по тегу и вешаем скрипт поворота
|
||||
FindAndAddSwitchVertikal(); //Ищем переключатели, вешаем скрипт поворота Switch3DRotate.cs
|
||||
FindAndAddSwitchHorizontal();
|
||||
|
||||
canvasM = GameObject.Find("CanvasMenu");
|
||||
go = man.prefabHint;
|
||||
t = "";
|
||||
foreach (KeyValuePair<string, string> p in panelName.allPanelsList)
|
||||
{
|
||||
if (String.Compare(p.Key, this.transform.parent.name) == 0)
|
||||
{
|
||||
t = panelName.allPanelsList[this.transform.parent.name];
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//private void OnMouseEnter()
|
||||
public void OnMouseEnter()
|
||||
{
|
||||
/* foreach (Transform child in this.transform.parent) //получить всех детей
|
||||
{
|
||||
|
||||
//_defaultRender = child.GetComponent<Renderer>().material.color;
|
||||
// child.GetComponent<Renderer>().material.color = Color.green;
|
||||
}*/
|
||||
ReplaceMaterialsWithActive();
|
||||
//if (man.mode == "scedit" || man.mode == "play") return;
|
||||
if (hint.IsHint && t != "")
|
||||
{
|
||||
|
||||
hint3D = OnHint(this.gameObject, go, t);
|
||||
}
|
||||
}
|
||||
public GameObject OnHint(GameObject btn, GameObject objGo, string t)
|
||||
{
|
||||
Vector3 mousePos = Input.mousePosition;
|
||||
Vector2 hintPos = new Vector2(mousePos.x, mousePos.y);
|
||||
GameObject hintObj = Instantiate(objGo, canvasM.transform);
|
||||
hintObj.transform.position = hintPos;
|
||||
Text txt = hintObj.GetComponentInChildren<Text>();
|
||||
txt.text = t;
|
||||
|
||||
var hintBase = hintObj.GetComponentInChildren<Image>();
|
||||
var s = txt.text.Length;
|
||||
var upper = 0;
|
||||
foreach (char letter in t.Where(char.IsUpper))
|
||||
upper++;
|
||||
var sizeX = (s- upper) * 11.2f+(upper*15.5f);
|
||||
if ((sizeX + hintBase.transform.position.x) > 1920)
|
||||
{
|
||||
float pos = hintObj.transform.localPosition.x - sizeX;
|
||||
if (pos < 0) pos = -30;
|
||||
hintObj.transform.localPosition = new Vector2(pos, hintObj.transform.localPosition.y);
|
||||
}
|
||||
|
||||
return hintObj;
|
||||
}
|
||||
//private void OnMouseExit()
|
||||
public void OnMouseExit()
|
||||
{
|
||||
if (!hlight.l)
|
||||
{
|
||||
RestoreChildrenMaterials();
|
||||
}
|
||||
Destroy(hint3D);
|
||||
}
|
||||
|
||||
private void RecordChildrenMaterials()
|
||||
{
|
||||
materials.Clear(); greenMaterials.Clear();
|
||||
|
||||
foreach (var renderer in renderers)
|
||||
{
|
||||
materials.Add(renderer.material);
|
||||
if (this.name == "door_03")
|
||||
{
|
||||
Material[] door_03_rend = GameObject.Find("Copter/Fuzeliazh/Door_03/door_03").GetComponent<Renderer>().materials;
|
||||
Material greenMat = new Material(door_03_rend[1]);
|
||||
greenMat.SetColor("_EmissionColor", new Color(9f / 255f, 82f / 255f, 4f / 255f));
|
||||
greenMaterials.Add(greenMat);
|
||||
}
|
||||
else if (this.name == "door_04")
|
||||
{
|
||||
Material[] door_04_rend = GameObject.Find("Copter/Fuzeliazh/Door_04/door_04").GetComponent<Renderer>().materials;
|
||||
Material greenMat = new Material(door_04_rend[1]);
|
||||
greenMat.SetColor("_EmissionColor", new Color(9f / 255f, 82f / 255f, 4f / 255f));
|
||||
greenMaterials.Add(greenMat);
|
||||
}
|
||||
else
|
||||
{
|
||||
Material greenMat = new Material(renderer.material); //activeMaterial // renderer.material
|
||||
greenMat.SetColor("_EmissionColor", new Color(9f / 255f, 82f / 255f, 4f / 255f));
|
||||
greenMaterials.Add(greenMat);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void RestoreChildrenMaterials()
|
||||
{
|
||||
for (int i = 0; i < renderers.Length; i++)
|
||||
{
|
||||
renderers[i].material = materials[i];
|
||||
}
|
||||
materialsReplaced = false;
|
||||
}
|
||||
|
||||
public void ReplaceMaterialsWithActive()
|
||||
{
|
||||
//Debug.Log("ReplaceMaterialsWithActive: " + this.name);
|
||||
if (activeMaterial != null)
|
||||
{
|
||||
for (int i = 0; i < renderers.Length; i++)
|
||||
renderers[i].material = greenMaterials[i]; // = activeMaterial;
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogError("Active Material is not set!");
|
||||
}
|
||||
materialsReplaced = true;
|
||||
}
|
||||
|
||||
|
||||
void OnMouseDown()
|
||||
{
|
||||
if (man.mode == "scedit" || man.mode == "play") return;
|
||||
// Скрываем люки под которыми спрятаны панели. Еще не решили нужно ли
|
||||
if (this.transform.parent.gameObject.name == "Group019" || this.transform.parent.gameObject.name == "Group020") this.transform.parent.gameObject.SetActive(false);
|
||||
|
||||
//if (man.mode == "scedit") return;
|
||||
//Debug.Log(this.transform.parent.name + " кликаю панель");
|
||||
//Здесь проверку на not null сделать. Не все активные области являются панелями.
|
||||
if (string.Compare(this.transform.parent.name.Substring(this.transform.parent.name.Length - 2), "3D") == 0 && this.transform.parent.name != null)
|
||||
{
|
||||
string panel2d = this.transform.parent.name.Substring(0, this.transform.parent.name.Length - 3);
|
||||
//Debug.Log("MakeActive: " + panel2d);
|
||||
|
||||
// Может тут подвязать наш канвас и обзорку Максима
|
||||
|
||||
//man.cabines2d.SetActive(true);
|
||||
//man.canvas.SetActive(true);
|
||||
//man.fusel.SetActive(false);
|
||||
man.SwitchTo2D(panel2d);
|
||||
}
|
||||
}
|
||||
|
||||
private void FindAndAddCoverVertical()
|
||||
{
|
||||
string s1 = this.transform.parent.name.Substring(this.transform.parent.name.Length - 7); // окончание названия панели например 0506_3D
|
||||
string s2 = "Cover";
|
||||
GameObject[] cover3Dv = GameObject.FindGameObjectsWithTag("cover3Dv");
|
||||
foreach (GameObject _cover3Dv in cover3Dv)
|
||||
{
|
||||
if (_cover3Dv.name.EndsWith(s1) && _cover3Dv.name.StartsWith(s2))
|
||||
{
|
||||
//Debug.Log(_cover3Dv.name);
|
||||
_cover3Dv.AddComponent<Cover3DVrotate>();
|
||||
//switchesList3D.Add(sw.name, sw);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
private void FindAndAddCoverHorizontal()
|
||||
{
|
||||
string s1 = this.transform.parent.name.Substring(this.transform.parent.name.Length - 7); // окончание названия панели например 0506_3D
|
||||
string s2 = "Cover";
|
||||
GameObject[] cover3Dh = GameObject.FindGameObjectsWithTag("cover3Dh");
|
||||
foreach (GameObject _cover3Dh in cover3Dh)
|
||||
{
|
||||
if (_cover3Dh.name.EndsWith(s1) && _cover3Dh.name.StartsWith(s2))
|
||||
{
|
||||
//Debug.Log(_cover3Dh.name);
|
||||
_cover3Dh.AddComponent<Cover3DHrotate>();
|
||||
//_cover3Dh.AddComponent<Animation>();
|
||||
//switchesList3D.Add(sw.name, sw);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void FindAndAddSwitchVertikal()
|
||||
{
|
||||
string s1 = this.transform.parent.name.Substring(this.transform.parent.name.Length - 7); // окончание названия панели например 0506_3D
|
||||
string s2 = "Tumbler";
|
||||
GameObject[] switches3D = GameObject.FindGameObjectsWithTag("toggle3D");
|
||||
foreach (GameObject sw in switches3D)
|
||||
{
|
||||
if (sw.name.EndsWith(s1) && sw.name.StartsWith(s2))
|
||||
{
|
||||
//Debug.Log(sw.name);
|
||||
sw.AddComponent<Switch3DRotate>();
|
||||
switchesList3D.Add(sw.name, sw);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void FindAndAddSwitchHorizontal()
|
||||
{
|
||||
string s1 = this.transform.parent.name.Substring(this.transform.parent.name.Length - 7); // окончание названия панели например 0506_3D
|
||||
string s2 = "Tumbler";
|
||||
GameObject[] switches3Dh = GameObject.FindGameObjectsWithTag("toggle3Dh");
|
||||
foreach (GameObject _switches3Dh in switches3Dh)
|
||||
{
|
||||
if (_switches3Dh.name.EndsWith(s1) && _switches3Dh.name.StartsWith(s2))
|
||||
{
|
||||
//Debug.Log(sw.name);
|
||||
_switches3Dh.AddComponent<Switch3DHRotate>();
|
||||
switchesList3Dh.Add(_switches3Dh.name, _switches3Dh);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
=======
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using System;
|
||||
using System.Linq;
|
||||
|
||||
public class MakeActive : MonoBehaviour //, IPointerEnterHandler
|
||||
{
|
||||
// public Color _defaultRender;
|
||||
|
||||
Material activeMaterial;
|
||||
|
||||
|
||||
public Dictionary<string, GameObject> switchesList3D = new Dictionary<string, GameObject>(); // Обычные переключатели 3D
|
||||
public Dictionary<string, GameObject> switchesList3Dh = new Dictionary<string, GameObject>(); // Переключатели 3D горизонтальные
|
||||
|
||||
public List<Material> materials = new List<Material>();
|
||||
public List<Material> greenMaterials = new List<Material>();
|
||||
public Renderer[] renderers;
|
||||
public bool materialsReplaced = false;
|
||||
Manager man;
|
||||
public Material door_03_rend;
|
||||
public Material door_03_mat;
|
||||
//**** для подсказок
|
||||
private GameObject hint3D;
|
||||
public GameObject go;
|
||||
private string t;
|
||||
private GameObject canvasM;
|
||||
//****
|
||||
|
||||
//void Start() // Вернуть потом назад
|
||||
public void Start()
|
||||
{
|
||||
activeMaterial = Resources.Load<Material>("materials/Зелен");
|
||||
man = GameObject.Find("Manager").GetComponent<Manager>();
|
||||
|
||||
//Debug.Log(activeMaterial);
|
||||
renderers = this.transform.parent.GetComponentsInChildren<Renderer>();
|
||||
|
||||
RecordChildrenMaterials();
|
||||
|
||||
FindAndAddCoverVertical(); //Ищем крышки которые поворачиваются вертикально по тегу и вешаем скрипт поворота
|
||||
FindAndAddCoverHorizontal(); //Ищем крышки которые поворачиваются горизонтально по тегу и вешаем скрипт поворота
|
||||
FindAndAddSwitchVertikal(); //Ищем переключатели, вешаем скрипт поворота Switch3DRotate.cs
|
||||
FindAndAddSwitchHorizontal();
|
||||
|
||||
canvasM = GameObject.Find("CanvasMenu");
|
||||
go = man.prefabHint;
|
||||
t = "";
|
||||
foreach (KeyValuePair<string, string> p in panelName.allPanelsList)
|
||||
{
|
||||
if (String.Compare(p.Key, this.transform.parent.name) == 0)
|
||||
{
|
||||
t = panelName.allPanelsList[this.transform.parent.name];
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//private void OnMouseEnter()
|
||||
public void OnMouseEnter()
|
||||
{
|
||||
/* foreach (Transform child in this.transform.parent) //получить всех детей
|
||||
{
|
||||
|
||||
//_defaultRender = child.GetComponent<Renderer>().material.color;
|
||||
// child.GetComponent<Renderer>().material.color = Color.green;
|
||||
}*/
|
||||
ReplaceMaterialsWithActive();
|
||||
//if (man.mode == "scedit" || man.mode == "play") return;
|
||||
if (hint.IsHint && t != "")
|
||||
{
|
||||
|
||||
hint3D = OnHint(this.gameObject, go, t);
|
||||
}
|
||||
}
|
||||
public GameObject OnHint(GameObject btn, GameObject objGo, string t)
|
||||
{
|
||||
Vector3 mousePos = Input.mousePosition;
|
||||
Vector2 hintPos = new Vector2(mousePos.x, mousePos.y);
|
||||
GameObject hintObj = Instantiate(objGo, canvasM.transform);
|
||||
hintObj.transform.position = hintPos;
|
||||
Text txt = hintObj.GetComponentInChildren<Text>();
|
||||
txt.text = t;
|
||||
|
||||
var hintBase = hintObj.GetComponentInChildren<Image>();
|
||||
var s = txt.text.Length;
|
||||
var upper = 0;
|
||||
foreach (char letter in t.Where(char.IsUpper))
|
||||
upper++;
|
||||
var sizeX = (s- upper) * 11.2f+(upper*15.5f);
|
||||
if ((sizeX + hintBase.transform.position.x) > 1920)
|
||||
{
|
||||
float pos = hintObj.transform.localPosition.x - sizeX;
|
||||
if (pos < 0) pos = -30;
|
||||
hintObj.transform.localPosition = new Vector2(pos, hintObj.transform.localPosition.y);
|
||||
}
|
||||
|
||||
return hintObj;
|
||||
}
|
||||
//private void OnMouseExit()
|
||||
public void OnMouseExit()
|
||||
{
|
||||
if (!hlight.l)
|
||||
{
|
||||
RestoreChildrenMaterials();
|
||||
}
|
||||
Destroy(hint3D);
|
||||
}
|
||||
|
||||
private void RecordChildrenMaterials()
|
||||
{
|
||||
materials.Clear(); greenMaterials.Clear();
|
||||
|
||||
foreach (var renderer in renderers)
|
||||
{
|
||||
materials.Add(renderer.material);
|
||||
if (this.name == "door_03")
|
||||
{
|
||||
Material[] door_03_rend = GameObject.Find("Copter/Fuzeliazh/Door_03/door_03").GetComponent<Renderer>().materials;
|
||||
Material greenMat = new Material(door_03_rend[1]);
|
||||
greenMat.SetColor("_EmissionColor", new Color(9f / 255f, 82f / 255f, 4f / 255f));
|
||||
greenMaterials.Add(greenMat);
|
||||
}
|
||||
else if (this.name == "door_04")
|
||||
{
|
||||
Material[] door_04_rend = GameObject.Find("Copter/Fuzeliazh/Door_04/door_04").GetComponent<Renderer>().materials;
|
||||
Material greenMat = new Material(door_04_rend[1]);
|
||||
greenMat.SetColor("_EmissionColor", new Color(9f / 255f, 82f / 255f, 4f / 255f));
|
||||
greenMaterials.Add(greenMat);
|
||||
}
|
||||
else
|
||||
{
|
||||
Material greenMat = new Material(renderer.material); //activeMaterial // renderer.material
|
||||
greenMat.SetColor("_EmissionColor", new Color(9f / 255f, 82f / 255f, 4f / 255f));
|
||||
greenMaterials.Add(greenMat);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void RestoreChildrenMaterials()
|
||||
{
|
||||
for (int i = 0; i < renderers.Length; i++)
|
||||
{
|
||||
renderers[i].material = materials[i];
|
||||
}
|
||||
materialsReplaced = false;
|
||||
}
|
||||
|
||||
public void ReplaceMaterialsWithActive()
|
||||
{
|
||||
//Debug.Log("ReplaceMaterialsWithActive: " + this.name);
|
||||
if (activeMaterial != null)
|
||||
{
|
||||
for (int i = 0; i < renderers.Length; i++)
|
||||
renderers[i].material = greenMaterials[i]; // = activeMaterial;
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogError("Active Material is not set!");
|
||||
}
|
||||
materialsReplaced = true;
|
||||
}
|
||||
|
||||
|
||||
void OnMouseDown()
|
||||
{
|
||||
if (man.mode == "scedit" || man.mode == "play") return;
|
||||
// Скрываем люки под которыми спрятаны панели. Еще не решили нужно ли
|
||||
if (this.transform.parent.gameObject.name == "Group019" || this.transform.parent.gameObject.name == "Group020") this.transform.parent.gameObject.SetActive(false);
|
||||
|
||||
//if (man.mode == "scedit") return;
|
||||
//Debug.Log(this.transform.parent.name + " кликаю панель");
|
||||
//Здесь проверку на not null сделать. Не все активные области являются панелями.
|
||||
if (string.Compare(this.transform.parent.name.Substring(this.transform.parent.name.Length - 2), "3D") == 0 && this.transform.parent.name != null)
|
||||
{
|
||||
string panel2d = this.transform.parent.name.Substring(0, this.transform.parent.name.Length - 3);
|
||||
//Debug.Log("MakeActive: " + panel2d);
|
||||
|
||||
// Может тут подвязать наш канвас и обзорку Максима
|
||||
|
||||
//man.cabines2d.SetActive(true);
|
||||
//man.canvas.SetActive(true);
|
||||
//man.fusel.SetActive(false);
|
||||
man.SwitchTo2D(panel2d);
|
||||
}
|
||||
}
|
||||
|
||||
private void FindAndAddCoverVertical()
|
||||
{
|
||||
string s1 = this.transform.parent.name.Substring(this.transform.parent.name.Length - 7); // окончание названия панели например 0506_3D
|
||||
string s2 = "Cover";
|
||||
GameObject[] cover3Dv = GameObject.FindGameObjectsWithTag("cover3Dv");
|
||||
foreach (GameObject _cover3Dv in cover3Dv)
|
||||
{
|
||||
if (_cover3Dv.name.EndsWith(s1) && _cover3Dv.name.StartsWith(s2))
|
||||
{
|
||||
//Debug.Log(_cover3Dv.name);
|
||||
_cover3Dv.AddComponent<Cover3DVrotate>();
|
||||
//switchesList3D.Add(sw.name, sw);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
private void FindAndAddCoverHorizontal()
|
||||
{
|
||||
string s1 = this.transform.parent.name.Substring(this.transform.parent.name.Length - 7); // окончание названия панели например 0506_3D
|
||||
string s2 = "Cover";
|
||||
GameObject[] cover3Dh = GameObject.FindGameObjectsWithTag("cover3Dh");
|
||||
foreach (GameObject _cover3Dh in cover3Dh)
|
||||
{
|
||||
if (_cover3Dh.name.EndsWith(s1) && _cover3Dh.name.StartsWith(s2))
|
||||
{
|
||||
//Debug.Log(_cover3Dh.name);
|
||||
_cover3Dh.AddComponent<Cover3DHrotate>();
|
||||
//_cover3Dh.AddComponent<Animation>();
|
||||
//switchesList3D.Add(sw.name, sw);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void FindAndAddSwitchVertikal()
|
||||
{
|
||||
string s1 = this.transform.parent.name.Substring(this.transform.parent.name.Length - 7); // окончание названия панели например 0506_3D
|
||||
string s2 = "Tumbler";
|
||||
GameObject[] switches3D = GameObject.FindGameObjectsWithTag("toggle3D");
|
||||
foreach (GameObject sw in switches3D)
|
||||
{
|
||||
if (sw.name.EndsWith(s1) && sw.name.StartsWith(s2))
|
||||
{
|
||||
//Debug.Log(sw.name);
|
||||
sw.AddComponent<Switch3DRotate>();
|
||||
switchesList3D.Add(sw.name, sw);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void FindAndAddSwitchHorizontal()
|
||||
{
|
||||
string s1 = this.transform.parent.name.Substring(this.transform.parent.name.Length - 7); // окончание названия панели например 0506_3D
|
||||
string s2 = "Tumbler";
|
||||
GameObject[] switches3Dh = GameObject.FindGameObjectsWithTag("toggle3Dh");
|
||||
foreach (GameObject _switches3Dh in switches3Dh)
|
||||
{
|
||||
if (_switches3Dh.name.EndsWith(s1) && _switches3Dh.name.StartsWith(s2))
|
||||
{
|
||||
//Debug.Log(sw.name);
|
||||
_switches3Dh.AddComponent<Switch3DHRotate>();
|
||||
switchesList3Dh.Add(_switches3Dh.name, _switches3Dh);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
>>>>>>> 3b1b9479a46e90d056b92897ea9f8422b25fc052
|
||||
12
Heli_with_panels/Assets/Scripts/Panel3D/MakeActive.cs.meta
Normal file
12
Heli_with_panels/Assets/Scripts/Panel3D/MakeActive.cs.meta
Normal file
@@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3936cb98fd2f75e42ba779b89f806ed6
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences:
|
||||
- activeMaterial: {fileID: 2100000, guid: 93d259866b183904db724121a23f0dfb, type: 2}
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
36
Heli_with_panels/Assets/Scripts/Panel3D/OverWriteMaterial.cs
Normal file
36
Heli_with_panels/Assets/Scripts/Panel3D/OverWriteMaterial.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class OverWriteMaterial
|
||||
{
|
||||
public static void RecordChildrenMaterials(Renderer[] renderers, ref List<Material> materials, ref List<Material> greenMaterials)
|
||||
{
|
||||
materials.Clear(); greenMaterials.Clear();
|
||||
foreach (var renderer in renderers)
|
||||
{
|
||||
materials.Add(renderer.material);
|
||||
Material greenMat = new Material(renderer.material);
|
||||
greenMat.SetColor("_EmissionColor", new Color(9f / 255f, 82f / 255f, 4f / 255f));
|
||||
greenMaterials.Add(greenMat);
|
||||
}
|
||||
}
|
||||
|
||||
public static void RestoreChildrenMaterials(Renderer[] renderers, List<Material> materials)
|
||||
{
|
||||
for (int i = 0; i < renderers.Length; i++)
|
||||
{
|
||||
renderers[i].material = materials[i];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static void ReplaceMaterialsWithActive(Renderer[] renderers, List<Material> greenMaterials)
|
||||
{
|
||||
|
||||
for (int i = 0; i < renderers.Length; i++)
|
||||
{
|
||||
renderers[i].material = greenMaterials[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f65cb7c4c674b354082b28a92f4af942
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
63
Heli_with_panels/Assets/Scripts/Panel3D/Switch3DHRotate.cs
Normal file
63
Heli_with_panels/Assets/Scripts/Panel3D/Switch3DHRotate.cs
Normal file
@@ -0,0 +1,63 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class Switch3DHRotate : MonoBehaviour
|
||||
{
|
||||
public int pos;
|
||||
public int numpos;
|
||||
[SerializeField]
|
||||
float eulerAngX;
|
||||
[SerializeField]
|
||||
float eulerAngY;
|
||||
[SerializeField]
|
||||
float eulerAngZ;
|
||||
public float angle = 30;
|
||||
bool isStarted = false;
|
||||
|
||||
// Start is called before the first frame update
|
||||
void Start()
|
||||
{
|
||||
if (isStarted) return;
|
||||
eulerAngX = transform.localEulerAngles.x;
|
||||
eulerAngY = transform.localEulerAngles.y;
|
||||
eulerAngZ = transform.localEulerAngles.z;
|
||||
isStarted = true;
|
||||
//if (this.name == "Tumbler2_0109_3D")
|
||||
//{
|
||||
// Debug.Log("START Tumbler2_0109_3D: eulerAng " + eulerAngX + " " + eulerAngY + " " + eulerAngZ);
|
||||
//}
|
||||
}
|
||||
|
||||
public void RotateHorizontalSwitch(int numpos) //int pos,
|
||||
{
|
||||
//Debug.Log(pos);
|
||||
/* if (pos == 5)
|
||||
{
|
||||
|
||||
if (numpos == 1) this.transform.localRotation = Quaternion.Euler(eulerAngX + 0, eulerAngY + 0, 0);
|
||||
if (numpos == 2) this.transform.localRotation = Quaternion.Euler(eulerAngX + 30, eulerAngY + 0, 0);
|
||||
if (numpos == 3) this.transform.localRotation = Quaternion.Euler(eulerAngX + 0, eulerAngY + 30, 0);
|
||||
if (numpos == 4) this.transform.localRotation = Quaternion.Euler(eulerAngX - 30, eulerAngY + 0, 0);
|
||||
if (numpos == 5) this.transform.localRotation = Quaternion.Euler(eulerAngX + 0, eulerAngY - 30, 0);
|
||||
}
|
||||
if (pos == 2)
|
||||
{
|
||||
if (numpos == 1) this.transform.localRotation = Quaternion.Euler(eulerAngX + angle, eulerAngY , eulerAngZ + 0);
|
||||
if (numpos == 2) this.transform.localRotation = Quaternion.Euler(eulerAngX - angle, eulerAngY , eulerAngZ + 0);
|
||||
}*/
|
||||
|
||||
if (!isStarted) Start();
|
||||
if (numpos == 1) this.transform.localRotation = Quaternion.Euler(eulerAngX - angle + 10, eulerAngY, eulerAngZ); // право
|
||||
if (numpos == 0) this.transform.localRotation = Quaternion.Euler(eulerAngX+angle + 10, eulerAngY, eulerAngZ); // лево
|
||||
if (numpos == 2) this.transform.localRotation = Quaternion.Euler(eulerAngX + 10, eulerAngY, eulerAngZ); // центр
|
||||
if (numpos > 2)
|
||||
Debug.Log("Switch3DHRotate error: numpos > 2");
|
||||
|
||||
//if (this.name == "Tumbler2_0109_3D")
|
||||
//{
|
||||
// Debug.Log("Tumbler2_0109_3D: localRotation " + this.transform.localEulerAngles.x + " " + this.transform.localEulerAngles.y + " " + this.transform.localEulerAngles.z + " " +
|
||||
// " eulerAng " + eulerAngX + " " + eulerAngY + " " + eulerAngZ + " ");
|
||||
//}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: eebfec330c9e2c74d82df8670011e82d
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
72
Heli_with_panels/Assets/Scripts/Panel3D/Switch3DRotate.cs
Normal file
72
Heli_with_panels/Assets/Scripts/Panel3D/Switch3DRotate.cs
Normal file
@@ -0,0 +1,72 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class Switch3DRotate : MonoBehaviour
|
||||
{
|
||||
//public int pos;
|
||||
public int numpos;
|
||||
[SerializeField]
|
||||
float eulerAngX ;
|
||||
[SerializeField]
|
||||
float eulerAngY ;
|
||||
[SerializeField]
|
||||
float eulerAngZ ;
|
||||
public float angle = 30;
|
||||
bool isStarted = false;
|
||||
|
||||
void Start()
|
||||
{
|
||||
if (isStarted) return;
|
||||
//Debug.Log( this.name + " На ком висим");
|
||||
// Задаем текущий Rotation объекта по осям
|
||||
eulerAngX = transform.localEulerAngles.x;
|
||||
eulerAngY = transform.localEulerAngles.y;
|
||||
eulerAngZ = transform.localEulerAngles.z;
|
||||
isStarted = true;
|
||||
}
|
||||
|
||||
public void RotateVertikalSwitch(int numpos) //int pos,
|
||||
|
||||
{
|
||||
//Debug.Log(pos + " сколько позиций");
|
||||
//Debug.Log(this.name + " кто");
|
||||
|
||||
// !!!!!!!!!!!!! Исправить !!!! У нас rotation по Y
|
||||
/* if (pos == 5)
|
||||
{
|
||||
|
||||
if (numpos == 1) this.transform.localRotation = Quaternion.Euler(eulerAngX+0, eulerAngY+0, 0);
|
||||
if (numpos == 2) this.transform.localRotation = Quaternion.Euler(eulerAngX+30, eulerAngY+0, 0);
|
||||
if (numpos == 3) this.transform.localRotation = Quaternion.Euler(eulerAngX+0, eulerAngY+30, 0);
|
||||
if (numpos == 4) this.transform.localRotation = Quaternion.Euler(eulerAngX-30, eulerAngY+0, 0);
|
||||
if (numpos == 5) this.transform.localRotation = Quaternion.Euler(eulerAngX+0, eulerAngY-30, 0);
|
||||
|
||||
|
||||
}
|
||||
if (pos == 2)
|
||||
{
|
||||
if (numpos == 1) this.transform.localRotation = Quaternion.Euler(eulerAngX,eulerAngY-30, eulerAngZ+0);
|
||||
if (numpos == 2) this.transform.localRotation = Quaternion.Euler(eulerAngX,eulerAngY+30, eulerAngZ+0);
|
||||
}
|
||||
if (pos == 3)
|
||||
{
|
||||
if (numpos == 3) this.transform.localRotation = Quaternion.Euler(eulerAngX, eulerAngY+30, eulerAngZ+0);
|
||||
if (numpos == 2) this.transform.localRotation = Quaternion.Euler(eulerAngX, eulerAngY-30, eulerAngZ+0);
|
||||
if (numpos == 1) this.transform.localRotation = Quaternion.Euler(eulerAngX,eulerAngY+0, eulerAngZ+0);
|
||||
}*/
|
||||
|
||||
/* Вариант последний после правок Кирилла по двум передаваемым параметрам,которые заменили на один
|
||||
if (numpos == 1) this.transform.localRotation = Quaternion.Euler(eulerAngX, eulerAngY + 30 + 10, eulerAngZ + 0); // вверх
|
||||
if (numpos == 0) this.transform.localRotation = Quaternion.Euler(eulerAngX, eulerAngY - 30 + 10, eulerAngZ + 0); // вниз
|
||||
if (numpos == 2) this.transform.localRotation = Quaternion.Euler(eulerAngX, eulerAngY + 0 +10, eulerAngZ + 0); // центр
|
||||
if (numpos > 3) // upd if (numpos > 2) нумерация концовок названий спрайтов с 1 начинается
|
||||
Debug.Log("Switch3DRotate error: numpos > 3");
|
||||
*/
|
||||
if (!isStarted) Start();
|
||||
if (numpos == 1) this.transform.localRotation = Quaternion.Euler(eulerAngX, eulerAngY + 30 + 10, eulerAngZ + 0); // вверх
|
||||
if (numpos == 0) this.transform.localRotation = Quaternion.Euler(eulerAngX, eulerAngY - 30 + 10, eulerAngZ + 0); // вниз
|
||||
if (numpos == 2) this.transform.localRotation = Quaternion.Euler(eulerAngX, eulerAngY + 0 + 10, eulerAngZ + 0); // центр
|
||||
if (numpos > 2) Debug.Log("Switch3DRotate error: numpos > 3");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 821505d84cadcc34fac72f738c432572
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
66
Heli_with_panels/Assets/Scripts/Panel3D/clickPanel.cs
Normal file
66
Heli_with_panels/Assets/Scripts/Panel3D/clickPanel.cs
Normal file
@@ -0,0 +1,66 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.EventSystems;
|
||||
|
||||
public class clickPanel : MonoBehaviour
|
||||
{
|
||||
public Color _defaultRender;
|
||||
|
||||
public Dictionary<string, GameObject> switchesList3D = new Dictionary<string, GameObject>(); // Обычные переключатели 3D
|
||||
void Start()
|
||||
{
|
||||
/* Mesh myMesh = this.GetComponent<MeshFilter>().mesh;
|
||||
DestroyImmediate(this.GetComponent<MeshCollider>());
|
||||
var collider = this.gameObject.AddComponent<MeshCollider>();
|
||||
collider.sharedMesh = myMesh; */
|
||||
|
||||
|
||||
string s1 = this.name.Substring(this.name.Length - 7); // окончание названия панели например 0506_3D
|
||||
string s2 = "Tumbler";
|
||||
GameObject[] switches3D = GameObject.FindGameObjectsWithTag("toggle3D");
|
||||
foreach (GameObject sw in switches3D)
|
||||
{
|
||||
if (sw.name.EndsWith(s1) && sw.name.StartsWith(s2))
|
||||
{
|
||||
//Debug.Log(sw.name);
|
||||
sw.AddComponent<Switch3DRotate>();
|
||||
switchesList3D.Add(sw.name, sw);
|
||||
//Debug.Log("Имена 3D переключателей " + sw.name);
|
||||
//Debug.Log("Кол-во 3D переключателей " + switches3D.Length);
|
||||
}
|
||||
}
|
||||
|
||||
//Debug.Log(this.name + " Имя этой панели");
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
void OnMouseDown()
|
||||
{
|
||||
Debug.Log(this.name + " кликаю панель");
|
||||
if (string.Compare(this.name.Substring(this.name.Length - 2), "3D") == 0 && this.name != null)
|
||||
{
|
||||
string panel2d = this.name.Substring(0, this.name.Length - 3);
|
||||
GameObject manager = GameObject.Find("Manager");
|
||||
manager.GetComponent<Manager>().SwitchTo2D(panel2d);
|
||||
}
|
||||
}
|
||||
|
||||
void OnMouseEnter()
|
||||
{
|
||||
_defaultRender = GetComponent<Renderer>().material.color;
|
||||
GetComponent<Renderer>().material.color = Color.green;
|
||||
}
|
||||
void OnMouseExit()
|
||||
{
|
||||
GetComponent<Renderer>().material.color = _defaultRender;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
11
Heli_with_panels/Assets/Scripts/Panel3D/clickPanel.cs.meta
Normal file
11
Heli_with_panels/Assets/Scripts/Panel3D/clickPanel.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f9ecb01ec038da645a13902ccdfd5aa2
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
58
Heli_with_panels/Assets/Scripts/Panel3D/rotate3DPedals.cs
Normal file
58
Heli_with_panels/Assets/Scripts/Panel3D/rotate3DPedals.cs
Normal file
@@ -0,0 +1,58 @@
|
||||
/*
|
||||
Скрипт вращения 3D педалей
|
||||
*/
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class rotate3DPedals : MonoBehaviour
|
||||
{
|
||||
|
||||
[SerializeField]
|
||||
float eulerAngX;
|
||||
[SerializeField]
|
||||
float eulerAngY;
|
||||
[SerializeField]
|
||||
float eulerAngZ;
|
||||
bool isStarted = false;
|
||||
Manager man;
|
||||
|
||||
void Start()
|
||||
{
|
||||
man = GameObject.Find("Manager").GetComponent<Manager>();
|
||||
eulerAngX = transform.localEulerAngles.x;
|
||||
eulerAngY = transform.localEulerAngles.y;
|
||||
eulerAngZ = transform.localEulerAngles.z;
|
||||
isStarted = true;
|
||||
}
|
||||
|
||||
public void RotatePedals(float angle)
|
||||
{
|
||||
if (!isStarted) return;
|
||||
this.transform.localRotation = Quaternion.Euler(eulerAngX, eulerAngY , eulerAngZ - angle);
|
||||
}
|
||||
// Функция связки с 3D ручками, поворот по горизонтали
|
||||
public void RotateLeverHorizontal(float angle)
|
||||
{
|
||||
if (!isStarted) return;
|
||||
//Debug.Log("при повороте по горизонтали " + angle );
|
||||
/*this.transform.localRotation = Quaternion.Euler(transform.localRotation.eulerAngles.x, eulerAngY - angle, transform.localRotation.eulerAngles.z);*/
|
||||
this.transform.localRotation = Quaternion.Euler(eulerAngX + angle, transform.localRotation.eulerAngles.y, transform.localRotation.eulerAngles.z);
|
||||
}
|
||||
// Функция связки с 3D ручками, поворот по вертикали
|
||||
public void RotateLeverVertical(float angle)
|
||||
{
|
||||
if (!isStarted) return;
|
||||
//Debug.Log("при повороте по вертикали " + angle);
|
||||
this.transform.localRotation = Quaternion.Euler(transform.localRotation.eulerAngles.x, transform.localRotation.eulerAngles.y, eulerAngZ - angle );
|
||||
}
|
||||
// Функция связки с 3D одинарными ручками, поворот по вертикали
|
||||
public void RotateLeverOneVertical(float angle)// используется только для РОШ 0701, 0702
|
||||
{
|
||||
if (!isStarted) return;
|
||||
//Debug.Log("при повороте по вертикали " + angle);
|
||||
this.transform.localRotation = Quaternion.Euler(transform.localRotation.eulerAngles.x, eulerAngY - angle, eulerAngZ);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f94c5d14513fdd7429c61884ba714c67
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user