Exemple #1
0
    void UpdateTigerResp(TigerResp tigerResp)
    {
        // 结束计时
        //long elapse = m_clerk.End();
        m_clerk.SeqNo = 0;
        ////test
        //{
        //    tigerResp.Pos.Clear();
        //    tigerResp.Pos.Add(4);
        //    tigerResp.Pos.Add(1);
        //    tigerResp.Pos.Add(4);
        //    tigerResp.Pos.Add(4);
        //    tigerResp.Pos.Add(2);

        //    tigerResp.Bonus.Clear();
        //    TigerBonus item = new TigerBonus();
        //    item.Pattern = 2;
        //    item.Type = 1;
        //    item.Data1 = 2;

        //    tigerResp.Bonus.Add(item);
        //    tigerResp.Current.Gold = 2004810;

        //}

        // 本地减金币先
        m_clerk.Gold -= m_clerk.Bet * m_clerk.Lines;

        // 滚动开始
        PlayAudio(Constants.Audio.Audio_ReelRolling);
        for (int i = 0; i < tigerResp.Pos.Count; ++i)
        {
            int      pos  = tigerResp.Pos[i];
            string   name = "reel" + (i + 1).ToString();
            SlotReel reel = GameObject.Find(name).GetComponent <SlotReel>();
            //DebugConsole.Log("pos" + i.ToString() + ":" + pos.ToString());

            if (i == tigerResp.Pos.Count - 1)
            {
                if (null == tigerResp.Bonus)
                {
                    DialogBase.Show("MESSAGE", "null == tigerResp.Bonus");
                }
                reel.Spin(pos + 2, tigerResp.Bonus);
            }
            else
            {
                reel.Spin(pos + 2, null);
            }
        }

        // 中奖效果在Reel中滞后实现
    }
Exemple #2
0
    public void Execute(ProtoPacket packet)
    {
        ProtoNet.WriteLog("handle cmd from server:" + packet.cmdId);
        switch (packet.cmdId)
        {
        case Constants.Tiger_QuickLoginInfo:    // QuickLoginInfo返回
        {
            TigerUserInfo usrInfo = (TigerUserInfo)packet.proto;

            /*
             * SlotClientNet.WriteLog("Recv proto packet[UserInfo]:\nid=" +
             *  usrInfo.user_id + "\ngold=" + usrInfo.gold);
             */
            UpdateUserInfo(usrInfo);
        }
        break;

        case Constants.Tiger_Spin:
        {
            TigerResp tigerResp = (TigerResp)packet.proto;

            /*
             * SlotClientNet.WriteLog("Recv proto packet[TigerResp]:\ntiger_no=" +
             *  tigerResp.tiger_no +
             *  "\nseq_no=" + tigerResp.seq_no +
             *  "\npos=" + tigerResp.pos.ToString() +
             *  "\nbonus=" + tigerResp.bonus +
             *  "\npos=" + tigerResp.pos);*/

            UpdateTigerResp(tigerResp);
        }
        break;

        case Constants.Reconnect:
        {
            if (packet.msgId == 1)
            {
                ProtoNet.WriteLog("Reconnecting...");
                // 3s后Display中重连
                m_clerk.Net.CheckReconnect(3);
            }
            else if (packet.msgId == 2)
            {
                ProtoNet.WriteLog("Reconnecting successfully.");
            }
            else
            {
                ProtoNet.WriteLog("Reconnecting successfully:" + packet.msgId);
            }
        }
        break;

        case Constants.Error:
        {
            ProtoNet.WriteLog("Reconnecting...");
        }
        break;

        default:
            ProtoNet.WriteLog("Unknown send cmd");
            break;
        }
    }