各メソッドは大した実装でないので全部書いちゃいます。。。
まずはアクションの追加と削除です。
// アクション追加 public boolean AddAction( ACTION action, PointF pos ) { ActionInfo info = new ActionInfo( action, pos ); return m_ActionVec.add( info ); } // アクション削除 public void DeleteAction( int num ) { m_DeleteNum = num; }
追加は単純にベクタにアクション情報を突っ込んでいるだけです。
削除は削除する数をリクエストしているだけです。
マルチスレッド対応でここでは直接削除してないですがあまり意味ないかも。。。
実際に削除するのは更新のタイミングです。
// 更新 public void Update() { for( int index = 0; index < m_DeleteNum; ++index ) { m_ActionVec.remove( 0 ); } m_DeleteNum = 0; }
リクエストされた数だけアクションを削除しています。
あとは取得系のメソッドです。
// アクション情報取得 public int GetActionNum() { return m_ActionVec.size(); } public ACTION GetAction( int index ) { return m_ActionVec.get( index ).GetAction(); } public PointF GetPosition( int index ) { return m_ActionVec.get( index ).GetPos(); }
説明不要ですね。
これでタッチイベントを保存、取得ができるようになりました。