/* * private GameObject m_ParameterObject = null; * public void SetParameterObject( GameObject _object ){ * m_ParameterObject = _object; * } * * public GameObject GetParameterObject(){ * return m_ParameterObject; * }*/ public void Copy(BehaviourEvent _event) { if (_event == null) { return; } base.Copy(_event); ParameterString = _event.ParameterString; ParameterInteger = _event.ParameterInteger; ParameterFloat = _event.ParameterFloat; ParameterBoolean = _event.ParameterBoolean; //SetParameterObject( _event.GetParameterObject() ); }
public BehaviourEvent(BehaviourEvent _event) : base(_event) { Copy(_event); }
/// <summary> /// Sends the message. /// </summary> /// <param name="_method">Method.</param> protected virtual void SendMessage(BehaviourEvent _event) { if (Owner == null || _event == null || string.IsNullOrEmpty(_event.FunctionName)) { return; } if (m_Receiver == null) { m_Receiver = Owner; } if (m_ReceiverTransform == null) { m_ReceiverTransform = SystemTools.FindChildByName(_event.ComponentName, m_Receiver.transform); } if (m_ReceiverTransform != null) { GameObject _receiver = m_ReceiverTransform.gameObject; switch (_event.ParameterType) { case BehaviourEventParameterType.Boolean: _receiver.SendMessage(_event.FunctionName, _event.ParameterBoolean, SendMessageOptions.DontRequireReceiver); break; case BehaviourEventParameterType.Integer: _receiver.SendMessage(_event.FunctionName, _event.ParameterInteger, SendMessageOptions.DontRequireReceiver); break; case BehaviourEventParameterType.Float: _receiver.SendMessage(_event.FunctionName, _event.ParameterFloat, SendMessageOptions.DontRequireReceiver); break; case BehaviourEventParameterType.String: _receiver.SendMessage(_event.FunctionName, _event.ParameterString, SendMessageOptions.DontRequireReceiver); break; case BehaviourEventParameterType.Sender: _receiver.SendMessage(_event.FunctionName, Owner, SendMessageOptions.DontRequireReceiver); break; case BehaviourEventParameterType.SenderComponent: _receiver.SendMessage(_event.FunctionName, OwnerComponent, SendMessageOptions.DontRequireReceiver); break; case BehaviourEventParameterType.SenderTransform: _receiver.SendMessage(_event.FunctionName, Owner.transform, SendMessageOptions.DontRequireReceiver); break; default: _receiver.SendMessage(_event.FunctionName, null, SendMessageOptions.DontRequireReceiver); break; } if (DebugLogIsEnabled) { PrintDebugLog(this, "Send Message '" + _event.FunctionName + "' with " + _event.ParameterType.ToString() + " parameter to " + _receiver.name + " (" + _receiver.GetInstanceID() + ")"); } } else { switch (_event.ParameterType) { case BehaviourEventParameterType.Boolean: m_Receiver.BroadcastMessage(_event.FunctionName, _event.ParameterBoolean, SendMessageOptions.DontRequireReceiver); break; case BehaviourEventParameterType.Integer: m_Receiver.BroadcastMessage(_event.FunctionName, _event.ParameterInteger, SendMessageOptions.DontRequireReceiver); break; case BehaviourEventParameterType.Float: m_Receiver.BroadcastMessage(_event.FunctionName, _event.ParameterFloat, SendMessageOptions.DontRequireReceiver); break; case BehaviourEventParameterType.String: m_Receiver.BroadcastMessage(_event.FunctionName, _event.ParameterString, SendMessageOptions.DontRequireReceiver); break; case BehaviourEventParameterType.Sender: m_Receiver.BroadcastMessage(_event.FunctionName, Owner, SendMessageOptions.DontRequireReceiver); break; case BehaviourEventParameterType.SenderComponent: m_Receiver.BroadcastMessage(_event.FunctionName, OwnerComponent, SendMessageOptions.DontRequireReceiver); break; case BehaviourEventParameterType.SenderTransform: m_Receiver.BroadcastMessage(_event.FunctionName, Owner.transform, SendMessageOptions.DontRequireReceiver); break; default: m_Receiver.BroadcastMessage(_event.FunctionName, null, SendMessageOptions.DontRequireReceiver); break; } if (DebugLogIsEnabled) { PrintDebugLog(this, "Broadcast Message '" + _event.FunctionName + "' with " + _event.ParameterType.ToString() + " parameter to " + m_Receiver.name + " (" + m_Receiver.GetInstanceID() + ")"); } } }