Merge pull request from Mukheem/Fixing_Rotation_issue

Fixing rotation issue
This commit is contained in:
Abdul Mukheem Shaik 2024-05-28 05:09:10 +02:00 committed by GitHub
commit af1f18f463
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 35 additions and 36 deletions
Assets
SharedSpatialAnchors
Wind_Turbine/Scripts

@ -1532,7 +1532,7 @@ PrefabInstance:
objectReference: {fileID: 1160440965950818012}
- target: {fileID: 4293156749170067433, guid: ebcaad662ef2ae14ca92fbcd7a67ee56, type: 3}
propertyPath: _whenSelect.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName
value: RPC_EmergencyButtonClick
value: emergencyButtonClick
objectReference: {fileID: 0}
- target: {fileID: 4293156749170067433, guid: ebcaad662ef2ae14ca92fbcd7a67ee56, type: 3}
propertyPath: _whenSelect.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName

@ -8,7 +8,7 @@ using TMPro;
using UnityEngine;
using UnityEngine.Networking;
using WebSocketSharp;
using System.Linq;
//https://github.com/GlitchEnzo/NuGetForUnity
// Creating the data structure according to the expected Json
[Serializable]
@ -47,7 +47,7 @@ public class API : MonoBehaviourPunCallbacks, IPunObservable
public TextMeshProUGUI windSpeedValue;
private float LatestT;
public float latestWD = 0.0f;
public float latestWS;
public float latestWS = 0.01f;
private String windDirectionInDirectionTerms;
private string unit;
private GameObject webSocketController;
@ -58,9 +58,7 @@ public class API : MonoBehaviourPunCallbacks, IPunObservable
private AudioController audioControllerScript;
public bool turn_WT_on_Y_Axis = false;
public GameObject windTurbineWithMap;
private GameObject windTurbineController;
private Windturbine windTurbineControllerScript;
void Start()
{
@ -68,7 +66,7 @@ public class API : MonoBehaviourPunCallbacks, IPunObservable
//TestFromJsonToData();
//EmergencyButtonClick();
photonView = PhotonView.Get(this);
photonView.RPC("RPC_EmergencyButtonClick", RpcTarget.All);
photonView.RPC("RPC_EmergencyButtonClick", RpcTarget.All,false,0.0f);
}
@ -89,23 +87,33 @@ public class API : MonoBehaviourPunCallbacks, IPunObservable
public void OnButtonClick()
{
webSocketController = GameObject.FindGameObjectWithTag("WebController");
webSocketControllerScript = webSocketController.GetComponent<WebSocketController>();
webSocketControllerScript.ConnectWithESP32();
StartCoroutine(GetText());
avatar = GameObject.FindGameObjectWithTag("Avatar");
audioControllerScript = avatar.GetComponent<AudioController>();
audioControllerScript.fn_call_AudioNarration2();
Debug.Log("Button is Clicked");
}
[PunRPC]
public void RPC_EmergencyButtonClick()
public void emergencyButtonClick()
{
isButtonPressed = false;
photonView = PhotonView.Get(this);
photonView.RPC("RPC_EmergencyButtonClick", RpcTarget.All, false, 0.0f);
}
[PunRPC]
public void RPC_EmergencyButtonClick(bool isButtonPressedVal, float latestWS_val)
{
isButtonPressed = isButtonPressedVal;
latestWS = latestWS_val;
loc.SetText("----");
windDirValue.SetText("----");
temperatureValue.SetText("----");
voltageValue.SetText("----");
windSpeedValue.SetText("----");
}
IEnumerator GetText()
{
@ -178,36 +186,22 @@ public void ExtractDataFromJson(string json)
Debug.Log("Latest WS is - "+latestWS);
}
}
photonView = PhotonView.Get(this);
photonView.RPC("RPC_GreenButtonClick", RpcTarget.All,windDirectionInDirectionTerms,LatestT+" C","Kista",latestWS+" m/s",true);
photonView.RPC("RPC_GreenButtonClick", RpcTarget.All,windDirectionInDirectionTerms,LatestT+" C","Kista",latestWS+" m/s",true,latestWD,latestWS);
}
[PunRPC]
public void RPC_GreenButtonClick(String windDirection,String locationTemperature,String location,String windSpeed,bool turn_WT_on_Y_Axis_val)
public void RPC_GreenButtonClick(String windDirection,String locationTemperature,String location,String windSpeed,bool turn_WT_on_Y_Axis_val,float latestWD_val, float latestWS_val)
{
windTurbineWithMap = GameObject.FindGameObjectWithTag("Wind_Turbine_withMap");
webSocketController = GameObject.FindGameObjectWithTag("WebController");
webSocketControllerScript = webSocketController.GetComponent<WebSocketController>();
avatar = GameObject.FindGameObjectWithTag("Avatar");
audioControllerScript = avatar.GetComponent<AudioController>();
windTurbineController = windTurbineWithMap.transform.GetChild(0).gameObject;
windTurbineControllerScript = windTurbineController.GetComponent<Windturbine>();
Debug.Log("Latest WS is - " + windSpeed);
latestWD = latestWD_val; // Just for RPC purposes
latestWS = latestWS_val; // Just for RPC purposes
windDirValue.SetText(windDirection);
temperatureValue.SetText(locationTemperature);
loc.SetText(location);
windSpeedValue.SetText(windSpeed);
turn_WT_on_Y_Axis = turn_WT_on_Y_Axis_val; // flag set to true so that WT can rotate on it's Y axis.
Debug.Log("Flag value to turn the Y Axis:" + turn_WT_on_Y_Axis);
windTurbineControllerScript.WT_TurnOnIts_Y_Axis();
}
[PunRPC]
public void RPC_VoltageUpdate(String voltageGenerated)
@ -231,10 +225,12 @@ public void ExtractDataFromJson(string json)
if (stream.IsWriting)
{
stream.SendNext(turn_WT_on_Y_Axis);
stream.SendNext(isButtonPressed);
}
else
{
turn_WT_on_Y_Axis = (bool)stream.ReceiveNext();
isButtonPressed = (bool)stream.ReceiveNext();
}
}
}

@ -42,10 +42,10 @@ public class WebSocketController : MonoBehaviour
};
ws.OnMessage += (sender, e) =>
{
Debug.Log("Received message: " + e.Data);
//Debug.Log("Received message: " + e.Data);
//Debug.Log();
voltageValue = e.Data.Split(':')[1].ToString();
Debug.Log(voltageValue);
// Debug.Log(voltageValue);
//Voltage:180.0
if (e.Data.Equals("Start Narration", StringComparison.OrdinalIgnoreCase)){
// narrationControllerScript.startNarration = true;

@ -37,11 +37,13 @@ public class Windturbine : MonoBehaviour
photonView = PhotonView.Get(this);
photonView.RPC("RPC_WT_Turn", RpcTarget.All);
if(apiScript.turn_WT_on_Y_Axis)
if(apiScript.turn_WT_on_Y_Axis) //From Base class
{
Debug.Log("FLAG IS TRUE");
WT_TurnOnIts_Y_Axis();
apiScript.turn_WT_on_Y_Axis = false;
}
}
// Method to turn the 'Turbine blades' as per the SPEED of wind that is fetched from API
@ -72,6 +74,7 @@ public class Windturbine : MonoBehaviour
// Method to turn the 'Turbine' on its Y axis as per the DIRECTION of wind that is fetched from API
IEnumerator RotateObject(float startAngle, float endAngle, float duration)
{
Debug.Log("Rotate On it's Y-Axis- COROUTINE");
yield return new WaitForSeconds(2f);
float timeElapsed = 0f;
Quaternion startRotation = Quaternion.Euler(0, startAngle, 0);