Beispiel #1
0
 public static Sprite getEnergySprite()
 {
     return(SpriteCache.getSprite("itemImage/energy"));         //Resources.Load ("itemImage/energy", typeof(Sprite)) as Sprite;
 }
Beispiel #2
0
    // 根据type和id获取对应产品的图片
    public static Sprite getSprite(int itemId)
    {
        string path = getSpritePath(itemId);

        return(SpriteCache.getSprite(path));         //Resources.Load (path, typeof(Sprite)) as Sprite;
    }
Beispiel #3
0
    void Start()
    {
        show(uiMain);
        // 给主界面按钮加事件
        string canvasPath = "main/ui/uiMain/Canvas/buttons/";

        levelButton = GameObject.Find(canvasPath + "level2").GetComponent <Button>();
        levelButton.onClick.AddListener(delegate() {
            // 打开level 界面
//			Debug.Log("open level window");
            Sound.playSound(SoundType.Click);
            openLevelWindow();
        });
        unlimitButton = GameObject.Find(canvasPath + "unlimit2").GetComponent <Button>();
        unlimitButton.onClick.AddListener(delegate() {
            // 打开unlimit 界面
            Debug.Log("open unlimit window");
            Sound.playSound(SoundType.Click);
            openUnlimitWindow();
        });
        onlineButton = GameObject.Find(canvasPath + "online2").GetComponent <Button>();
        onlineButton.onClick.AddListener(delegate() {
            //Job.startJob(Params.energyJobKey, delegate() {
            //	Debug.Log("sdfsdfsdfs");
            //},10);
            // 打开online 界面
            Debug.Log("open online window");
            Sound.playSound(SoundType.Click);
            openOnlineWindow();
        });
        // uiLevel 关闭按钮
        GameObject closeGo     = GameObject.Find("main/ui/uiLevel/Canvas/close");
        Button     closeButton = closeGo.GetComponent <Button> ();

        closeButton.onClick.AddListener(delegate() {
            Sound.playSound(SoundType.Click);
            show(uiMain);
        });
        // uiUnlimit 关闭按钮和进入按钮
        Button go = GameObject.Find("main/ui/uiUnlimit/Canvas/go").GetComponent <Button>();

        go.onClick.AddListener(delegate() {
            Sound.playSound(SoundType.Click);
            CSUnlimitedGo unlimitedGo = new CSUnlimitedGo();
            SocketManager.SendMessageAsyc((int)MiGongOpcode.CSUnlimitedGo, CSUnlimitedGo.SerializeToBytes(unlimitedGo), delegate(int opcode, byte[] data) {
                ui.SetActive(false);
                SCUnlimitedGo ret = SCUnlimitedGo.Deserialize(data);
                // 剩余精力
                Params.startEnergySchedule(ret.Energy.Energy, ret.Energy.RefreshTime);
                int[] stars = { ret.Star1, ret.Star2, ret.Star3, ret.Star4 };
                createMap(MapMode.Unlimited, ret.Map.ToArray(), ret.Beans, ret.Time, ret.Speed, ret.Start, ret.End, ret.Pass, ret.EnemyCount, null, stars, null, null);
            });
        });
        closeButton = GameObject.Find("main/ui/uiUnlimit/Canvas/close").GetComponent <Button>();
        closeButton.onClick.AddListener(delegate() {
            Sound.playSound(SoundType.Click);
            show(uiMain);
        });
        // uiOnline 关闭按钮和进入按钮
        go = GameObject.Find("main/ui/uiOnline/Canvas/go").GetComponent <Button>();
        go.onClick.AddListener(delegate() {
            Sound.playSound(SoundType.Click);
            OnPvpClick();
        });
        closeButton = GameObject.Find("main/ui/uiOnline/Canvas/close").GetComponent <Button>();
        closeButton.onClick.AddListener(delegate() {
            Sound.playSound(SoundType.Click);
            show(uiMain);
        });
        // 获取登陆基本信息
        CSBaseInfo baseInfo = new CSBaseInfo();

        SocketManager.SendMessageAsyc((int)MiGongOpcode.CSBaseInfo, CSBaseInfo.SerializeToBytes(baseInfo), delegate(int opcode, byte[] data) {
            SCBaseInfo ret = SCBaseInfo.Deserialize(data);
            // TODO 显示精力
            // 系统参数
            foreach (PBSysPara sp in ret.SysParas)
            {
                sysParas.Add(sp.Key, sp.Value);
            }
            Params.sysParas = sysParas;

            Params.energyRecoverTime = int.Parse(sysParas["energyRecoverTime"]);
            // 精力相关
            Params.startEnergySchedule(ret.Energy.Energy, ret.Energy.RefreshTime);

            foreach (PBNewGuide newGuide in ret.NewGuide)
            {
                guideStep.Add(newGuide.Id, newGuide.Step);
            }
            this.openPass = ret.OpenPass;
            // 道具表
            Params.init(ret);
            // 无尽版和pvp是否开启
            doShowLock();
            // 初始化无尽版的每日星数奖励
            //string para = sysParas["unlimitedAwardStar"];
            //string[] paras = para.Split(';');
            Slider slider       = unlimitedAwardGo.transform.Find("starSlider").GetComponent <Slider>();
            RectTransform buRec = unlimitedAwardGo.transform.Find("starSlider").GetComponent <RectTransform> ();
            int len             = ret.UnlimitedRewardTable.Count;
            slider.maxValue     = ret.UnlimitedRewardTable[len - 1].Star;
            Object ob           = Resources.Load("chest");

            unlimitedAwardSegs = new UnlimitedAwardSeg[len];
            for (int i = 0; i < len; i++)
            {
                GameObject chestGo = Instantiate(ob) as GameObject;
                chestGo.transform.localPosition = new Vector3(
                    buRec.rect.width / slider.maxValue * ret.UnlimitedRewardTable[i].Star - buRec.rect.width / 2, 0, 0);
                chestGo.transform.SetParent(unlimitedAwardGo.transform, false);
                UnlimitedAwardSeg unlimitedAward = unlimitedAwardSegs[i] = new UnlimitedAwardSeg();
                unlimitedAward.star          = ret.UnlimitedRewardTable[i].Star;
                unlimitedAward.image         = chestGo.GetComponent <Image>();
                Button bt                    = chestGo.GetComponent <Button>();
                int index                    = i;
                PBUnlimitedRewardTable table = ret.UnlimitedRewardTable[i];
                bt.onClick.AddListener(delegate
                {
                    Sound.playSound(SoundType.Click);
                    // 如果达到了,就直接领取了,然后就是确定,否则就是显示,然后是确定
                    if (unlimitedAward.state == 1)
                    {
                        // 领取
                        Sound.playSound(SoundType.Click);
                        CSUnlimitedAward award = new CSUnlimitedAward();
                        award.Index            = index;
                        SocketManager.SendMessageAsyc((int)MiGongOpcode.CSUnlimitedAward, CSUnlimitedAward.SerializeToBytes(award), (opcode2, data2) => {
                            SCUnlimitedAward retAward   = SCUnlimitedAward.Deserialize(data2);
                            unlimitedAward.image.sprite = SpriteCache.getSprite("box/open");
                            unlimitedAward.state        = 2;
                            // 显示
                            WarnDialog.reward(Message.getText("gainReward"), Message.getText("ok"), table.Gold, table.Reward, null);
                        });
                    }
                    else
                    {
                        // 显示
                        WarnDialog.reward(Message.getText("dailyReward"), Message.getText("ok"), table.Gold, table.Reward, null);
                    }
                });
            }
        });

        // 账号,分享,帮助

        Button accountButton = GameObject.Find(canvasPath + "more/account").GetComponent <Button>();

        accountButton.onClick.AddListener(delegate() {
            Debug.Log("account");
            Sound.playSound(SoundType.Click);
            closeMorePanel();
            doAccount();
        });
        ssdk.showUserHandler = GetUserInfoResultHandler;
        Button shareButton = GameObject.Find(canvasPath + "more/share").GetComponent <Button>();

        shareButton.onClick.AddListener(delegate() {
            Debug.Log("share");
//			doShare();
            Sound.playSound(SoundType.Click);
            closeMorePanel();
            shareWeChat1.transform.parent.gameObject.SetActive(true);
        });
        ssdk.shareHandler = ShareResultHandler;
        // 分享的三个按钮就
        shareWeChat1.onClick.AddListener(delegate() {
            Debug.Log("share WeChat");
            Sound.playSound(SoundType.Click);
            doShare(PlatformType.WeChat);
        });
        shareWeChat2.onClick.AddListener(delegate() {
            Debug.Log("share WeChatMoments");
            Sound.playSound(SoundType.Click);
            doShare(PlatformType.WeChatMoments);
        });
        closeShare.onClick.AddListener(delegate() {
            Sound.playSound(SoundType.Click);
            shareWeChat1.transform.parent.gameObject.SetActive(false);
        });

        exit.onClick.AddListener(delegate() {
            Sound.playSound(SoundType.Click);
            Application.Quit();
        });

        // show more
        Button moreButton = GameObject.Find(canvasPath + "moreBt").GetComponent <Button>();

        moreButton.onClick.AddListener(delegate() {
            GameObject moreGo = GameObject.Find(canvasPath + "more");
            moreGo.SetActive(!moreGo.activeSelf);
        });
        // hide more
        Button hideMoreButton = GameObject.Find(canvasPath + "more/clickPanel").GetComponent <Button>();

        hideMoreButton.onClick.AddListener(delegate() {
            closeMorePanel();
        });
        //
        Button helpButton = GameObject.Find(canvasPath + "more/help").GetComponent <Button>();

        helpButton.onClick.AddListener(delegate() {
            Debug.Log("help");
//			WarnDialog.showWarnDialog("test",null,false,10,20);
            Sound.playSound(SoundType.Click);
            closeMorePanel();
            Help guideControl = uiHelp.GetComponent <Help>();
            guideControl.showHelp();
        });

        // 背包,商店
        Button packetButton = GameObject.Find(canvasPath + "packet").GetComponent <Button>();

        packetButton.onClick.AddListener(delegate() {
            Debug.Log("backet");
            Sound.playSound(SoundType.Click);
            uiPacket.GetComponent <Packet>().showPacket();
        });
        Button shopButton = GameObject.Find(canvasPath + "shop").GetComponent <Button>();

        shopButton.onClick.AddListener(delegate() {
            Debug.Log("shop");
            Sound.playSound(SoundType.Click);
            uiShop.GetComponent <Shop>().showShop();
        });

        // 对战中显示奖励界面的进入地图按钮
        Button showRewardOk = uiLevel.transform.Find("Canvas/showReward/dialog/ok").GetComponent <Button>();

        showRewardOk.onClick.AddListener(delegate() {
            Sound.playSound(SoundType.Click);
            onIntoPassClick();
        });
        Button showRewardClose = uiLevel.transform.Find("Canvas/showReward/dialog/close").GetComponent <Button>();

        showRewardClose.onClick.AddListener(delegate() {
            Sound.playSound(SoundType.Click);
            uiLevel.transform.Find("Canvas/showReward").gameObject.SetActive(false);
        });

        // 联网对战按钮
        //
        SocketManager.AddServerSendReceive((int)MiGongOpcode.SCMatchingSuccess, matchSuccess);
        SocketManager.AddServerSendReceive((int)MiGongOpcode.SCMatchingFail, delegate(int opcode, byte[] receiveData) {
            Debug.Log("");
            matching.matchFail();
        });
        SocketManager.AddServerSendReceive((int)MiGongOpcode.SCBegin, delegate(int opcode, byte[] receiveData) {
            Debug.Log("");
        });
        SocketManager.AddServerSendReceive((int)AccountOpcode.SCBeTakePlace, delegate(int opcode, byte[] receiveData) {
            WarnDialog.showWarnDialog("你的账号在其它地方登录!", delegate() {
                Application.Quit();
            }, true);
        });
    }
Beispiel #4
0
 public static Sprite getGoldSprite()
 {
     return(SpriteCache.getSprite("itemImage/gold"));        //Resources.Load ("itemImage/gold", typeof(Sprite)) as Sprite;
 }
Beispiel #5
0
    private void openUnlimitWindow()
    {
        //
        //获取按钮游戏对象
        Object button = Resources.Load("UnlimitItem");

        GameObject content = GameObject.Find("main/ui/uiUnlimit/Canvas/scrollView/Viewport/Content");

        for (int i = 0; i < content.transform.childCount; i++)
        {
            Destroy(content.transform.GetChild(i).gameObject);
        }
        // 获取当前关卡
        CSUnlimitedInfo unlimitedInfo = new CSUnlimitedInfo();

        SocketManager.SendMessageAsyc((int)MiGongOpcode.CSUnlimitedInfo, CSUnlimitedInfo.SerializeToBytes(unlimitedInfo), delegate(int opcode, byte[] data) {
            show(uiUnlimit);
            SCUnlimitedInfo ret = SCUnlimitedInfo.Deserialize(data);

            //
            Text passText = GameObject.Find("main/ui/uiUnlimit/Canvas/pass").GetComponent <Text>();
            passText.text = Message.getText("unlimitRankSelf", ret.Pass, ret.Star, ret.Rank);
            //
            //GameObject energyTextGo = GameObject.Find ("main/ui/uiUnlimit/Canvas/energy/Text");
            //Text energyText = energyTextGo.GetComponent<Text>();
            //energyText.text = Params.energy.ToString();
            // 每日星数奖励
            //ret.TodayStar
            Slider slider = unlimitedAwardGo.transform.Find("starSlider").GetComponent <Slider>();
            slider.value  = ret.TodayStar;
            float step    = slider.maxValue / unlimitedAwardSegs.Length;

            string[] isLight = null;
            if (ret.Award.Length > 0)
            {
                isLight = ret.Award.Split(';');
            }

            for (int i = 0; i < unlimitedAwardSegs.Length; i++)
            {
                //Debug.Log(ret.TodayStar + "," + unlimitedAwardSegs[i].star);
                // 是否还没点亮
                if (ret.TodayStar < unlimitedAwardSegs[i].star)
                {
                    unlimitedAwardSegs[i].image.sprite = SpriteCache.getSprite("box/unreach");
                    unlimitedAwardSegs[i].state        = 0;
                }
                else if (isLight != null && int.Parse(isLight[i]) > 0)
                {
                    unlimitedAwardSegs[i].image.sprite = SpriteCache.getSprite("box/open");
                    unlimitedAwardSegs[i].state        = 2;
                }
                else
                {
                    unlimitedAwardSegs[i].image.sprite = SpriteCache.getSprite("box/reach");
                    unlimitedAwardSegs[i].state        = 1;
                }
            }


            // 列表
            int count = ret.UnlimitedRankInfo.Count;
            float dis = 0f;

            GameObject up       = Instantiate(button) as GameObject;
            RectTransform buRec = up.GetComponent <RectTransform> ();
            Destroy(up);

            RectTransform contentTrans = content.GetComponent <RectTransform> ();
            contentTrans.sizeDelta     = new Vector2(0, (buRec.rect.height + dis) * count + dis);

            for (int i = 0; i < count; i++)
            {
                PBUnlimitedRankInfo info = ret.UnlimitedRankInfo[i];
                up = Instantiate(button) as GameObject;
                up.transform.localPosition = new Vector3(0, -((buRec.rect.height + dis) * i + dis), 0);
                up.transform.localScale    = new Vector3(1, 1, 1);
                up.transform.SetParent(content.transform, false);
                // 生成各个玩家的排名item
                GameObject textGo = up.transform.Find("rank").gameObject;
                Text text         = textGo.GetComponent <Text> ();
                text.text         = info.Rank + "";
                //text.text = Message.getText("unlimitRankItem",info.Rank,info.UserName,info.Star);
                textGo    = up.transform.Find("name").gameObject;
                text      = textGo.GetComponent <Text>();
                text.text = info.UserName + "";
                textGo    = up.transform.Find("pass").gameObject;
                text      = textGo.GetComponent <Text>();
                text.text = info.Pass + "";
                textGo    = up.transform.Find("star").gameObject;
                text      = textGo.GetComponent <Text>();
                text.text = info.Star + "";
            }
        });
    }