/****************************************************************************************
 * Copyright (c) 2010, Takaya Kakizaki(kacky)
 * All rights reserved.

  ソースコード形式かバイナリ形式か、変更するかしないかを問わず、以下の条件を満たす場合に限り、再頒布および使用が許可されます。 

  ・ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、および下記免責条項を含めること。 

  ・バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の資料に、上記の著作権表示、本条件一覧、および下記免責条項を含めること。 

  ・書面による特別の許可なしに、本ソフトウェアから派生した製品の宣伝または販売促進に、オープン麻雀の名前またはコントリビューターの名前を使用してはならない。


  本ソフトウェアは、著作権者およびコントリビューターによって「現状のまま」提供されており、明示黙示を問わず、
  商業的な使用可能性、および特定の目的に対する適合性に関する暗黙の保証も含め、またそれに限定されない、いかなる保証もありません。
  著作権者もコントリビューターも、事由のいかんを問わず、 損害発生の原因いかんを問わず、かつ責任の根拠が契約であるか厳格責任であるか
  （過失その他の）不法行為であるかを問わず、仮にそのような損害が発生する可能性を知らされていたとしても、本ソフトウェアの使用によって発生した
  （代替品または代用サービスの調達、使用の喪失、データの喪失、利益の喪失、業務の中断も含め、またそれに限定されない）
  直接損害、間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害について、一切責任を負わないものとします。 

****************************************************************************************/
// Library.cpp: CLibrary クラスのインプリメンテーション
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "Library.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// 構築/消滅
//////////////////////////////////////////////////////////////////////

OMLibrary::OMLibrary()
{

}

OMLibrary::~OMLibrary()
{

}

void OMLibrary::setMember(int id,OMMember& member,MJITehai* pTehai,int agarihai)
{
    UINT i,j;
    m_iId = id;
    m_player = member.m_player;
    m_gamestate = member.m_gamestate;
    m_gamestate.m_aNakiList.clear();

    if(pTehai != NULL){
        for(i=0;i<pTehai->tehai_max;i++){
            OMPai pai;
            pai.set(pTehai->tehai[i]);
            m_aTehai.append(pai);
        }

        for(i=0;i<pTehai->minshun_max;i++){
            OMNakiMentsu nakimentsu;
            nakimentsu.m_iAite = 3;
            nakimentsu.m_iCategory = MENTSU_SYUNTSU;
            for(j=0;j<3;j++){
                OMPai pai;
                pai.set(pTehai->minshun[i] + j);
                nakimentsu.m_aPaiList.append(pai);
            }

            m_gamestate.m_aNakiList.append(nakimentsu);
        }

        for(i=0;i<pTehai->minkou_max;i++){
            OMNakiMentsu nakimentsu;
            nakimentsu.m_iAite = 3;
            nakimentsu.m_iCategory = MENTSU_KOUTSU;
            for(j=0;j<3;j++){
                OMPai pai;
                pai.set(pTehai->minkou[i]);
                nakimentsu.m_aPaiList.append(pai);
            }
            m_gamestate.m_aNakiList.append(nakimentsu);
        }

        for(i=0;i<pTehai->minkan_max;i++){
            OMNakiMentsu nakimentsu;
            nakimentsu.m_iAite = 3;
            nakimentsu.m_iCategory = MENTSU_MINKAN;
            for(j=0;j<4;j++){
                OMPai pai;
                pai.set(pTehai->minkan[i]);
                nakimentsu.m_aPaiList.append(pai);
            }
            m_gamestate.m_aNakiList.append(nakimentsu);
        }

        for(i=0;i<pTehai->ankan_max;i++){
            OMNakiMentsu nakimentsu;
            nakimentsu.m_iAite = 3;
            nakimentsu.m_iCategory = MENTSU_ANKAN;
            for(j=0;j<4;j++){
                OMPai pai;
                pai.set(pTehai->ankan[i]);
                nakimentsu.m_aPaiList.append(pai);
            }
            m_gamestate.m_aNakiList.append(nakimentsu);
        }
    }

    if(agarihai >= 0){
        m_agarihai.set((UINT)agarihai);
    }

}

