void LateUpdate() { SelectableObject obj = GameSession.Instance.selectedObject; ButtonCard card = GameSession.Instance.selectedCard; if (obj != null) { // In confirm state Vector3 pos = Camera.main.WorldToScreenPoint(obj.transform.position); float fov = Camera.main.fieldOfView; float maxFov = CameraController.maxFov; float fovScale = maxFov / fov; guiTexture.pixelInset = new Rect(pos.x - Screen.width / 2f - fovScale * width / 2f, pos.y - Screen.height / 2f - fovScale * height / 2f, fovScale * width, fovScale * height); if (GameSession.Instance.isDefender && card != null) { guiTexture.texture = PrefabManager.UIConfirm; } else { guiTexture.texture = PrefabManager.UISelected; } } else { guiTexture.pixelInset = Constants.offScreenRect; } }
/// <summary> /// Описание карточки — сообщения с поддержкой изображений. ///<para>Если приложению удается отобразить карточку для пользователя, свойство response.text не используется.</para> /// </summary> /// <param name="ImageIdSet"> Идентификатор изображения, который возвращается в ответ на запрос загрузки. /// <para> Необходимо указывать </para></param> /// <param name="ButtonSet"> Свойства изображения, на которое можно нажать. </param> /// <param name="TitleSet">Заголовок для изображения.</param> /// <param name="DescriptionSet">Описание изображения.</param> public BigImageCard(string ImageIdSet, ButtonCard ButtonSet, string TitleSet = null, string DescriptionSet = null) { imageId = ImageIdSet; title = TitleSet; description = DescriptionSet; button = ButtonSet; }
private void InstantiateGridCards(DataTopic topicData) { ClearGameobjects(GridCards); for (int i = 0; i < topicData.SubTopics.Count; i++) { DataSubTopic dataSubTopic = topicData.SubTopics[i]; GameObject instance = Instantiate(PrefabCard, UIContentGroup.CardGridView.content.transform); ButtonCard buttonCard = instance.GetComponent <ButtonCard>(); buttonCard.SubTopicData = dataSubTopic; buttonCard.UISubTopicMask.TextMeshProUGUI.text = dataSubTopic.Name; instance.GetComponent <Image>().sprite = dataSubTopic.UISprite; GridCards.Add(instance); } onInstancedSubTopics(); }
private void drawField(double _rows, double _columns) { Canvas canv = (Canvas)FindName("MainCanvas"); Grid grid = (Grid)FindName("MainGrid"); if (canv.Children.Count > 0) { canv.Children.Clear(); } double column = _columns; double rows = _rows; double posL = 0; double posT = 0; double sizeW = canv.ActualWidth / column; double sizeH = canv.ActualHeight / rows; BtnHolder = new ButtonCard[(int)rows, (int)column]; for (int i = 0; i < rows; i++) { for (int j = 0; j < column; j++) { //create a button at the correct position CanvasButton btn = new CanvasButton(i, j); btn.Background = Brushes.White; btn.Width = sizeW; btn.Height = sizeH; Canvas.SetLeft(btn, posL); Canvas.SetTop(btn, posT); canv.Children.Add(btn); //create a card that stores all important information ButtonCard tmpBtnCard = new ButtonCard(); tmpBtnCard.name = "Button_" + i + "_" + j; tmpBtnCard.btn = btn; tmpBtnCard.btn.Click += new RoutedEventHandler(button_Click); //assigne the ButtonCard to the correct position inside the holder BtnHolder[i, j] = tmpBtnCard; posL += sizeW; } posL = 0; posT += sizeH; } }
// Use this for initialization // Change this to awake in the final ver void Start() { Random.seed = System.DateTime.Now.Millisecond; MyInstance = this; GameSession.Instance.tick = GameSession.startTick; //Instantiate(PrefabManager.UIFrame); //Instantiate(PrefabManager.UIBlockLower); bool isDefender = GameSession.Instance.isDefender; if (isDefender) { Instantiate(PrefabManager.UIButtonSell); Instantiate(PrefabManager.UIButtonUpgrade); } int offSet = (isDefender)? 0 : 6; for (int i = 0; i < 6; i++) { GameObject cardObj = (GameObject)Instantiate(PrefabManager.UIButtonCard); ButtonCard card = cardObj.GetComponent <ButtonCard>(); if (card != null) { card.ability = (ButtonCard.ButtonAbility)i + offSet; card.Init(-502 + 104 * i, -380, 85, 125); if (isDefender) { cardObj.guiTexture.texture = PrefabManager.PrefabCards[card.ability.ToString() + "1"]; } else { cardObj.guiTexture.texture = PrefabManager.PrefabCards[card.ability.ToString()]; } cards[i] = card; } } if (!isDefender) { spawnPoints[0].Select(); } GameSession session = GameSession.Instance; List <Vector3> towerpoints = new List <Vector3>(); float ht = -80; if (session.levelName == "game1") { float leftOffset = 102; towerpoints.Add(new Vector3(4 + leftOffset, ht, 330)); towerpoints.Add(new Vector3(-110 + leftOffset, ht, -225)); towerpoints.Add(new Vector3(150 + leftOffset, ht, -245)); towerpoints.Add(new Vector3(345 + leftOffset, ht, 330)); towerpoints.Add(new Vector3(-510 + leftOffset, ht, 150)); towerpoints.Add(new Vector3(-225 + leftOffset, ht, -50)); towerpoints.Add(new Vector3(-9 + leftOffset, ht, -60)); towerpoints.Add(new Vector3(-160 + leftOffset, ht, 150)); towerpoints.Add(new Vector3(90 + leftOffset, ht, 150)); towerpoints.Add(new Vector3(300 + leftOffset, ht, 150)); towerpoints.Add(new Vector3(385 + leftOffset, ht, -35)); towerpoints.Add(new Vector3(-420 + leftOffset, ht, -65)); towerpoints.Add(new Vector3(200 + leftOffset, ht, -50)); } else if (session.levelName == "game2") { towerpoints.Add(new Vector3(-427, ht, 342)); towerpoints.Add(new Vector3(-184, ht, 358)); towerpoints.Add(new Vector3(-134, ht, 142)); towerpoints.Add(new Vector3(-317, ht, 123)); towerpoints.Add(new Vector3(-500, ht, 110)); towerpoints.Add(new Vector3(-376, ht, -86)); towerpoints.Add(new Vector3(-199, ht, -76)); towerpoints.Add(new Vector3(-30, ht, -72)); towerpoints.Add(new Vector3(102, ht, 146)); towerpoints.Add(new Vector3(95, ht, 365)); } if (session.isNetworkGame && session.isDefender) { foreach (Vector3 pos in towerpoints) { Network.Instantiate(PrefabManager.PrefabTowerSpawnPoint, pos, Quaternion.identity, 0); } } else if (!session.isNetworkGame) { foreach (Vector3 pos in towerpoints) { Instantiate(PrefabManager.PrefabTowerSpawnPoint, pos, Quaternion.identity); } } if (GameSession.Instance.isAttacker) { StartCoroutine(GiveAttackerGold()); Instantiate(PrefabManager.UIAttackerMask); } //TODO remove //GameSession.Instance.credits = 1000; GameSession.Instance.credits += (isDefender)? Constants.DefenderStartGold(1) : Constants.AttackerStartGold(1); }