Пример #1
0
    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;
 }
Пример #3
0
 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();
 }
Пример #4
0
        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;
            }
        }
Пример #5
0
    // 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);
    }