Exemple #1
0
    private void GenerateLandscape()
    {
        List <int> canTowerLandList = new List <int>();

        for (int i = -10; i < 10; i++)
        {
            for (int j = -10; j < 10; j++)
            {
                GameObject tickItem;
                var        height = MathTool.GetRandom(7) + 1;
                tickItem = Instantiate(CommonStick, gameObject.transform);
                tickItem.transform.localScale = new Vector3(3, 3, 3);
                tickItem.transform.position   = new Vector3(i * 3, 0.5f + (float)height / 2, j * 3);
                var itemId = (i + 11) * 1000 + j + 11;
                LandManager.Instance.AddLand(itemId, new LandManager.LandData {
                    StickItem = tickItem
                });

                tickItem.GetComponent <LandInfo>().Id = itemId;

                if (height == 1)
                {
                    Instantiate(BlueStick, tickItem.transform);
                }
                else if (height == 7)
                {
                    Instantiate(GrayStick, tickItem.transform);
                }
                else
                {
                    Instantiate(GreenStick, tickItem.transform);
                    canTowerLandList.Add(itemId); //只有平地可以出现城堡
                }
            }
        }

        var towerList = NLRandomPicker <int> .RandomPickN(canTowerLandList, 5);

        foreach (var towerId in towerList)
        {
            var tower  = Instantiate(LandCastle, LandManager.Instance.GetLand(towerId).StickItem.transform);
            var hudObj = Instantiate(HudLand, UICanvas.transform);
            hudObj.GetComponent <HudLand>().BindObj = tower;
        }

        var heldList = NLRandomPicker <int> .RandomPickN(canTowerLandList, 5);

        foreach (var heldId in heldList)
        {
            Instantiate(LandHeld, LandManager.Instance.GetLand(heldId).StickItem.transform);
        }
    }
Exemple #2
0
        private void NextQuestion()
        {
            if (targetQuestions != null)
            {
                CheckAnswer();
            }

            List <int> qidList = new List <int>();

            for (int id = 0; id < questions.Length; id++)
            {
                qidList.Add(id);
            }
            targetQuestions = NLRandomPicker <int> .RandomPickN(qidList, 3).ToArray();

            virtualRegion_RegionClicked(MathTool.GetRandom(3) + 1, 1, 1, MouseButtons.Left);//模拟一个随机点击事件
            Invalidate(new Rectangle(xoff, yoff, 324, 244));
        }
Exemple #3
0
        public void DetectRandom(int count)
        {
            List <SceneObject> toChoose = new List <SceneObject>();

            foreach (var sceneObject in sceneItems)
            {
                if (sceneObject is SceneQuest && !sceneObject.Disabled &&
                    !sceneObject.MapSetting && !sceneObject.HasFlag(SceneObject.ScenePosFlagType.Detected))
                {
                    toChoose.Add(sceneObject);
                }
            }

            var results = NLRandomPicker <SceneObject> .RandomPickN(toChoose, (uint)count);

            foreach (var sceneObject in results)
            {
                sceneObject.AddFlag(SceneObject.ScenePosFlagType.Detected);
            }
        }