예제 #1
0
    // Use this for initialization
    void Start()
    {
        startText.SetActive(false);
        loading.SetActive(true);

        Global.init(() =>
        {
            loadingBar.GetComponent <Animation>().Stop();
            loadingBar.transform.localScale = Vector3.one;
            Invoke("Init", 0.5f);
        });
        p2SelectEff.SetActive(false);


        WXLoginInfoPanel.instance.addGameMoneyCallback = (count) =>
        {
            DataUtils.AddMoney(count);
        };

        Texture2D texture = null;

        texture = textureWX;

        pressTime = Time.time;
    }
예제 #2
0
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();

        if (GUILayout.Button("加钱", GUILayout.Height(50)))
        {
            DataUtils.AddMoney(1000);
        }

        if (GUILayout.Button("加100000纠正道具", GUILayout.Height(50)))
        {
            DataUtils.correntPropCount += 100000;
        }

        if (GUILayout.Button("无限血量", GUILayout.Height(50)))
        {
            for (int i = 0; i < BeatGame.instance.players.Length; i++)
            {
                BeatGame.instance.players[i].SetMaxHP(100000);
                BeatGame.instance.players[i].AddHP(100000);
            }
        }

        if (GUILayout.Button("清空用户数据", GUILayout.Height(50)))
        {
            DataUtils.CleanUserData();
        }
    }
예제 #3
0
    bool TryBuyItem(int price, int lastPrice)
    {
        int nowMoney = lastPrice + DataUtils.GetMoney();

        if (nowMoney >= price)
        {
            DataUtils.AddMoney(-price + lastPrice);
            return(true);
        }
        return(false);
    }
예제 #4
0
 static public void CleanUserData()
 {
     for (int i = 0; i < 100; i++)
     {
         if (PlayerPrefs.GetInt(i + "_buy", 0) == 1)
         {
             PlayerPrefs.SetInt(i + "_buy", 0);
         }
         if (PlayerPrefs.GetInt(i + "_charcter", 0) == 1)
         {
             PlayerPrefs.SetInt(i + "_charcter", 0);
         }
     }
     DataUtils.AddMoney(-DataUtils.GetMoney());
 }
예제 #5
0
 // Use this for initialization
 void Start()
 {
     DataUtils.ChangeMoneyCallback = (v) =>
     {
         if (isFirstTime)
         {
             text.text   = v.ToString();
             isFirstTime = false;
         }
         else
         {
             int now = int.Parse(text.text);
             iTween.ValueTo(gameObject, iTween.Hash("from", now, "to", v, "time", .5f, "onupdate", "OnUpdate"));
         }
     };
     DataUtils.AddMoney(0);
 }
예제 #6
0
    void CancelBuy()
    {
        PropData lastSelectData;

        if (DataUtils.lifeType > Global.LIFE_TYPE.LV1)
        {
            lastSelectData = Global.PROP_TABLE[(int)DataUtils.lifeType + 3]; //ID 4,5,6就是血量
            propCards[lastSelectData.id - 1].SetBuy(false);
            DataUtils.AddMoney(lastSelectData.price);
            DataUtils.lifeType = Global.LIFE_TYPE.LV1;
        }

        if (DataUtils.correntPropCount > 0)
        {
            lastSelectData = Global.PROP_TABLE[DataUtils.correntPropCount / 5]; //ID1,2,3就是纠正道具
            propCards[lastSelectData.id - 1].SetBuy(false);
            DataUtils.correntPropCount = 0;
            DataUtils.AddMoney(lastSelectData.price);
        }
    }
예제 #7
0
    internal bool Press()
    {
        SongCard card = curCard;


        if (card.isDownloaded && DataUtils.GetSongBuy(card.data))
        {
            return(true);
        }

        bool needBuy  = card.data.price != 0 && !DataUtils.GetSongBuy(card.data);
        bool hasMoney = DataUtils.GetMoney() >= card.data.price;

        if (needBuy)
        {
            if (hasMoney)
            {
                SongListMain.instance.buyConfirm.Show(() =>
                {
                    DataUtils.SetSongBuy(card.data);
                    DataUtils.AddMoney(-card.data.price);
                    card.CheckBuy();
                    Download(card);
                    Sounder.instance.Play("购买歌曲音效");
                }, "使用" + DataUtils.SONG_MONEY + "音乐币购买此音乐");
            }
            else
            {
                SongListMain.instance.Alert("每首歌需要100音乐币,您的音乐币不足!");
                Sounder.instance.Play("BAD音效");
            }
        }
        else
        {
            Download(card);
        }

        return(false);
    }
예제 #8
0
    /// <summary>
    /// 初始化所有通用类
    /// </summary>
    public static void init(Action callback, bool playMusic = true)
    {
        if (instance == null)
        {
            GameObject go = new GameObject();
            instance      = go.AddComponent <Global>();
            instance.name = "GLOBAL";
            DontDestroyOnLoad(go);
            Application.targetFrameRate = 60;
            TableManager.Init();
            DataUtils.instance.transform.parent = go.transform;
            Sounder.instance.transform.parent   = go.transform;
            if (playMusic)
            {
                Sounder.instance.Play("背景音乐", true);
            }

            int v = DataUtils.AddLoginTime();
            if (v == 1)
            {
                DataUtils.AddMoney(3000);
            }
        }
        instance.LoadMusicConfig(() => {
            Debug.Log("加载配件文件完成");
            string contentPath = AppContentPath();
            Directory.CreateDirectory(contentPath);

            if (File.Exists(contentPath + "2.mp4") && File.Exists(contentPath + "3.mp4") && File.Exists(contentPath + "6.mp4") && File.Exists(contentPath + "7.mp4"))
            {
                Debug.Log("视频文件已解压");
                callback();
                return;
            }

            string[] files;

            if (isAllResLocal)
            {
                files = new string[] { "1.mp4", "2.mp4", "3.mp4", "4.mp4", "5.mp4", "6.mp4", "7.mp4", "8.mp4" };
            }
            else
            {
                files = new string[] { "2.mp4", "3.mp4", "6.mp4", "7.mp4" };
            }

            int succesCount = 0;
            for (int i = 0; i < files.Length; i++)
            {
                JLoader.instance.Load(AppStreamPath(files[i]), files[i], (type, info) =>
                {
                    if (type == JLoader.DOWNLOAD_TYPE.SUCCESS)
                    {
                        File.WriteAllBytes(contentPath + ((string)info.userData), info.www.downloadHandler.data);
                        succesCount++;
                        if (succesCount == files.Length)
                        {
                            callback();
                        }
                    }
                });
            }
        });
    }
예제 #9
0
    public override void PressEnter(BaseScene.INPUT_TYPE type, JoystickManager.JOYSTICK_KEY_STATE keyState, JoystickManager.PLAYER_INDEX player)
    {
        if (keyState != JoystickManager.JOYSTICK_KEY_STATE.KEY_DOWN)
        {
            return;
        }


        if (alert.gameObject.activeSelf)
        {
            alert.gameObject.SetActive(false);
            return;
        }


        if (curItem == okBtn)
        {
            if (DataUtils.isAutoMode)
            {
                Global.GoAutoMode();
            }

            //加载下个场景
            EnterGame();
            return;
        }


        //=====================================CHARACTER===================
        if (inProp == false)
        {
            if (downloading)
            {
                if (confirm.gameObject.activeSelf)
                {
                    confirm.Press();
                    return;
                }
                return;
            }
            if (keyState != JoystickManager.JOYSTICK_KEY_STATE.KEY_DOWN)
            {
                return;
            }
            if (confirm.gameObject.activeSelf)
            {
                confirm.Press();
                return;
            }
            else if (alert.gameObject.activeSelf)
            {
                alert.gameObject.SetActive(false);
                return;
            }


            switch (characterIndex)
            {
            case 1:
            case 2:
            case 5:
            case 6:
                //直接进入游戏
                SetCharacter(characterIndex, true);
                return;
            }

            CharacterCard card  = cards[characterIndex];
            int           money = DataUtils.GetMoney();

            bool moneyEnough = money >= card.data.price;
            if (card.isLock)
            {
                confirm.Show(() =>
                {
                    if (moneyEnough)
                    {
                        Sounder.instance.Play("消费音效");
                        DataUtils.SetCharacterIsUnLock(card.data.id);
                        DataUtils.AddMoney(-card.data.price);
                        card.isLock = false;
                        card.RefreshLock();
                        lockSprite.SetActive(cards[characterIndex].isLock);
                        DownloadVideo();
                    }
                    else
                    {
                        Sounder.instance.Play("BAD音效");
                        alert.Show("您的音乐币不足");
                    }
                }, "花费" + card.data.price + "音乐币解锁");
            }
            else
            {
                DownloadVideo();
            }
        }
        else
        {
            PropData lastSelectData = null;

            PropCard c = curItem as PropCard;
            if (c == null)
            {
                return;
            }
            switch (c.data.id)
            {
            case 1:
            case 2:
            case 3:
                //纠正ID从1开始
                if (DataUtils.isAutoMode)
                {
                    return;
                }
                if (c.GetIsBuy())
                {
                    c.SetBuy(false);
                    DataUtils.AddMoney(c.data.price);
                    DataUtils.correntPropCount = 0;
                    Sounder.instance.Play("购买道具音效取消");
                    return;
                }

                if (DataUtils.correntPropCount > 0)
                {
                    lastSelectData = Global.PROP_TABLE[DataUtils.correntPropCount / 5];     //ID1,2,3就是纠正道具
                }

                if (TryBuyItem(c.data.price, lastSelectData == null ? 0 : lastSelectData.price))
                {
                    c.SetBuy(true);
                    DataUtils.correntPropCount = c.data.id * 5;
                    if (lastSelectData != null)
                    {
                        propCards[lastSelectData.id - 1].SetBuy(false);
                    }
                    Sounder.instance.Play("购买道具音效");
                }
                else
                {
                    alert.Show("您的音乐币不足");
                    Sounder.instance.Play("BAD音效");
                }
                break;

            case 4:
            case 5:
            case 6:
                //456
                if (DataUtils.isAutoMode)
                {
                    return;
                }
                if (c.GetIsBuy())
                {
                    c.SetBuy(false);
                    DataUtils.AddMoney(c.data.price);
                    DataUtils.lifeType = Global.LIFE_TYPE.LV1;
                    Sounder.instance.Play("购买道具音效取消");
                    return;
                }

                if (DataUtils.lifeType > Global.LIFE_TYPE.LV1)
                {
                    lastSelectData = Global.PROP_TABLE[(int)DataUtils.lifeType + 3];     //ID 4,5,6就是血量
                }

                if (TryBuyItem(c.data.price, lastSelectData == null?0:lastSelectData.price))
                {
                    DataUtils.lifeType = (Global.LIFE_TYPE)c.data.id - 3;
                    c.SetBuy(true);
                    if (lastSelectData != null)
                    {
                        propCards[lastSelectData.id - 1].SetBuy(false);
                    }
                    Sounder.instance.Play("购买道具音效");
                }
                else
                {
                    alert.Show("您的音乐币不足");
                    Sounder.instance.Play("BAD音效");
                }
                break;

            case 7:
                c.SetBuy(!c.GetIsBuy());
                DataUtils.isAutoMode = c.GetIsBuy();
                if (DataUtils.isAutoMode)
                {
                    Sounder.instance.Play("购买道具音效");
                    CancelBuy();
                }
                else
                {
                    Sounder.instance.Play("购买道具音效取消");
                }

                for (int i = 0; i < propCards.Length; i++)
                {
                    if (propCards[i] != c)
                    {
                        propCards[i].SetEnable(!DataUtils.isAutoMode);
                    }
                }
                break;
            }
        }
    }
예제 #10
0
    public override void PressEnter(BaseScene.INPUT_TYPE type, JoystickManager.JOYSTICK_KEY_STATE keyState, JoystickManager.PLAYER_INDEX player)
    {
        if (hasSelect)
        {
            return;
        }
        if (downloading)
        {
            if (confirm.gameObject.activeSelf)
            {
                confirm.Press();
                return;
            }
            return;
        }
        if (keyState != JoystickManager.JOYSTICK_KEY_STATE.KEY_DOWN)
        {
            return;
        }
        if (confirm.gameObject.activeSelf)
        {
            confirm.Press();
            return;
        }
        else if (alert.gameObject.activeSelf)
        {
            alert.gameObject.SetActive(false);
            return;
        }

        if (Global.isAllResLocal)
        {
            SelectCharacter(index, true);
            return;
        }

        switch (index)
        {
        case 2:
        case 3:
        case 6:
        case 7:
            //直接进入游戏
            SelectCharacter(index, true);
            return;
        }

        CharacterCard card  = cards[index - 1];
        int           money = DataUtils.GetMoney();

        bool moneyEnough = money >= card.data.price;

        if (card.isLock)
        {
            confirm.Show(() =>
            {
                if (moneyEnough)
                {
                    Sounder.instance.Play("消费音效");
                    DataUtils.SetCharacterIsUnLock(card.data.id);
                    DataUtils.AddMoney(-card.data.price);
                    card.isLock = false;
                    card.RefreshLock();
                    lockSprite.SetActive(cards[index - 1].isLock);
                    DownloadVideo();
                }
                else
                {
                    Sounder.instance.Play("BAD音效");
                    alert.Show("您的音乐币不足");
                }
            }, "花费" + card.data.price + "音乐币解锁");
        }
        else
        {
            DownloadVideo();
        }
    }
예제 #11
0
    void instance_BlanketEvent(JoystickManager.BLANKET_NUMBER_KEY key, JoystickManager.JOYSTICK_KEY_STATE state)
    {
        if (DataUtils.runingAutoMode)
        {
            Global.CancelAutoMode();
            return;
        }
        blanketPress = true;
        pressTime    = Time.time;

        switch (key)
        {
        case JoystickManager.BLANKET_NUMBER_KEY.KEY_6:
        case JoystickManager.BLANKET_NUMBER_KEY.KEY_21:
            if (canPressUp)
            {
                Move(0, -1, INPUT_TYPE.BLANKET, state,
                     key == JoystickManager.BLANKET_NUMBER_KEY.KEY_6 ?
                     JoystickManager.PLAYER_INDEX.P1 : JoystickManager.PLAYER_INDEX.P2);
            }
            break;

        case JoystickManager.BLANKET_NUMBER_KEY.KEY_10:
        case JoystickManager.BLANKET_NUMBER_KEY.KEY_25:
            if (canPressDown)
            {
                Move(0, 1, INPUT_TYPE.BLANKET, state,
                     key == JoystickManager.BLANKET_NUMBER_KEY.KEY_10 ?
                     JoystickManager.PLAYER_INDEX.P1 : JoystickManager.PLAYER_INDEX.P2);
            }
            break;

        case JoystickManager.BLANKET_NUMBER_KEY.KEY_3:
        case JoystickManager.BLANKET_NUMBER_KEY.KEY_18:
            if (canPressLeft)
            {
                Move(-1, 0, INPUT_TYPE.BLANKET, state,
                     key == JoystickManager.BLANKET_NUMBER_KEY.KEY_3 ?
                     JoystickManager.PLAYER_INDEX.P1 : JoystickManager.PLAYER_INDEX.P2);
            }
            break;

        case JoystickManager.BLANKET_NUMBER_KEY.KEY_13:
        case JoystickManager.BLANKET_NUMBER_KEY.KEY_28:
            if (canPressRight)
            {
                Move(1, 0, INPUT_TYPE.BLANKET, state,
                     key == JoystickManager.BLANKET_NUMBER_KEY.KEY_13 ?
                     JoystickManager.PLAYER_INDEX.P1 : JoystickManager.PLAYER_INDEX.P2);
            }
            break;

        case JoystickManager.BLANKET_NUMBER_KEY.KEY_11:
        case JoystickManager.BLANKET_NUMBER_KEY.KEY_26:
            if (canPressEnter)
            {
                if (state == JoystickManager.JOYSTICK_KEY_STATE.KEY_DOWN)
                {
                    PressEnter(INPUT_TYPE.BLANKET, state,
                               key == JoystickManager.BLANKET_NUMBER_KEY.KEY_11 ?
                               JoystickManager.PLAYER_INDEX.P1 : JoystickManager.PLAYER_INDEX.P2);
                }
            }
            break;

        case JoystickManager.BLANKET_NUMBER_KEY.KEY_1:
        case JoystickManager.BLANKET_NUMBER_KEY.KEY_16:
            if (Application.platform != RuntimePlatform.Android /* || Version.currentPlatform.ToString().IndexOf("WX_XRDS") != -1*/)
            {
                if (canPressCancel)
                {
                    if (state == JoystickManager.JOYSTICK_KEY_STATE.KEY_DOWN)
                    {
                        Cancel(INPUT_TYPE.BLANKET, state,
                               key == JoystickManager.BLANKET_NUMBER_KEY.KEY_1 ?
                               JoystickManager.PLAYER_INDEX.P1 : JoystickManager.PLAYER_INDEX.P2);
                    }
                }
            }
            break;
        }

        if (Application.platform != RuntimePlatform.Android)
        {
            if (state == JoystickManager.JOYSTICK_KEY_STATE.KEY_DOWN &&
                key == JoystickManager.BLANKET_NUMBER_KEY.KEY_15)
            {
                DataUtils.AddMoney(1000);
            }
        }
    }
예제 #12
0
    // Use this for initialization
    void Start()
    {
        //测试=============

        if (DataUtils.p1ScoreData == null)
        {
            DataUtils.mode        = Global.MODE.MODE_1P;
            DataUtils.p1ScoreData = new PlayerScoreData
            {
                comboCount      = 100,
                juadeType2Count = new int[] { 100, 40, 30, 20, 10 },
                score           = 10000
            };

            DataUtils.p2ScoreData = new PlayerScoreData
            {
                comboCount      = 110,
                juadeType2Count = new int[] { 120, 30, 10, 30, 50 },
                score           = 12000
            };
        }
        //结束测试===========


        Global.init(() =>
        {
            if (DataUtils.mode == Global.MODE.MODE_1P)
            {
                p2.gameObject.SetActive(false);
                singleExtraInfo.gameObject.SetActive(true);
                p1.UpdateData(DataUtils.p1ScoreData);


                int getCoin = DataUtils.p1ScoreData.GetWinMoney();
                DataUtils.AddScore(DataUtils.p1ScoreData.score);
                DataUtils.AddMoney(getCoin);

                ITweenTextValue.instance.SetTextIntTween(p1CoinTxt, getCoin, 0.8f, 0.3f);
                ITweenTextValue.instance.SetTextIntTween(p1TotalScoreTxt, DataUtils.GetScore(), 0.9f, 0.8f);
                p1.SetWin(false);
            }
            else
            {
                p2.gameObject.SetActive(true);
                singleExtraInfo.gameObject.SetActive(false);
                p1.UpdateData(DataUtils.p1ScoreData);
                p2.UpdateData(DataUtils.p2ScoreData, true);
                Destroy(coinEff);
                Destroy(totalMarkEff);
                coinEff = totalMarkEff = null;

                p1.SetWin(DataUtils.p1ScoreData.score > DataUtils.p2ScoreData.score);
                p2.SetWin(DataUtils.p1ScoreData.score < DataUtils.p2ScoreData.score);
            }

            if (DataUtils.isAutoMode)
            {
                Invoke("AutoGoNext", 3);
            }
        });

        pressTime = Time.time;
    }