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); } }
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)); }
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); } }