package extend.mj.player.state;

import java.util.Map.Entry;

import com.game.ActionEvent;
import com.taurus.core.entity.ITObject;

import extend.mj.EXActionEvent;
import extend.mj.EXPlayer;
import extend.mj.RuleWeight;
import extend.mj.tip.Tip;

/**
 * 
 */
public class EXPlayerDisCardTipState extends EXPlayerTipState {

	@Override
	public void enter(EXPlayer owner) {
		owner.getRoom().tipMap.put(owner.playerid, owner.tipMgr);
		super.enter(owner);

	}

	@Override
	public void exit(EXPlayer owner) {
		super.exit(owner);
		owner.getRoom().tipMap.remove(owner.playerid);

	}

	@Override
	protected void _action(EXPlayer owner, int id, int gid) {
		for (Entry<Integer, Tip> entry : owner.tipMgr.tipMap.entrySet()) {
			Tip tip = entry.getValue();
			if (tip.type == RuleWeight.TYPE_WIN) {
				id = tip.id;
				break;
			}
		}
		owner.tipMgr.choicAction(id);
	}

	@Override
	public void execute(EXPlayer owner, String cmd, int gid, Object param) {
		super.execute(owner, cmd, gid, param);
		if (cmd.equals(EXActionEvent.EVENT_ACTION)) {
			ITObject netParam = (ITObject) param;
			int id = netParam.getInt("id");
			owner.tipMgr.choicAction(id);
		} else if (cmd.equals(ActionEvent.EVENT_TIMER_AUTO)) {
			_action(owner, 0, 0);
		}

	}

}
