public override void FireEvent()
    {
        if (!Application.isPlaying)
        {
            return;
        }

        if (AffectedObject)
        {
            switch (sendMessageParameter)
            {
            case SendMessageParamenter.Bool:
                AffectedObject.SendMessage(action, boolValue);
                break;

            case SendMessageParamenter.String:
                AffectedObject.SendMessage(action, stringValue);
                break;

            case SendMessageParamenter.Float:
                AffectedObject.SendMessage(action, floatValue);
                break;

            case SendMessageParamenter.Int:
                AffectedObject.SendMessage(action, intValue);
                break;

            case SendMessageParamenter.None:
                AffectedObject.SendMessage(action);
                break;

            default:
                AffectedObject.SendMessage(action);
                break;
            }
        }
    }