Esempio n. 1
0
 private void Awake()
 {
     instance       = this;
     towerMenu      = gameObject.transform.parent.Find("TowerMenu").gameObject;
     this.raycaster = towerMenu.GetComponent <GraphicRaycaster>();
     Hide();
 }
Esempio n. 2
0
    public Coroutine TowerRespawn(Tower target)
    {
        (int laneIndex, int sideIndex) = GetPositionIdentifier(target);
        TowerUI targetUI = towerManagers[sideIndex].towerUIs[laneIndex];

        return(targetUI.Respawn());
    }
Esempio n. 3
0
    private void OnUpdate(EventType eventType, object sender, object param = null)
    {
        if (_currentTower != null)
        {
            _currentTower.MyChildHalo.HaloOff();
            if (ReferenceEquals(_currentTower, sender))
            {
                _currentTower = null;

                gameObject.SetActive(false);
                return;
            }
        }
        if (!(sender is TowerUI))
        {
            return;
        }
        _currentTower = sender as TowerUI;
        _gameController.TowerMenu.SetNewTower(_currentTower.Tower);
        var info = _gameController.TowerMenu.TowerInfos[_currentTower.Tower.UpgradeLevel];

        UiImage.sprite        = Resources.Load <Sprite>(info.NameSpriteForMenu);
        UpgradePriceText.text = _currentTower.Tower.UpgradeLevel == _gameController.TowerMenu.TowerInfos.Count - 1
            ? "-"
            : "$" + info.UpgradePrice;
        SellPriceText.text = "$" + info.SellPrice;
        gameObject.SetActive(true);
    }
Esempio n. 4
0
    private void Awake()
    {
        strucBase = gameObject.GetComponentInParent <Base>();
        placed    = false;
        shotTimer = 0;

        health  = new HealthSystem(100);
        towerUI = gameObject.GetComponentInChildren <TowerUI>();
    }
Esempio n. 5
0
 //вызвали установку
 private void SetTower(TowerUI tower)
 {
     UIController.Instance.AddTower(tower);
     curTower = tower;
     foreach (var area in _areasController.areasVisual)
     {
         area.SetActive(true);
     }
 }
Esempio n. 6
0
    //private void InitializeData() { }

    private void InitializeScripts()
    {
        Data       = GetComponent <TowerData>();
        TBehavior  = GetComponent <TowerBehavior>();
        Appearance = GetComponentInChildren <TowerAppearance>();
        Spawner    = GetComponent <UnitSpawner>();
        Circle     = GetComponentInChildren <SelectionCircle>();
        Particles  = GetComponentInChildren <TowerParticles>();
        FWTrigger  = GetComponentInChildren <FirewallTrigger>();
        UI         = GetComponentInChildren <TowerUI>();
    }
Esempio n. 7
0
    //Menampilkan seluruh Tower yg tersedia pada UI Tower Selection
    private void InstantiateAllTowerUI()
    {
        foreach (Tower tower in _towerPrefabs)
        {
            GameObject newTowerUIObj = Instantiate(_towerUIPrefab.gameObject, _towerUIParent);
            TowerUI    newTowerUI    = newTowerUIObj.GetComponent <TowerUI>();

            newTowerUI.SetTowerPrefab(tower);
            newTowerUI.transform.name = tower.name;
        }
    }
    public void DeSelectCard()
    {
        if (selectedTowerUI == null)
        {
            return;
        }

        selectedTowerUI.Select(false);
        selectedTowerUI     = null;
        summon.OnEndSummon -= DeSelectCard;
    }
Esempio n. 9
0
    private void UpgradeTower()
    {
        bool isUpgrade = _gameController.TowerMenu.OnUpgradeTower();

        if (isUpgrade)
        {
            _currentTower.MyChildHalo.HaloOff();
            _currentTower = null;
            gameObject.SetActive(false);
        }
    }
Esempio n. 10
0
    void Awake()
    {
        towerFactory = FindObjectOfType <TowerFactory>();
        towerUI      = FindObjectOfType <TowerUI>();

        GrassTileClick.OnGrassTileClicked += towerFactory.PlaceTower;
        GrassTileClick.OnGrassTileClicked += ToggleTowerUIinactive;

        GrassTileClick.OnTowerClicked += towerUI.SetPosition;
        GrassTileClick.OnTowerClicked += ToggleTowerUIActive;
    }
Esempio n. 11
0
    private void InstantiateAllTowerUI()
    {
        foreach (Tower tower in towerPrefabs)
        {
            GameObject newTowerUI = Instantiate(towerUIPrefab, towerUIParent);
            TowerUI    towerUI    = newTowerUI.GetComponent <TowerUI>();

            towerUI.SetTower(tower);
            towerUI.transform.name = tower.name;
        }
    }
Esempio n. 12
0
    public Coroutine TowerUnitDamage(Unit target, int damageAmount)
    {
        (int laneIndex, int sideIndex, int positionIndex) = GetPositionIdentifier(target);
        TowerUI sourceUI = towerManagers[1 - sideIndex].towerUIs[laneIndex];
        UnitUI  targetUI = FindUnitUI(target);

        return(StartCoroutine(SerialCoroutine(
                                  () => sourceUI.Attack(targetUI.transform.position),
                                  () => { targetUI.RenderUnit(); return null; },
                                  () => damageTextManager.DamageTextPopup(targetUI.transform.position, $"-{damageAmount}")
                                  )));
    }
Esempio n. 13
0
 private void Awake()
 {
     parent = gameObject.transform.parent.gameObject;
     if (parent.name == "TowerUI")
     {
         towerUI = transform.GetComponentInParent <TowerUI>();
     }
     else
     {
         barracksUI = transform.GetComponentInParent <BarracksUI>();
     }
 }
Esempio n. 14
0
    /**
     * Start is called prior to the first frame update
     */
    void Start()
    {
        // Get rect transform component
        rectTransform = GetComponent <RectTransform>();

        towerUI = GetComponent <TowerUI>();

        // Get layer mask for necessary layers
        raycastLayerMask = LayerMask.GetMask(Layers.FLOOR_LAYER_NAME, Layers.TERRAIN_LAYER_NAME, Layers.PLACED_OBJECTS);

        mainCamera  = Camera.main;
        gameManager = ManagerIndex.MI.GameManager;

        hasBeenPurchased = false;
    }
    private void Initialize()
    {
        battle = Battle.instance;
        summon = SummonTower.instance;

        TowerUI.OnPointerDown += OnPressTowerUI;
        towerUIPrefab.gameObject.SetActive(false);
        foreach (var tower in summon.towerCards)
        {
            TowerUI instance = Instantiate(towerUIPrefab);
            instance.Initialize(tower);
            instance.transform.SetParent(towerUIHolder, false);
            instance.gameObject.SetActive(true);
        }
    }
    private void OnPressTowerUI(TowerUI towerUI)
    {
        if (selectedTowerUI != null)
        {
            selectedTowerUI.Select(false);
        }

        if (!summon.ReadySummon(towerUI.card))
        {
            return;
        }

        towerUI.Select(true);
        selectedTowerUI = towerUI;

        summon.OnEndSummon += DeSelectCard;
    }
Esempio n. 17
0
 private void Awake()
 {
     if (Instance == null)
     {
         Instance = this;
     }
     else
     {
         Destroy(gameObject);
         return;
     }
     towerUIOptions = new TowerUIOption[maxOptionsCount];
     for (int i = 0; i < maxOptionsCount; i++)
     {
         towerUIOptions[i] = Instantiate(towerUIOptionButtonPrefab).GetComponent <TowerUIOption>();
         towerUIOptions[i].InitializeOption(i);
         towerUIOptions[i].transform.parent        = gameObject.transform;
         towerUIOptions[i].transform.localPosition = Vector3.zero;
     }
     HideTowerUI();
 }
Esempio n. 18
0
    private void Update()
    {
        if (curTower == null)
        {
            return;
        }
        float x = Input.mousePosition.x;
        float y = Input.mousePosition.y;

        curTower.transform.position = Camera.main.ScreenToWorldPoint(new Vector3(x, y, 10));
        if (Input.GetMouseButtonDown(0) && _areasController.IsAreaAllowed && _uiController.Towers.All(tower => !tower.IsAreaAllowed))
        {
            curTower.GetComponent <BoxCollider2D>().enabled = true;
            Debug.Log(curTower.GetComponent <BoxCollider2D>().enabled);
            curTower.Tower.PlacingMode = false;
            curTower = null;
            foreach (var area in _areasController.areasVisual)
            {
                area.SetActive(false);
            }
        }
    }
Esempio n. 19
0
    public Coroutine UnitTowerDamage(Tower target, int damageAmount)
    {
        (int laneIndex, int sideIndex) = GetPositionIdentifier(target);
        TowerUI targetUI = towerManagers[sideIndex].towerUIs[laneIndex];

        UnitUI[] attackers = new UnitUI[] {
            FindUnitUI(gameManager.Lanes[laneIndex].Units[1 - sideIndex, 0]),
            FindUnitUI(gameManager.Lanes[laneIndex].Units[1 - sideIndex, 1])
        }.Where(unitUI => unitUI != null).ToArray();

        List <Func <Coroutine> > callbacks = new List <Func <Coroutine> >();

        callbacks.Add(() => damageTextManager.DamageTextPopup(
                          targetUI.transform.position,
                          $"-{damageAmount}"
                          ));
        callbacks.AddRange(
            attackers.Select <UnitUI, Func <Coroutine> >(attacker => () => attacker.AttackMove(AttackDirection(1 - sideIndex)))
            );

        targetUI.RenderTower();
        return(StartCoroutine(ParallelCoroutine(callbacks.ToArray())));
    }
Esempio n. 20
0
 private void InitializeScripts()
 {
     Appearance = GetComponentInChildren <TowerAppearance>();
     UI         = GetComponentInChildren <TowerUI>();
     TBehavior  = GetComponentInChildren <TowerBehavior>();
 }
 // Start is called before the first frame update
 void Start()
 {
     previewable = GetComponent <TowerPreviewable>();
     towerUI     = GetComponentInChildren <TowerUI>();
 }
Esempio n. 22
0
 public void ShowUpgradeUI()
 {
     TowerUI.Show_Static(this);
 }
Esempio n. 23
0
 public bool RemoveTower(TowerUI tower)
 {
     return(Towers.Remove(tower));
 }
Esempio n. 24
0
 /// <summary>
 /// Cache the attached Canvas and the attached TowerControllerUI
 /// </summary>
 protected virtual void Awake()
 {
     m_Canvas  = GetComponent <Canvas>();
     m_TowerUI = GetComponent <TowerUI>();
 }
Esempio n. 25
0
 private void Start()
 {
     uiHandler = GetComponent <TowerUI>();
 }
Esempio n. 26
0
 private void Start()
 {
     objectPool.AddPrototype(floatingText);
     objectPool.AddParentObject(this.gameObject);
     uiHandler = GetComponent <TowerUI>();
 }
Esempio n. 27
0
 public void AddTower(TowerUI tower)
 {
     Towers.Add(tower);
 }
    private TowerUI towerUI;           //< The UI for this particular object

    /*
     * Start is called prior to the first frame update
     */
    private void Start()
    {
        towerIcon = GetComponent <DragAndDropIcon>();
        towerUI   = GetComponent <TowerUI>();
    }