public void UnregisterLogicInputEventHandler(ILogicInputEventProvider provider)
    {
        ELogicInputMetaType metaType = InputUtil.GetMetaTypeOfLogicEventProvider(provider);

        if (metaType != ELogicInputMetaType.Unknown)
        {
            if ((metaType & ELogicInputMetaType.MainJoytick) != 0)
            {
                ILogicInputEventProvider temp = null;
                logicEventProviders.TryGetValue(ELogicInputMetaType.MainJoytick, out temp);
                if (temp == provider)
                {
                    logicEventProviders.Remove(ELogicInputMetaType.MainJoytick);
                }
            }
            if ((metaType & ELogicInputMetaType.SecondaryJoystick) != 0)
            {
                ILogicInputEventProvider temp = null;
                logicEventProviders.TryGetValue(ELogicInputMetaType.SecondaryJoystick, out temp);
                if (temp == provider)
                {
                    logicEventProviders.Remove(ELogicInputMetaType.SecondaryJoystick);
                }
            }
        }
    }
    public object AquireLogicInputEvent(ELogicInputEventType eventType)
    {
        ELogicInputMetaType      metaType = InputUtil.GetMetaTypeOfLogicEvent(eventType);
        ILogicInputEventProvider provider = null;

        if (logicEventProviders.TryGetValue(metaType, out provider))
        {
            return(provider.AquireLogicInputEvent(eventType));
        }
        return(null);
    }
Ejemplo n.º 3
0
    public static ELogicInputMetaType GetMetaTypeOfLogicEventProvider(ILogicInputEventProvider provider)
    {
        ELogicInputMetaType result = ELogicInputMetaType.Unknown;

        if (provider is IMainJoystickInputEventProvider)
        {
            result |= ELogicInputMetaType.MainJoytick;
        }
        if (provider is ISecondaryJoystickInputEventProvider)
        {
            result |= ELogicInputMetaType.SecondaryJoystick;
        }
        return(result);
    }
    public void RegisterLogicInputEventHandler(ILogicInputEventProvider provider)
    {
        ELogicInputMetaType metaType = InputUtil.GetMetaTypeOfLogicEventProvider(provider);

        if (metaType != ELogicInputMetaType.Unknown)
        {
            if ((metaType & ELogicInputMetaType.MainJoytick) != 0)
            {
                logicEventProviders[ELogicInputMetaType.MainJoytick] = provider;
            }
            if ((metaType & ELogicInputMetaType.SecondaryJoystick) != 0)
            {
                logicEventProviders[ELogicInputMetaType.SecondaryJoystick] = provider;
            }
        }
    }