// ----------------------------------------------------------------------------
//
// PhotonNetwork Framework for Unity - Copyright (C) 2018 Exit Games GmbH
//
//
// This is a custom editor for the TransformView component.
//
// developer@exitgames.com
// ----------------------------------------------------------------------------
namespace Photon.Pun
{
using UnityEditor;
using UnityEngine;
[CustomEditor(typeof(PhotonTransformView))]
public class PhotonTransformViewEditor : Editor
{
private bool helpToggle = false;
SerializedProperty pos, rot, scl, lcl;
public void OnEnable()
{
pos = serializedObject.FindProperty("m_SynchronizePosition");
rot = serializedObject.FindProperty("m_SynchronizeRotation");
scl = serializedObject.FindProperty("m_SynchronizeScale");
lcl = serializedObject.FindProperty("m_UseLocal");
}
public override void OnInspectorGUI()
{
if (Application.isPlaying)
{
EditorGUILayout.HelpBox("Editing is disabled in play mode.", MessageType.Info);
return;
}
PhotonTransformView view = (PhotonTransformView)target;
EditorGUILayout.LabelField("Synchronize Options");
EditorGUI.BeginChangeCheck();
{
EditorGUILayout.BeginVertical("HelpBox");
{
EditorGUILayout.PropertyField(pos, new GUIContent("Position", pos.tooltip));
EditorGUILayout.PropertyField(rot, new GUIContent("Rotation", rot.tooltip));
EditorGUILayout.PropertyField(scl, new GUIContent("Scale", scl.tooltip));
}
EditorGUILayout.EndHorizontal();
EditorGUILayout.PropertyField(lcl, new GUIContent("Use Local", lcl.tooltip));
}
if (EditorGUI.EndChangeCheck())
{
serializedObject.ApplyModifiedProperties();
}
this.helpToggle = EditorGUILayout.Foldout(this.helpToggle, "Info");
if (this.helpToggle)
{
EditorGUILayout.HelpBox("The Photon Transform View of PUN 2 is simple by design.\nReplace it with the Photon Transform View Classic if you want the old options.\nThe best solution is a custom IPunObservable implementation.", MessageType.Info, true);
}
}
}
}