void Init() { //yield return 1; GameApp.GetInstance().ClearScene(); //! 清除 GameScene SetUIHandler(this); uiPos = new MapUIPosition(); //texPos = new ArenaMenuTexturePosition(); Material mapMaterial = UIResourceMgr.GetInstance().GetMaterial("Map"); //! 装载地图材质 background = new UIImage(); background.SetTexture(mapMaterial, MapUITexturePosition.Background, AutoRect.AutoSize(MapUITexturePosition.Background)); background.Rect = AutoRect.AutoPos(uiPos.Background); SetUIHandler(this); this.Add(background); for (int i = 0; i < MAP_COUNT; i++) { mapButtons[i] = new UIColoredButton(); mapButtons[i].SetAnimatedColor(new Color(179.0f / 255f, 0, 0)); //! 场景按钮 this.Add(mapButtons[i]); zombieAnimations[i] = new UIAnimatedImage(); this.Add(zombieAnimations[i]); //! 僵尸动画 zombieAnimations[i].SetAnimationFrameRate(5); zombieAnimations[i].AddAnimation(mapMaterial, MapUITexturePosition.ZombieAnimation1, AutoRect.AutoSize(MapUITexturePosition.ZombieAnimation1)); zombieAnimations[i].AddAnimation(mapMaterial, MapUITexturePosition.ZombieAnimation2, AutoRect.AutoSize(MapUITexturePosition.ZombieAnimation2)); zombieAnimations[i].AddAnimation(mapMaterial, MapUITexturePosition.ZombieAnimation3, AutoRect.AutoSize(MapUITexturePosition.ZombieAnimation3)); mapButtons[i].Enable = false; zombieAnimations[i].Visible = false; //Debug.Log(i); } for (int i = 0; i < MAP_COUNT; i++) { int index = infection[i]; if (index != -1) { mapButtons[index].Enable = true; zombieAnimations[index].Visible = true; } } mapButtons[0].SetTexture(UIButtonBase.State.Normal, mapMaterial, MapUITexturePosition.FactoryImg, AutoRect.AutoSize(MapUITexturePosition.FactoryImg)); mapButtons[1].SetTexture(UIButtonBase.State.Normal, mapMaterial, MapUITexturePosition.HospitalImg, AutoRect.AutoSize(MapUITexturePosition.HospitalImg)); mapButtons[2].SetTexture(UIButtonBase.State.Normal, mapMaterial, MapUITexturePosition.ParkingImg, AutoRect.AutoSize(MapUITexturePosition.ParkingImg)); mapButtons[3].SetTexture(UIButtonBase.State.Normal, mapMaterial, MapUITexturePosition.Village, AutoRect.AutoSize(MapUITexturePosition.Village)); mapButtons[0].SetTexture(UIButtonBase.State.Pressed, mapMaterial, MapUITexturePosition.FactoryImg, AutoRect.AutoSize(MapUITexturePosition.FactoryImg) * 2); mapButtons[1].SetTexture(UIButtonBase.State.Pressed, mapMaterial, MapUITexturePosition.HospitalImg, AutoRect.AutoSize(MapUITexturePosition.HospitalImg) * 2); mapButtons[2].SetTexture(UIButtonBase.State.Pressed, mapMaterial, MapUITexturePosition.ParkingImg, AutoRect.AutoSize(MapUITexturePosition.ParkingImg) * 2); mapButtons[3].SetTexture(UIButtonBase.State.Pressed, mapMaterial, MapUITexturePosition.Village, AutoRect.AutoSize(MapUITexturePosition.Village) * 2); mapButtons[0].Rect = AutoRect.AutoPos(uiPos.FactoryButton); mapButtons[1].Rect = AutoRect.AutoPos(uiPos.HospitalButton); mapButtons[2].Rect = AutoRect.AutoPos(uiPos.ParkingButton); mapButtons[3].Rect = AutoRect.AutoPos(uiPos.VillageButton); Rect offset = new Rect(66, -30, 0, 0); Rect offset2 = new Rect(76, -30, 0, 0); Rect offset3 = new Rect(46, -30, 0, 0); zombieAnimations[0].Rect = AutoRect.AutoPos(Math.AddRect(uiPos.FactoryButton, offset3)); zombieAnimations[1].Rect = AutoRect.AutoPos(Math.AddRect(uiPos.HospitalButton, offset)); zombieAnimations[2].Rect = AutoRect.AutoPos(Math.AddRect(uiPos.ParkingButton, offset)); zombieAnimations[3].Rect = AutoRect.AutoPos(Math.AddRect(uiPos.VillageButton, offset2)); shopButton.SetTexture(UIButtonBase.State.Normal, mapMaterial, MapUITexturePosition.ShopImg, AutoRect.AutoSize(MapUITexturePosition.ShopImg)); shopButton.SetTexture(UIButtonBase.State.Pressed, mapMaterial, MapUITexturePosition.ShopImg, AutoRect.AutoSize(MapUITexturePosition.ShopImg) * 2); shopButton.Rect = AutoRect.AutoPos(uiPos.ShopButton); this.Add(shopButton); Material shopMaterial = UIResourceMgr.GetInstance().GetMaterial("ShopUI"); daysPanel = new UITextImage(); daysPanel.SetTexture(shopMaterial, ShopTexturePosition.DayLargePanel, AutoRect.AutoSize(ShopTexturePosition.DayLargePanel)); daysPanel.Rect = AutoRect.AutoPos(uiPos.DaysPanel); daysPanel.SetText(ConstData.FONT_NAME0, "DAY " + GameApp.GetInstance().GetGameState().LevelNum, ColorName.fontColor_darkred); cashPanel = new CashPanel(); this.Add(daysPanel); this.Add(cashPanel); cashPanel.SetCash(GameApp.GetInstance().GetGameState().GetCash()); cashPanel.Show(); Material arenaMenuMaterial = UIResourceMgr.GetInstance().GetMaterial("ArenaMenu"); returnButton = new UIClickButton(); returnButton.SetTexture(UIButtonBase.State.Normal, arenaMenuMaterial, ArenaMenuTexturePosition.ReturnButtonNormal, AutoRect.AutoSize(ArenaMenuTexturePosition.ReturnButtonNormal)); returnButton.SetTexture(UIButtonBase.State.Pressed, arenaMenuMaterial, ArenaMenuTexturePosition.ReturnButtonPressed, AutoRect.AutoSize(ArenaMenuTexturePosition.ReturnButtonPressed)); returnButton.Rect = AutoRect.AutoPos(uiPos.ReturnButton); optionsButton = new UIClickButton(); optionsButton.SetTexture(UIButtonBase.State.Normal, arenaMenuMaterial, ArenaMenuTexturePosition.OptionsButton, AutoRect.AutoSize(ArenaMenuTexturePosition.OptionsButton)); optionsButton.SetTexture(UIButtonBase.State.Pressed, arenaMenuMaterial, ArenaMenuTexturePosition.OptionsButtonPressed, AutoRect.AutoSize(ArenaMenuTexturePosition.OptionsButtonPressed)); optionsButton.Rect = AutoRect.AutoPos(uiPos.OptionsButton); this.Add(optionsButton); this.Add(returnButton); }