Пример #1
0
    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);
    }