コード例 #1
0
        public static string GetDescription(this GameKind value)
        {
            Type                 enumType      = typeof(GameKind);
            FieldInfo            enumFieldInfo = enumType.GetField(value.ToString());
            DescriptionAttribute attribute     = (DescriptionAttribute)DescriptionAttribute.GetCustomAttribute(enumFieldInfo, typeof(DescriptionAttribute));

            return(attribute.Description);
        }
コード例 #2
0
        // void COM_InitArgv (int argc, char **argv)
        public void InitArgv(String[] argv)
        {
            CommandLine.InitArgv(argv);

            _GameKind = GameKind.StandardQuake;

            if (CommandLine.HasParam("-rogue"))
            {
                _GameKind = GameKind.Rogue;
            }

            if (CommandLine.HasParam("-hipnotic"))
            {
                _GameKind = GameKind.Hipnotic;
            }
        }
コード例 #3
0
    public void ShowBuyItemIcon(int itemindex)
    {
        if (itemindex >= 40000 && itemindex < 50000)
        {
            GameKind.AddFlag((int)itemindex - 40000, ref GameMain.hall_.GetPlayerData().newcomerGift);

            int uiindex = itemindex - 39999;
            if (uiindex == 1)
            {
                uiindex = 4;
            }
            else
            {
                uiindex -= 1;
            }

            if (newcomerobj == null)
            {
                return;
            }

            GameObject newBG     = newcomerobj.transform.Find("ImageBG").gameObject;
            string     name      = "discounts_" + uiindex.ToString();
            GameObject buybutton = newBG.transform.Find(name).Find("ImageBG").Find("Image_bought").gameObject;
            buybutton.SetActive(true);

            ShowGiftButtons(true);
        }
        if (itemindex >= 50000 && itemindex < 60000)
        {
            GameKind.AddFlag((int)itemindex - 50000, ref GameMain.hall_.GetPlayerData().discountsGift);

            if (discountobj == null)
            {
                return;
            }

            GameObject buttonBG = discountobj.transform.Find("ImageBG").Find("LeftButton").
                                  Find("ImageViewport").Find("Content").gameObject;
            string name           = "Button_" + ((int)currentDiscountItem - 49999).ToString();
            Image  discountButton = buttonBG.transform.Find(name).gameObject.GetComponent <Image>();
            discountButton.sprite = buyIcon;

            ShowGiftButtons(false);
        }
    }
コード例 #4
0
    void OnBuyNewComer(EventTriggerType eventtype, object button, PointerEventData eventData)
    {
        if (eventtype == EventTriggerType.PointerUp)
        {
            uint ui2csvindex = (uint)button;
            if (ui2csvindex == 4)
            {
                ui2csvindex = 0;
            }
            currentNewComerItem = ui2csvindex + 40000;
            int  newcomerInfo = GameMain.hall_.GetPlayerData().newcomerGift;
            bool isbuy        = GameKind.HasFlag((int)currentNewComerItem - 40000, newcomerInfo);
            if (isbuy)
            {
                CCustomDialog.OpenCustomConfirmUI(1109);
                return;
            }
            else
            {
                if ((int)currentNewComerItem - 40000 == 0)
                {
                    bool buyother1 = GameKind.HasFlag(1, newcomerInfo);
                    bool buyother2 = GameKind.HasFlag(2, newcomerInfo);
                    bool buyother3 = GameKind.HasFlag(3, newcomerInfo);
                    if (buyother1 || buyother2 || buyother3)
                    {
                        CCustomDialog.OpenCustomConfirmUI(1109);
                        return;
                    }
                }
                else
                {
                    bool buyother4 = GameKind.HasFlag(0, newcomerInfo);
                    if (buyother4)
                    {
                        CCustomDialog.OpenCustomConfirmUI(1109);
                        return;
                    }
                }

                DoBuyByItemID(currentNewComerItem);
            }
        }
    }
コード例 #5
0
    void ShowNewComer()
    {
        AssetBundle bundle = AssetBundleManager.GetAssetBundle(GameDefine.HallAssetbundleName);

        if (bundle == null)
        {
            return;
        }

        if (newcomerobj == null)
        {
            UnityEngine.Object obj0 = (GameObject)bundle.LoadAsset("Activity_newcomer");
            newcomerobj = (GameObject)GameMain.instantiate(obj0);
            newcomerobj.transform.SetParent(CanvasObj.transform, false);

            InitNewComer();
            InitNewcomerCloseButton();

            GameObject newBG = newcomerobj.transform.Find("ImageBG").gameObject;
            for (GameCity.NewHand_Gift index = GameCity.NewHand_Gift.NewHand_ThreeOne; index < GameCity.NewHand_Gift.NewHand_Max; index++)
            {
                bool isbuy = GameKind.HasFlag((int)index, GameMain.hall_.GetPlayerData().newcomerGift);
                if (isbuy)
                {
                    int nameindex = (int)index + 1;
                    if (nameindex == 1)
                    {
                        nameindex = 4;
                    }
                    else
                    {
                        nameindex -= 1;
                    }

                    string     name      = "discounts_" + nameindex.ToString();
                    GameObject buybutton = newBG.transform.Find(name).Find("ImageBG").Find("Image_bought").gameObject;
                    buybutton.SetActive(true);
                }
            }
        }

        newcomerobj.SetActive(true);
    }
コード例 #6
0
    void StartShowDiscountPanel()
    {
        if (!isShowDiscounts)
        {
            return;
        }

        bool isShow = false;

        for (GameCity.Benefit_Gift index = GameCity.Benefit_Gift.Benefit_68; index < GameCity.Benefit_Gift.Benefit_Max; index++)
        {
            bool isbuy = GameKind.HasFlag((int)index, GameMain.hall_.GetPlayerData().discountsGift);
            isShow = !isbuy;
        }

        if (isShow)
        {
            ShowDiscount();
        }
    }
コード例 #7
0
    void OnBuyDiscounts(EventTriggerType eventtype, object button, PointerEventData eventData)
    {
        if (eventtype == EventTriggerType.PointerUp)
        {
            GameObject buttonBuy = discountobj.transform.Find("ImageBG").Find("goodsinfo").Find("Button_buy").gameObject;
            Text       buyTX     = buttonBuy.transform.Find("Text").gameObject.GetComponent <Text>();
            buyTX.text = "购买";

            int  discountInfo = GameMain.hall_.GetPlayerData().discountsGift;
            bool isbuy        = GameKind.HasFlag((int)currentDiscountItem - 50000, discountInfo);
            if (isbuy)
            {
                CCustomDialog.OpenCustomConfirmUI(1110);
                return;
            }
            else
            {
                DoBuyByItemID(currentDiscountItem);
            }
        }
    }
コード例 #8
0
    public static void COM_InitArgv(string[] argv)
    {
        // reconstitute the command line for the cmdline externally visible cvar
        com_cmdline = String.Join(" ", argv);
        com_argv    = new string[argv.Length];
        argv.CopyTo(com_argv, 0);

        bool safe = false;

        foreach (string arg in com_argv)
        {
            if (arg == "-safe")
            {
                safe = true;
                break;
            }
        }

        if (safe)
        {
            // force all the safe-mode switches. Note that we reserved extra space in
            // case we need to add these, so we don't need an overflow check
            string[] largv = new string[com_argv.Length + q_shared.safeargvs.Length];
            com_argv.CopyTo(largv, 0);
            q_shared.safeargvs.CopyTo(largv, com_argv.Length);
            com_argv = largv;
        }

        _GameKind = GameKind.StandardQuake;

        if (HasParam("-rogue"))
        {
            _GameKind = GameKind.Rogue;
        }

        if (HasParam("-hipnotic"))
        {
            _GameKind = GameKind.Hipnotic;
        }
    }
コード例 #9
0
    void ShowDiscount()
    {
        AssetBundle bundle = AssetBundleManager.GetAssetBundle(GameDefine.HallAssetbundleName);

        if (bundle == null)
        {
            return;
        }

        if (discountobj == null)
        {
            UnityEngine.Object obj0 = (GameObject)bundle.LoadAsset("Activity_discounts");
            discountobj = (GameObject)GameMain.instantiate(obj0);
            discountobj.transform.SetParent(CanvasObj.transform, false);

            InitDiscount();
            InitDiscountCloseButton();
            PlayAnimatorByIndex(1);
        }

        discountobj.SetActive(true);

        GameObject buttonBG = discountobj.transform.Find("ImageBG").Find("LeftButton").
                              Find("ImageViewport").Find("Content").gameObject;

        for (GameCity.Benefit_Gift index = GameCity.Benefit_Gift.Benefit_68; index < GameCity.Benefit_Gift.Benefit_Max; index++)
        {
            bool isbuy = GameKind.HasFlag((int)index, GameMain.hall_.GetPlayerData().discountsGift);
            if (isbuy)
            {
                string name   = "Button_" + ((int)index + 1).ToString();
                Image  button = buttonBG.transform.Find(name).gameObject.GetComponent <Image>();
                button.sprite = buyIcon;
            }
        }

        isStartShow = false;
    }
コード例 #10
0
        void NewGame(GameKind gameKind)
        {
            this.gameKind = gameKind;

            GameBoard gameBoard = GameBoard;

            gameBoard.NewGame();

            dotsBoard.Visible = false;
            tttBoard.Visible  = false;
            c4Board.Visible   = false;

            UserControl gameBoardControl = GameBoard as UserControl;

            gameBoardControl.Visible = true;

            var width  = gameBoardControl.ClientSize.Width;
            var height = gameBoardControl.Height + 50;

            ClientSize = new Size(width, height);

            Refresh();
        }
コード例 #11
0
    bool IsShowNewComer()
    {
        bool isShow      = false;
        bool isShowThree = false;

        for (GameCity.NewHand_Gift index = GameCity.NewHand_Gift.NewHand_6; index < GameCity.NewHand_Gift.NewHand_Max; index++)
        {
            bool isbuythree = GameKind.HasFlag((int)index, GameMain.hall_.GetPlayerData().newcomerGift);
            isShowThree = !isbuythree;
            if (isShowThree)
            {
                break;
            }
        }

        bool isShowOne = false;
        bool isbuyone  = GameKind.HasFlag((int)GameCity.NewHand_Gift.NewHand_ThreeOne, GameMain.hall_.GetPlayerData().newcomerGift);

        isShowOne = !isbuyone;

        isShow = isShowThree && isShowOne;

        return(isShow);
    }
コード例 #12
0
    void SetupWeekSign(int type = 0)//type 0:all 1:signIn 2:weekAdd
    {
        AssetBundle bundle     = AssetBundleManager.GetAssetBundle(GameDefine.HallAssetbundleName);
        PlayerData  playerdata = GameMain.hall_.GetPlayerData();
        Transform   tfm;

        UnityEngine.Object effectObj;
        GameObject         effect;
        Transform          childTfm;
        bool received;

        if (type == 0 || type == 1)
        {
            m_nSignState = 0;

            tfm = SignInTfm.Find("ImageBG/checkin_everyday");
            int       index       = 0;
            DateTime  currentTime = DateTime.Now;
            DayOfWeek weekday     = currentTime.DayOfWeek;
            int       day         = (weekday == DayOfWeek.Sunday) ? 7 : (int)weekday;
            foreach (Transform child in tfm)
            {
                received = GameKind.HasFlag(++index, playerdata.weekSign);
                child.Find("IconBuy").gameObject.SetActive(received);
                childTfm = child.Find("Anime");
                foreach (Transform ch in childTfm)
                {
                    GameObject.Destroy(ch.gameObject);
                }

                if (!received && index == day)
                {
                    effectObj = (GameObject)bundle.LoadAsset("Anime_Actchoose");
                    effect    = ((GameObject)GameMain.instantiate(effectObj));
                    effect.transform.SetParent(childTfm, false);
                    m_nSignState = 1;
                }
            }
        }

        if (type == 0 || type == 2)
        {
            m_nWeekAddState = 0;

            tfm = SignInTfm.Find("ImageBG/checkin_cumulative");
            tfm.Find("ImageBG/ImageStrip").GetComponent <Image>().fillAmount = playerdata.weekAdd / 7f;
            int[] weekAddWard = new int[] { 3, 5, 7 };
            for (int i = 0; i < 3; i++)
            {
                received = GameKind.HasFlag(i, playerdata.addUpWard);
                Transform child = tfm.Find("gift_" + (i + 1));
                child.Find("IconBuy").gameObject.SetActive(received);
                child.Find("Imageicon").gameObject.SetActive(false);
                childTfm = child.Find("Anime");
                foreach (Transform ch in childTfm)
                {
                    GameObject.Destroy(ch.gameObject);
                }
                if (!received)
                {
                    if (weekAddWard[i] <= playerdata.weekAdd)
                    {
                        effectObj = (GameObject)bundle.LoadAsset("Anime_checkin_box");
                        effect    = ((GameObject)GameMain.instantiate(effectObj));
                        effect.transform.SetParent(childTfm, false);
                        m_nWeekAddState++;
                    }
                    else
                    {
                        child.Find("Imageicon").gameObject.SetActive(true);
                    }
                }
            }
        }

        SignInTfm.Find("ImageBG/Button_get").GetComponent <Button>().interactable = (m_nSignState > 0 || m_nWeekAddState > 0);
    }
コード例 #13
0
    /// <summary>
    /// 获得约据游戏自定义规则。
    /// </summary>
    /// <param name="RuleTextData">游戏规则</param>
    /// <param name="GameID">游戏ID</param>
    public static void  GetAppointmentRuleTextData(ref string RuleTextData, GameKind_Enum GameID)
    {
        AppointmentData data = AppointmentDataManager.AppointmentDataInstance().GetCurrentAppointment();

        RuleTextData = "";
        if (data == null)
        {
            return;
        }

        if (GameID == GameKind_Enum.GameKind_LandLords)
        {
            if (data.maxpower == 250)
            {
                RuleTextData = "打" + data.playtimes.ToString() + "局 不封顶";
            }
            else
            {
                RuleTextData = "打" + data.playtimes.ToString() + "局 最高" + data.maxpower + "倍";
            }
        }
        else if (GameID == GameKind_Enum.GameKind_GuanDan)
        {
            GuanDanAppointmentData appointmentData = (GuanDanAppointmentData)data;
            if (appointmentData.terData_.playType == TePlayType.Times)
            {
                if (appointmentData.terData_.cp == CurrentPoker.Two)
                {
                    RuleTextData = "打" + appointmentData.terData_.times.ToString() + "局 双下" + appointmentData.terData_.score.ToString() + "分 打2";
                }
                else
                {
                    RuleTextData = "打" + appointmentData.terData_.times.ToString() + "局 双下" + appointmentData.terData_.score.ToString() + "分 随机打";
                }
            }

            else
            {
                if (appointmentData.terData_.vectory == 1)
                {
                    RuleTextData = "连续打 过A胜利";
                }
                else
                {
                    RuleTextData = "连续打 过" + appointmentData.terData_.vectory.ToString() + "胜利";
                }
            }
        }
        else if (GameID == GameKind_Enum.GameKind_Mahjong ||
                 GameID == GameKind_Enum.GameKind_YcMahjong ||
                 GameID == GameKind_Enum.GameKind_CzMahjong)
        {
            if (data.maxpower == 250 || data.maxpower == 0)
            {
                RuleTextData = "打" + data.playtimes.ToString() + "局 不封顶";
            }
            else
            {
                RuleTextData = "打" + data.playtimes.ToString() + "局 最高" + data.maxpower + "倍";
            }

            if (GameID == GameKind_Enum.GameKind_Mahjong)
            {
                MahjongAppointmentData mahjongData = (MahjongAppointmentData)data;
                RuleTextData += GameKind.HasFlag(0, mahjongData.palyType) ? "\n自摸加底" : "\n自摸加翻";
                RuleTextData += GameKind.HasFlag(1, mahjongData.palyType) ? "\n点杠花(点炮)\n" : "\n点杠花(自摸)\n";
                RuleTextData += GameKind.HasFlag(2, mahjongData.palyType) ? " 幺九将对" : "";
                RuleTextData += GameKind.HasFlag(3, mahjongData.palyType) ? " 门清中张" : "";
                RuleTextData += GameKind.HasFlag(4, mahjongData.palyType) ? " 天地胡" : "";
            }
            else if (GameID == GameKind_Enum.GameKind_CzMahjong)
            {
                CzMahjongAppointmentData mahjongData = (CzMahjongAppointmentData)data;

                RuleTextData += "\n";
                string[] wanFaName = { "包三口", " 包四口", " 擦背", " 吃" };
                for (int index = 0; index < 4; ++index)
                {
                    if (GameKind.HasFlag(index, mahjongData.wanFa))
                    {
                        RuleTextData += wanFaName[index];
                    }
                }

                string[] qiHuName = { "", "\n一番起胡", "\n硬一番起胡", "\n3花起胡", "\n4花起胡" };

                RuleTextData += qiHuName.Count() > 5 ? "" : qiHuName[mahjongData.qiHu];
                RuleTextData += "\n" + mahjongData.diHua + "底花";
            }
        }
        else if (GameID == GameKind_Enum.GameKind_GouJi)
        {
            GoujiAppointmentData gouJiData = (GoujiAppointmentData)(data);
            RuleTextData = "打" + gouJiData.playtimes.ToString() + "局 \n";
            string[] wanFaName = { "宣点\n", "开点发4\n", "憋三\n", "大王二杀一\n", "进贡\n" };
            for (int index = 0; index < 5; ++index)
            {
                if (GameKind.HasFlag(index, gouJiData.wanFa))
                {
                    RuleTextData += wanFaName[index];
                }
            }
        }
        else if (GameID == GameKind_Enum.GameKind_HongZhong)
        {
            HzMahjongAppointmentData mahjongData = (HzMahjongAppointmentData)(data);
            RuleTextData = "打" + mahjongData.playtimes.ToString() + "局 \n" + "抓鸟" + mahjongData.birdNum + "张 \n";
            string[] wanFaName = { "红中是赖子\n", "可以点炮\n", };
            for (int index = 0; index < 2; ++index)
            {
                if (GameKind.HasFlag(index, mahjongData.wanFa))
                {
                    RuleTextData += wanFaName[index];
                }
            }
        }
        else if (GameID == GameKind_Enum.GameKind_Chess)
        {
            ChessAppointmentData chessData = (ChessAppointmentData)(data);
            RuleTextData = "打" + chessData.playtimes.ToString() + "局 局时 " + chessData.ChessTime + "分";
        }
    }
コード例 #14
0
        private void UpdateDisplay()
        {
            if (current_game != Setting.param.Kind ||
                current_quality != Setting.param.Quality ||
                current_resolution != Setting.param.Resolution)
            {
                // ------------------------------
                // Change mesh resolution
                // ------------------------------
                int div;
                switch (Setting.param.Quality)
                {
                case 1:
                    div = 30;
                    break;

                case 2:
                    div = 60;
                    break;

                case 3:
                default:
                    div = 90;
                    break;
                }
                double SamplingInterval = Math.PI / div;
                UpdateMeshResolution((short)(1 << Setting.param.Resolution), SamplingInterval);

                // ------------------------------
                // Create game rule
                // ------------------------------
                if (Setting.param.Kind == GameKind.GAMEKIND_OTHELLO)
                {
                    rule = new RuleOthello(pixelization);
                }
                else
                {
                    rule = new RuleIgo(pixelization);
                }
                Title = rule.GetName();

                // ------------------------------
                // Remove all pieces
                // ------------------------------
                PieceArray2D = new UIElement[rule.GetMaxIndex()];
                PieceArray3D = new Visual3D[rule.GetMaxIndex()];
                canvas_projection_piece.Children.Clear();
                PieceContainer.Children.Clear();

                TerritoryArray2D = new UIElement[rule.GetMaxIndex()];
                TerritoryArray3D = new Visual3D[rule.GetMaxIndex()];
                canvas_projection_territory.Children.Clear();
                TerritoryContainer.Children.Clear();

                // ------------------------------
                // Select UI panel
                // ------------------------------
#if false
                UserInterfaceArea.Children.Clear();
                if (Setting.param.Kind == GameKind.GAMEKIND_IGO)
                {
                    ConsoleIgo control = new ConsoleIgo();
                    UserInterfaceArea.Children.Add(control);
                    UserInterface = control;
                }
                else
                {
                    ConsoleOthello control = new ConsoleOthello();
                    UserInterfaceArea.Children.Add(control);
                    UserInterface = control;
                }
#else
                if (Setting.param.Kind == GameKind.GAMEKIND_IGO)
                {
                    UserInterface         = PanelIgo;
                    TabItemIgo.IsSelected = true;
                }
                else
                {
                    UserInterface             = PanelOthello;
                    TabItemOthello.IsSelected = true;
                }
#endif
                UserInterface.SetOnConfigurationsChanged(delegate(object sender, System.EventArgs e) { UpdateDisplay(); });
                UserInterface.SetGameRule(rule);

                // ------------------------------
                // Prepare initial piece arrangements
                // ------------------------------
                rule.SetPieceManipulator(ManipulatePiece);
                rule.SetInitialPieces();

                // ------------------------------
                // Remember current settings
                // ------------------------------
                current_resolution = Setting.param.Resolution;
                current_quality    = Setting.param.Quality;
                current_game       = Setting.param.Kind;
            }

            SphereMaterial.Brush = new SolidColorBrush(Setting.param.ForeColor);
            MapBase.Fill         = SphereMaterial.Brush;
        }
コード例 #15
0
    bool BackMailData(uint _msgType, UMessage msg)
    {
        byte length = msg.ReadByte();

        EmailDataManager.GetNewsInstance().emilsdata_.Clear();
        for (int index = 0; index < length; index++)
        {
            EmailData data = new EmailData();

            data.emailid  = msg.ReadUInt();
            data.hasread  = msg.ReadByte();
            data.sendid   = msg.ReadUInt();
            data.sendName = msg.ReadString();
            uint emailtime = msg.ReadUInt();
            data.rewardSorce      = (MailFrom_Enum)msg.ReadByte();
            data.sorceID          = msg.ReadUInt();
            data.contestSort      = msg.ReaduShort();
            data.titleid          = msg.ReadUInt();
            data.contentID        = msg.ReadUInt();
            data.specialDiscript1 = msg.ReadString();
            data.specialDiscript2 = msg.ReadString();

            data.gamekind = msg.ReadByte();

            data.emailname = CCsvDataManager.Instance.TipsDataMgr.GetTipsData(data.titleid).TipsText;
            TipsData tdata = CCsvDataManager.Instance.TipsDataMgr.GetTipsData(data.contentID);

            byte flag = msg.ReadByte();
            if (GameKind.HasFlag(0, flag))
            {
                data.masterReward = msg.ReadSingle();
            }
            if (GameKind.HasFlag(1, flag))
            {
                data.diamondReward = msg.ReadUInt();
            }
            if (GameKind.HasFlag(2, flag))
            {
                data.coinReward = msg.ReadUInt();
            }

            for (int itemindex = 3; itemindex < 6; itemindex++)
            {
                if (GameKind.HasFlag(itemindex, flag))
                {
                    Item item = new Item();
                    item.itemid     = msg.ReaduShort();
                    item.itemNumber = msg.ReadByte();
                    data.emailitems.Add(item);
                }
            }

            if (GameKind.HasFlag(6, flag))
            {
                data.redbag = msg.ReadSingle();
            }

            if (data.rewardSorce == MailFrom_Enum.MailFrom_Contest)
            {
                int starttime = 0;
                int.TryParse(data.specialDiscript1, out starttime);

                System.DateTime stsdt       = GameCommon.ConvertLongToDateTime(starttime);
                string          contenttime = stsdt.ToString("yyyy年MM月dd日HH:mm");

                System.DateTime sdt = GameCommon.ConvertLongToDateTime(emailtime);
                data.emailtime = sdt.ToString("yyyy年MM月dd日HH:mm");

                string rewardcontent = "";
                if (GameKind.HasFlag(0, flag))
                {
                    rewardcontent += "大师分:" + data.masterReward.ToString();
                }
                if (GameKind.HasFlag(6, flag))
                {
                    rewardcontent += " 现金红包:" + data.redbag.ToString() + "元";
                }
                if (GameKind.HasFlag(1, flag) || GameKind.HasFlag(2, flag))
                {
                    rewardcontent += " 钻石:" + (data.diamondReward + data.coinReward).ToString();
                }

                object[] args = { contenttime, "<color=#FF8C00>" + data.specialDiscript2 + "</color>", data.contestSort, rewardcontent };

                string formatcontent = string.Format(tdata.TipsText, args);
                data.infomation = formatcontent;
            }
            else if (data.rewardSorce == MailFrom_Enum.MailFrom_MomentsKick)
            {
                System.DateTime sdt = GameCommon.ConvertLongToDateTime(emailtime);
                data.emailtime = sdt.ToString("yyyy年MM月dd日HH:mm");

                object[] args = { data.specialDiscript1 };

                string formatcontent = string.Format(tdata.TipsText, args);
                data.infomation = formatcontent;
            }
            else if (data.rewardSorce == MailFrom_Enum.MailFrom_ContestCutCreditScore)
            {
                int starttime = 0;
                int.TryParse(data.specialDiscript1, out starttime);

                System.DateTime stsdt       = GameCommon.ConvertLongToDateTime(starttime);
                string          contenttime = stsdt.ToString("yyyy年MM月dd日HH:mm");

                System.DateTime sdt = GameCommon.ConvertLongToDateTime(emailtime);
                data.emailtime = sdt.ToString("yyyy年MM月dd日HH:mm");

                object[] args = { contenttime, "<color=#FF8C00>" + data.specialDiscript2 + "</color>" };

                string formatcontent = string.Format(tdata.TipsText, args);
                data.infomation = formatcontent;
            }

            //if (data.emailitems.Count == 0 || (data.masterReward == 0 && data.diamondReward == 0 && data.coinReward == 0))
            if (GameKind.HasFlag(3, flag) || GameKind.HasFlag(4, flag) ||
                GameKind.HasFlag(5, flag))
            {
                data.emailtype = MailType.HASGOODS;
            }
            else
            {
                data.emailtype = MailType.READONLY;
            }

            EmailDataManager.GetNewsInstance().emilsdata_.Add(data.emailid, data);
        }

        if (root_ == null)
        {
            LoadNewsResource();
        }

        InitNewsUIData();

        //root_.SetActive(false);
        GameMain.hall_.GetPlayerData().mailNumber = (byte)EmailDataManager.GetNewsInstance().emilsdata_.Count;

        return(true);
    }
コード例 #16
0
    //玩家货币数值更新处理
    private bool PlayerUpdateCurrency(uint msgType, UMessage umsg)
    {
        uint  nUpdateSign = umsg.ReadUInt();
        long  coin        = 0;
        uint  diamond     = 0;
        long  lottery     = 0;
        byte  nGameKind   = 0;
        float masterScore = 0;

        if (GameKind.HasFlag((int)PlayerUpdateMoney_Enum.PlayerUpdateMoney_Coin, nUpdateSign))
        {
            coin = umsg.ReadLong();
            GetPlayerData().SetCoin(coin);
        }

        if (GameKind.HasFlag((int)PlayerUpdateMoney_Enum.PlayerUpdateMoney_DiamondNum, nUpdateSign))
        {
            diamond = umsg.ReadUInt();
            GetPlayerData().SetDiamond(diamond);
        }

        if (GameKind.HasFlag((int)PlayerUpdateMoney_Enum.PlayerUpdateMoney_Lottery, nUpdateSign))
        {
            lottery = umsg.ReadLong();
            GetPlayerData().SetLottery(lottery);
        }

        if (GameKind.HasFlag((int)PlayerUpdateMoney_Enum.PlayerUpdateMoney_MasterScore, nUpdateSign))
        {
            nGameKind   = umsg.ReadByte();
            masterScore = umsg.ReadSingle();
            GameMain.hall_.GetPlayerData().MasterScoreKindArray[nGameKind] = masterScore;
        }

        if (GameKind.HasFlag((int)PlayerUpdateMoney_Enum.PlayerUpdateMoney_UnrecivedRedbag, nUpdateSign))
        {
            GameMain.hall_.GetPlayerData().UnreceivedRedBag = (float)System.Math.Round(umsg.ReadSingle(), 2);
        }

        if (GameKind.HasFlag((int)PlayerUpdateMoney_Enum.PlayerUpdateMoney_RecivedRedbag, nUpdateSign))
        {
            GameMain.hall_.GetPlayerData().ReceivedRedBag = umsg.ReadSingle();
        }

        if (GameKind.HasFlag((int)PlayerUpdateMoney_Enum.PlayerUpdateMoney_Vip, nUpdateSign))
        {
            GameMain.hall_.GetPlayerData().PlayerLevel = umsg.ReadByte();
        }

        if (GameKind.HasFlag((int)PlayerUpdateMoney_Enum.PlayerUpdateMoney_CreditScore, nUpdateSign))
        {
            GameMain.hall_.GetPlayerData().creditScore = umsg.ReadUInt();
        }

        Debug.Log("====>>>>>> 更新金币 " + coin + " " + diamond + " " + lottery + " " + masterScore);

        //即时更新界面上的货币显示
        if (GameMain.hall_.shop != null)
        {
            GameMain.hall_.shop.RefreshPlayerCurrency();
            //200奖券的时候刷新商城实物兑换
            if (lottery >= 200)
            {
                GameMain.hall_.shop.RefreshExchangeShopItem();
            }
        }

        GameMain.hall_.RefreshPlayerCurrency();

        return(true);
    }
コード例 #17
0
    /// <summary>
    /// 登陆成功处理
    /// </summary>
    /// <param name="_msgType"></param>
    /// <param name="_ms"></param>
    /// <returns></returns>
    bool LoginSuccess(uint _msgType, UMessage _ms)
    {
        PlayerData playerdata        = GameMain.hall_.GetPlayerData();
        uint       lastLoginPlayerId = playerdata.GetPlayerID();

        playerdata.ReadPlayerData(_ms, ref CRankUI.Instance.m_fLeftCoinRankTime);
        //检测是否切换角色了
        if (lastLoginPlayerId != 0 && lastLoginPlayerId != playerdata.GetPlayerID())
        {
        }

        GameMain.hall_.IntelentType = Application.internetReachability;
        WriteAccountConfig();

        //GameMain.hall_.SendGetCoinRankData();

        //m_bIsSendMobileNum = false;
        CCustomDialog.CloseCustomWaitUI();
        GameMain.hall_.AfterLogin();


#if ScFish
        GameMain.hall_.OnClickRoomIconBtn((byte)GameKind_Enum.GameKind_Fishing, 1);
        return(true);
#endif


        //GameMain.hall_.LoadHallResource();
        if (playerdata.nGameMode_Before >= 0)
        {
            Debug.Log("断线重连GameId:" + playerdata.nGameKind_Before + ",GameMode:" + playerdata.nGameMode_Before);
            string        strSign           = string.Empty;
            GameKind_Enum CurbeforeGameKind = (GameKind_Enum)playerdata.nGameKind_Before;
            if (playerdata.nGameMode_Before == 0)
            {
                CurbeforeGameKind = (GameKind_Enum)(Mathf.Log(playerdata.nGameKind_Before, 2));
                for (GameKind_Enum gameKind = GameKind_Enum.GameKind_CarPort; gameKind < GameKind_Enum.GameKind_Max; ++gameKind)
                {
                    if (gameKind != GameKind_Enum.GameKind_LandLords && gameKind != GameKind_Enum.GameKind_Mahjong &&
                        gameKind != GameKind_Enum.GameKind_GuanDan && gameKind != GameKind_Enum.GameKind_YcMahjong &&
                        gameKind != GameKind_Enum.GameKind_CzMahjong && gameKind != GameKind_Enum.GameKind_GouJi &&
                        gameKind != GameKind_Enum.GameKind_HongZhong && gameKind != GameKind_Enum.GameKind_Answer &&
                        gameKind != GameKind_Enum.GameKind_Chess)
                    {
                        if (GameKind.HasFlag((int)gameKind, (int)playerdata.nGameKind_Before))
                        {
                            GameData gamedata = CCsvDataManager.Instance.GameDataMgr.GetGameData((byte)CurbeforeGameKind);
                            if (gamedata != null)
                            {
                                strSign += gamedata.GameName;
                            }
                            else
                            {
                                strSign += "未知游戏";
                            }
                        }
                    }
                }
            }

            if (!string.IsNullOrEmpty(strSign))
            {
                CCustomDialog.OpenCustomWaitUI(2014, strSign);
            }
            else
            {
                if (GameMain.hall_.contestui_)
                {
                    GameMain.hall_.contestui_.SetActive(false);
                }
                GameMain.hall_.ReconnectLoadGame(CurbeforeGameKind, (GameTye_Enum)playerdata.nGameMode_Before);
            }
        }
        else
        {
            if (Application.platform == RuntimePlatform.Android)
            {
#if UNITY_ANDROID && !UNITY_EDITOR
                AlipayWeChatPay.GetAndroidActivity().Call("GetGameRoomID");
#endif
            }
        }

        GameMain.hall_.ReconnectGameServer();

        UMessage activemsg = new UMessage((uint)GameCity.EMSG_ENUM.CrazyCityMsg_GETTODAYREDBAGINFO);
        activemsg.Add(GameMain.hall_.GetPlayerId());
        NetWorkClient.GetInstance().SendMsg(activemsg);

        BagDataManager.GetBagDataInstance();
        if (GameMain.hall_.GetPlayerData().itemNumber > 0)
        {
            UMessage bagmsg = new UMessage((uint)GameCity.EMSG_ENUM.CrazyCityMsg_REQUESTPLAYERPACKETINFO);
            bagmsg.Add(GameMain.hall_.GetPlayerId());
            NetWorkClient.GetInstance().SendMsg(bagmsg);
        }

        PlayerInfoUI.Instance.Ask4PlayerTotalData();

        return(true);
    }
コード例 #18
0
ファイル: GameRepository.cs プロジェクト: nedele44/summit
 public IList <GameItemModel> Getinclude(GameKind kind)
 {
     return(_games.Where(p => p.Kind == kind).ToList());
 }