using com.jbrettob.core; using com.jbrettob.data; namespace com.jbrettob.data { public abstract class PlayerIOSendRate:CoreObject, IPlayerIOSendRate { protected float _sendRate = 0; private float _sendRateTimer = 0; #region IPlayerIOSendRate implementation public virtual void sendMessage(string eventName, bool forced, params object[] data) { if (DataManager.getInstance().playerIOAPI.connection != null && DataManager.getInstance().playerIOAPI.connection.Connected) { if (_sendRateTimer < 0f || forced) { if (data != null) { NetworkDebugger.SendMessage(); DataManager.getInstance().playerIOAPI.connection.Send(eventName, data); } else { NetworkDebugger.SendMessage(); DataManager.getInstance().playerIOAPI.connection.Send(eventName); } } } } public void update(float deltaTime) { if (_sendRateTimer >= 0f) { _sendRateTimer -= deltaTime; } else { _sendRateTimer = _sendRate; } } public float sendRate { get { return _sendRate; } } public virtual string eventName { get { return null; } } #endregion } }