// --------------------------------------------------------------------------------------------------------------------
//
// Part of: Pun Cockpit
//
// developer@exitgames.com
// --------------------------------------------------------------------------------------------------------------------
using UnityEngine;
using UnityEngine.UI;
namespace Photon.Pun.Demo.Cockpit
{
///
/// Game version field.
///
public class GameVersionField : MonoBehaviour
{
public InputField PropertyValueInput;
private string _cache;
private bool registered;
private void OnEnable()
{
if (!this.registered)
{
this.registered = true;
this.PropertyValueInput.onEndEdit.AddListener(this.OnEndEdit);
}
}
private void OnDisable()
{
this.registered = false;
this.PropertyValueInput.onEndEdit.RemoveListener(this.OnEndEdit);
}
private void Update()
{
if (PhotonNetwork.PhotonServerSettings.AppSettings.AppVersion != this._cache)
{
this._cache = PhotonNetwork.PhotonServerSettings.AppSettings.AppVersion;
this.PropertyValueInput.text = this._cache;
}
}
// new UI will fire "EndEdit" event also when loosing focus. So check "enter" key and only then submit form.
public void OnEndEdit(string value)
{
if (Input.GetKey(KeyCode.Return) || Input.GetKey(KeyCode.KeypadEnter) || Input.GetKey(KeyCode.Tab))
{
this.SubmitForm(value.Trim());
}
else
{
this.SubmitForm(value);
}
}
public void SubmitForm(string value)
{
this._cache = value;
PunCockpit.Instance.GameVersionOverride = this._cache;
//Debug.Log("PunCockpit.GameVersionOverride = " + PunCockpit.Instance.GameVersionOverride, this);
}
}
}