|
-
- local MJDefine=MJFramework.MJImport("mj.luaScript.MJDefine")
- local MJ=MJFramework.MJImport("mj.luaScript.Views.Game.MJ")
- local yibinmajiangFlowView = class("yibinmajiangFlowView", cc.UIView);
-
- function yibinmajiangFlowView:ctor(data, desktopType)
- yibinmajiangFlowView.super.ctor(self);
- self.desktopType = MJDefine.DesktopType.TwoD;
- self.data = data or {};
- end
-
- function yibinmajiangFlowView:loadUI( )
- local ui = loadUI("mj_yibinmajiang/res/ui_fangjian/mj_yibinmajiang_flow.ui");
- self.ui = ui;
- self:addChild(ui);
- end
-
- function yibinmajiangFlowView:onEnter( )
- self:loadUI();
-
- self:initViews();
-
- self:initFlowView(self.data.detail);
-
- self:bindEvent(app.room, MJDefine.MJEvent.EVENT_XIAOJU_VIEW_SHOWED, handler(self, self.onEventXiaoJuViewShowed));
- self:bindEvent(app.room, MJDefine.MJEvent.EVENT_DAJU_VIEW_SHOWED, handler(self, self.onEventXiaoJuViewShowed));
- end
-
- function yibinmajiangFlowView:onEventXiaoJuViewShowed( )
- self:onBtnCloseClicked();
- end
-
- function yibinmajiangFlowView:initViews ()
- self.ui.Items.Button_Close:registerClick(handler(self, self.onBtnCloseClicked));
-
- self.ui.Items.ScrollView_Detail:hideAllBar();
-
- self.ui.Items.Layout_1:setTouchEnabled(true);
- end
-
- function yibinmajiangFlowView:createItem(data)
- local ui = loadUI("mj_yibinmajiang/res/ui_fangjian/mj_yibinmajiang_flow_item.ui");
- ui.Items.ScrollView_ItemDetail:hideAllBar();
- ui.Items.Text_Detail:setString(data.title or "");
- ui.Items.Text_HuFen:setString(data.huFen or 0);
- local color = data.huFen >= 0 and cc.c3b(235,72,15) or cc.c3b(113,113,113);
- ui.Items.Text_HuFen:setColor(color);
-
- ui.Items.Text_YuFen:setString(data.yuFen or 0);
- local color = data.yuFen >= 0 and cc.c3b(235,72,15) or cc.c3b(113,113,113);
- ui.Items.Text_YuFen:setColor(color);
-
- local mj = MJ:new(data.card, MJDefine.MJType.Out, MJDefine.MyViewId, self.desktopType);
- mj:setAnchorPoint(cc.p(0.5, 0.5));
- mj:setPositionY(25);
- mj:setScale(0.80);
- ui.Items.Layout_HuCard:addChild(mj);
-
- local nodes = {};
- for k, v in ipairs(data.seats) do
- if v and v ~= "" then
- local viewOrder = tonumber(v) + 1;
- local img = cc.ImageView:create();
- nodes[viewOrder] = img;
- end
- end
-
- local index = 0;
- for viewOrder, v in pairs(nodes) do
- index = index + 1;
- v:loadTexture(string.format("mj_yibinmajiang/res/zy_fangjian/player/yibinmajiang_seat_%s.png", viewOrder));
- v:setPosition(cc.p((index - 1) * 30 - (table.nums(data.seats) - 1) * 30 / 2 + 15, 25));
- ui.Items.Layout_Seats:addChild(v);
- end
- return ui;
- end
-
- function yibinmajiangFlowView:getOperateType(operateType)
- local operateTypeName ={
- [MJDefine.MJOperateType.OPREATE_CHUPAI] = "出牌",
- [MJDefine.MJOperateType.OPREATE_CHI] = "吃",
- [MJDefine.MJOperateType.OPREATE_PENG] = "碰",
- [MJDefine.MJOperateType.OPREATE_ZHIGANG] = "直杠",
- [MJDefine.MJOperateType.OPREATE_BAGANG] = "巴杠",
- [MJDefine.MJOperateType.OPREATE_ANGANG] = "暗杠",
- [MJDefine.MJOperateType.OPREATE_DIANPAOHU] = "点炮胡",
- [MJDefine.MJOperateType.OPREATE_ZIMOHU] = "自摸",
- [MJDefine.MJOperateType.OPREATE_GUOSHOUGANG] = "过手杠",
- [0] = "查叫",
- }
- return operateTypeName[operateType] or "";
- end
-
- function yibinmajiangFlowView:getPaiType( paiType )
-
- local str = "";
- for k, v in pairs(MJDefine.MJGamePaiType) do
- if getNumBand(paiType, v) > 0 then
- str = str .. " " .. MJDefine.MJGameHuStr[v];
- end
- end
-
- return str or "";
- end
-
- function yibinmajiangFlowView:getItemTitle (itemData)
- local strDuoGang = "多头";
- local duogang =json.decode(app.room.roomInfo:getGameRuleByKey("duogang"));
- if duogang == 1 then
- strDuoGang = "多头杠";
- elseif duogang == 2 then
- strDuoGang = "多头";
- end
- local opType = self:getOperateType(itemData.ot) or "";
- local paiType = self:getPaiType(itemData.ht) or "";
- local gangType = tonumber(itemData.gf) > 0 and string.format("%s+%s番", strDuoGang, itemData.gf) or "";
- return string.format("%s %s %s", opType, paiType, gangType);
- end
-
- function yibinmajiangFlowView:initFlowView( data )
- local scrollView = self.ui.Items.ScrollView_Detail;
- -- scrollView:removeAllChildren();
- local result = {};
- -- gs: 杠分 hs: 胡分 ht: 胡牌类型(自摸or点炮)可能要修改 gf: 杠番 ls: 萝卜分 ot: 操作类型,胡or 杠等 seat: 本次收费的座位id,多个;分割
- for k, v in ipairs(data) do
- local obj = {};
- obj.title = self:getItemTitle(v);
- obj.card = v.oc or 0;
- obj.huFen = v.hs;
- obj.yuFen = v.gs;
- obj.seats = string.split(v.seat, ";");
- table.insert(result, obj);
- end
-
- for k, v in ipairs(result) do
- local ui = self:createItem(v);
- scrollView:addChild(ui);
- end
-
- local size = scrollView:getContentSize();
- size.height = 70 * table.nums(result);
- scrollView:setInnerContainerSize(size);
- end
-
- function yibinmajiangFlowView:onBtnCloseClicked( )
- self:removeFromParent();
- self = nil;
- end
-
- return yibinmajiangFlowView;
|