public static void init(SCBaseInfo baseInfo) { gold = baseInfo.Gold; foreach (PBItemTable it in baseInfo.ItemTable) { ItemTable itemTable = new ItemTable(); itemTable.Id = it.Id; itemTable.ItemType = it.ItemType; itemTable.Para1 = it.Para1; itemTable.Para2 = it.Para2; itemTable.Price = it.Price; itemTables.Add(itemTable.Id, itemTable); } foreach (PBUnitTable ut in baseInfo.UnitTable) { UnitTable unitTable = new UnitTable(); unitTable.Id = ut.Id; string[] itemStrs = ut.Items.Split('|'); unitTable.Items = new Dictionary <int, int> (); foreach (string itemStr in itemStrs) { if (itemStr.Length == 0) { continue; } string[] strs = itemStr.Split(';'); unitTable.Items.Add(int.Parse(strs[0]), int.Parse(strs[1])); } unitTable.Price = ut.Price; unitTables.Add(unitTable.Id, unitTable); } foreach (PBPeckTable pt in baseInfo.PeckTable) { PeckTable peckTable = new PeckTable(); peckTable.Id = pt.Id; peckTable.gold = pt.Gold; peckTable.goldNum = pt.Gold; if (pt.Items != null && pt.Items.Length > 0) { peckTable.Items = new Dictionary <int, int> (); string[] itemStrs = pt.Items.Split('|'); peckTable.Items = new Dictionary <int, int> (); foreach (string itemStr in itemStrs) { if (itemStr.Length == 0) { continue; } string[] strs = itemStr.Split(';'); peckTable.Items.Add(int.Parse(strs[0]), int.Parse(strs[1])); } } peckTable.Price = pt.Price; peckTables.Add(peckTable.Id, peckTable); } }
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); }); }