コード例 #1
0
 void Action::impl_setProperty(const String& name, const String& value)
 {
     if (name == "ActionName")
     {
         OIS_EXCEPT(OIS::E_InvalidParam, "'ActionName' is a read only, you can't set it!");
     }
     else if (name == "ParentActionSchemaName")
     {
         OIS_EXCEPT(OIS::E_InvalidParam, "'ParentActionSchemaName' is a read only, you can't set it!");
     }
     else
     {
         // nothing matched, delegate up
         Bindable::impl_setProperty(name, value);
     }
 }
コード例 #2
0
ファイル: OISBDevice.cpp プロジェクト: jsj2008/stuntrally
	State* Device::getState(const String& name) const
	{
		StateMap::const_iterator it = mStates.find(name);
		if (it == mStates.end())
		{
			OIS_EXCEPT(OIS::E_General, String("State '" + name + "' not found in Device '" + getName() + "'").c_str());
		}
		
		return it->second;
	}
コード例 #3
0
ファイル: OISBDevice.cpp プロジェクト: jsj2008/stuntrally
	void Device::removeState(State* state)
	{
		StateMap::iterator it = mStates.find(state->getName());
		
		if (it == mStates.end())
		{
			OIS_EXCEPT(OIS::E_General, String("State with a name '" + state->getName() + "' not found in Device '" + getName() + "'").c_str());
		}
		
		mStates.erase(it);
	}
コード例 #4
0
ファイル: OISBDevice.cpp プロジェクト: jsj2008/stuntrally
	void Device::addState(State* state)
	{
		StateMap::const_iterator it = mStates.find(state->getName());
		
		if (it != mStates.end())
		{
			OIS_EXCEPT(OIS::E_Duplicate, String("State with a name '" + state->getName() + "' already exists in Device '" + getName() + "'").c_str());
		}
		
		mStates.insert(std::make_pair(state->getName(), state));
	}
コード例 #5
0
    void Action::destroyBinding(Binding* binding)
    {
        BindingList::iterator it = std::find(mBindings.begin(), mBindings.end(), binding);

        if (it == mBindings.end())
        {
             OIS_EXCEPT(OIS::E_General, String("Given binding not found").c_str());
        }

        mBindings.erase(it);
    }
Object* AndroidInputManager::createObject(InputManager* creator, Type iType, bool bufferMode, const std::string & vendor)
{
        Object *obj = 0;
       
        _OIS_LOG_FOOT_;

        switch(iType)
        {
        case OISKeyboard:
                {              
                        AndroidKeyboard *keyboard = new AndroidKeyboard(this);
                        obj = keyboard;
                        if (!mKeyboard) mKeyboard = keyboard;          
                        break;
                }
               

        case OISMultiTouch:
                {
                        AndroidMultiTouch* touch = new AndroidMultiTouch(this);
                        obj = touch;
                        if (!mTouch) mTouch = touch;            
                        break;
                }
        case OISJoyStick:
                {
                        AndroidAccelerometer* accel = new AndroidAccelerometer(this,true);
                        obj = accel;
                        if (!mAccelerometer)
                                mAccelerometer = accel;
                        break;
                }
        default:
                break;
        }

        _OIS_LOG_FOOT_;

        if( obj == 0 )
                OIS_EXCEPT(E_InputDeviceNonExistant, "No devices match requested type.");

        _OIS_LOG_FOOT_;

        return obj;
}