Пример #1
0
    //每次玩家点击礼物盒时随机产生奖励
    private void OnEnable()
    {
        int    random    = Random.Range(1, 5); //随机从1-4中产生一个整数
        string prizeName = "";

        //如果玩家还有宠物没有解锁(当前只有三个宠物) toDO 优化数据
        if (random >= 4 && GameManager.Instance.playerManager.monsterPetDataList.Count < 3) //宠物蛋
        {
            //获取一个未解锁的宠物蛋ID 1-3
            int randomEggNum = Random.Range(1, 4);
            while (HasThePet(randomEggNum))
            {
                randomEggNum = Random.Range(1, 4);
            }
            //初始化宠物数据
            MonsterPetData monsterPetData = new MonsterPetData
            {
                monsterID     = randomEggNum,
                monsterLevel  = 1,
                remainCookies = 0,
                remainMilk    = 0
            };
            GameManager.Instance.playerManager.monsterPetDataList.Add(monsterPetData);
            prizeName = "宠物蛋";
        }
        else //不是宠物蛋
        {
            switch (random)
            {
            //toDo 随机数的饼干和牛奶数量
            case 1:      //牛奶
                prizeName = "牛奶";
                GameManager.Instance.playerManager.milk += 10;
                break;

            case 2:      //饼干
                prizeName = "饼干";
                GameManager.Instance.playerManager.cookies += 20;
                break;

            case 3:      //窝
                prizeName = "窝";
                GameManager.Instance.playerManager.nest += 1;
                break;

            case 4:      //已经超过怪物最大数量,改为给玩家饼干
                prizeName = "饼干";
                GameManager.Instance.playerManager.cookies += 15;
                break;

            default:
                break;
            }
        }
        //显示奖品信息,播放动画
        text_PrizeName.text = prizeName;
        img_Intro.sprite    = GameController.Instance.GetSprite("MonsterNest/Prize/Instruction" + random.ToString());
        img_Prize.sprite    = GameController.Instance.GetSprite("MonsterNest/Prize/Prize" + random.ToString());
        animator.Play("Enter");
    }
Пример #2
0
    private void OnEnable()
    {
        string prizeName = "";
        int    randomNum;

        if (GameManager.Instance.playerManager.monsterPetDataList.Count >= 3)
        {
            randomNum = Random.Range(1, 4);
        }
        else
        {
            randomNum = Random.Range(1, 5);
        }
        if (randomNum >= 4 && GameManager.Instance.playerManager.monsterPetDataList.Count < 3)//一共三关,只给三个蛋
        {
            Debug.Log("当前拥有蛋疏朗:" + GameManager.Instance.playerManager.monsterPetDataList.Count + "本次随机数为" + randomNum);
            int randomEgg = 0;
            do
            {
                randomEgg = Random.Range(0, 4);
            } while (HasThePet(randomEgg));//一定要随机到没有得到的宠物为止。
            MonsterPetData monsterPetData = new MonsterPetData
            {
                monsterLevel       = 1,
                levelUpNeedCookies = 0,
                levelUpNeedMilk    = 0,
                monsterID          = randomEgg
            };
            GameManager.Instance.playerManager.monsterPetDataList.Add(monsterPetData);
            prizeName = "宠物蛋";
        }
        else
        {
            switch (randomNum)
            {
            case 1:
                prizeName = "Milk";
                GameManager.Instance.playerManager.milk += 20;
                break;

            case 2:
                prizeName = "Cookies";
                GameManager.Instance.playerManager.cookies += 20;
                break;

            case 3:
                prizeName = "Nest";
                GameManager.Instance.playerManager.monsterNest++;
                break;

            default:
                break;
            }
        }
        text_PrizeName.text    = prizeName;
        img_Prize.sprite       = GameController.Instance.GetSprite("MonsterNest/Prize/Prize" + randomNum);
        img_Instruction.sprite = GameController.Instance.GetSprite("MonsterNest/Prize/Instruction" + randomNum);
    }
Пример #3
0
    private void OnEnable()
    {
        int    randomNum = Random.Range(0, 10);
        string prizeName = "";
        List <MonsterPetData> monsterPetDataList = normalModelPanel.GetMonsterPetData();

        if (randomNum == 0 && monsterPetDataList.Count < 3) // 宠物蛋 0.01概率
        {
            int eggID;
            do
            {
                eggID = Random.Range(1, 4);
            } while (HasThePet(monsterPetDataList, eggID));

            // 生成宠物蛋的信息
            MonsterPetData monsterPetData = new MonsterPetData
            {
                monsterID     = eggID,
                monsterLevel  = 1,
                remainCookies = 0,
                remainMilks   = 0
            };
            prizeName = "宠物蛋";
            normalModelPanel.SetMonsterEgg(monsterPetData);
        }
        else if (randomNum == 1 || randomNum == 0) // 怪物窝 0.02概率
        {
            prizeName = "窝";
            normalModelPanel.SetMonsterData(0, 0, 1);
        }
        else
        {
            if (randomNum <= 5) // 饼干
            {
                prizeName = "饼干";
                normalModelPanel.SetMonsterData(10, 0, 0);
            }
            else // 牛奶
            {
                prizeName = "牛奶";
                normalModelPanel.SetMonsterData(0, 50, 0);
            }
        }

        // 更新页面的UI显示
        prizeNameTxt.text = prizeName;
        int prizeID = GetPrizeID(prizeName);

        prizeImg.sprite       = normalModelPanel.gameController.GetSprite("MonsterNest/Prize/Prize" + prizeID);
        instructionImg.sprite = normalModelPanel.gameController.GetSprite("MonsterNest/Prize/Instruction" + prizeID);
        animator.Play("PrizePage");
    }
Пример #4
0
    private void OnEnable()
    {
        int    randomNum = Random.Range(0, 4);
        string prizeName = "";

        if (randomNum >= 3 && GameManager.Instance.playerManager.monsterPetDataList.Count < 3)
        {
            int randomEggNum = 0;
            do
            {
                randomEggNum = Random.Range(1, 4);
            } while (HasThePet(randomEggNum));
            MonsterPetData monsterPetData = new MonsterPetData
            {
                monsterID     = randomEggNum,
                monsterLevel  = 1,
                remainCookies = 0,
                remainMilk    = 0
            };
            GameManager.Instance.playerManager.monsterPetDataList.Add(monsterPetData);
            prizeName = "宠物蛋";
        }
        else
        {
            switch (randomNum)
            {
            case 0:
                prizeName = "牛奶";
                GameManager.Instance.playerManager.milk += 20;
                break;

            case 1:
                prizeName = "饼干";
                GameManager.Instance.playerManager.cookies += 20;
                break;

            case 2:
                prizeName = "窝";
                GameManager.Instance.playerManager.nest += 1;
                break;

            default:
                break;
            }
        }
        txt_PrizeName.text     = prizeName;
        img_Instruction.sprite = instructionSprites[randomNum];
        img_Prize.sprite       = prizeSprites[randomNum];
        animator.Play("Enter");
    }
Пример #5
0
    private void OnEnable()
    {
        int    randomNum = Random.Range(1, 4);
        string prizeName = "";

        if (randomNum >= 4 && GameManager.Instance.playerManager.monsterPetDataList.Count < 3)
        {
            int randomEggNum = 0;
            do
            {
                randomEggNum = Random.Range(1, 4);
            } while (HasThePet(randomEggNum));
            MonsterPetData monsterPetData = new MonsterPetData
            {
                monsterLevel  = 1,
                remainCookies = 0,
                remainMilk    = 0,
                monsterID     = randomEggNum
            };
            GameManager.Instance.playerManager.monsterPetDataList.Add(monsterPetData);
            prizeName = "宠物蛋";
        }
        else
        {
            switch (randomNum)
            {
            case 1:
                prizeName = "牛奶";
                GameManager.Instance.playerManager.milk += 20;
                break;

            case 2:
                prizeName = "饼干";
                GameManager.Instance.playerManager.cookies += 20;
                break;

            case 3:
                prizeName = "窝";
                GameManager.Instance.playerManager.nest += 1;
                break;

            default:
                break;
            }
        }
        tex_PrizeName.text     = prizeName;
        img_Instruction.sprite = GameController.Instance.GetSprite("MonsterNest/Prize/Instruction" + randomNum.ToString());
        img_Prize.sprite       = GameController.Instance.GetSprite("MonsterNest/Prize/Prize" + randomNum.ToString());
        animator.Play("Enter");
    }
Пример #6
0
 // 下层向Facade发送宠物蛋数据
 public void SetMonsterEgg(MonsterPetData monsterPetData)
 {
     mUIFacade.SetMonsterEgg(monsterPetData);
 }
Пример #7
0
 // 增加获得的宠物蛋信息
 public void SetMonsterEgg(MonsterPetData monsterPetData)
 {
     mPlayerManager.MonsterPetDataList.Add(monsterPetData);
 }