コード例 #1
0
    // Start is called before the first frame update
    void Start()
    {
        properties = transform.GetComponent <TowerProperties>();

        targets       = new Transform[Boards.boards.Length];
        lines         = new GameObject[Boards.boards.Length];
        fireCountdown = new float[Boards.boards.Length];
        firePoint     = transform.parent.Find("FirePoint");


        /* for (int i = 0; i < lines.Length; i++){
         *  lines[i] = new GameObject();
         *  lines[i].transform.position = transform.position;
         *  lines[i].AddComponent<LineRenderer>();
         *  LineRenderer lr = lines[i].GetComponent<LineRenderer>();
         *  lr.startColor = Color.red;
         *  lr.endColor = Color.red;
         *  lr.startWidth = 0.1f;
         *  lr.endWidth = 0.1f;
         *  lr.SetPosition(0, firePoint.position);
         *  lr.SetPosition(1, firePoint.position);
         * } */



        InvokeRepeating("UpdateTarget", 0f, 0.5f);
    }
コード例 #2
0
ファイル: PawnUpgrades.cs プロジェクト: Oli-26/TDGame
    public override void Apply(TowerProperties p, ShotProperties s)
    {
        PawnProperties props = p as PawnProperties;

        Debug.Log("Tower Properties: " + p.GetType() + " " + (props == null) + " " + this.name + " ShotProperties: " + s.GetType());
        effect(p as PawnProperties, s);
    }
コード例 #3
0
        public void OnButtonSpawnTower(TowerProperties tower)
        {
            if (CannotAffordTower(tower))
            {
                OnDisplayMessage?.Invoke("not enough money.");
                return;
            }

            switch (TowerPlacementState)
            {
            case TowerPlacementState.NotPlacingTower:
                TowerPlacementState = TowerPlacementState.PlacingTower;
                SpawnTower(tower);
                break;

            case TowerPlacementState.PlacingTower:
                Destroy(_currentTowerGO);
                SpawnTower(tower);
                break;

            case TowerPlacementState.CannotPlaceTower:
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
コード例 #4
0
    // Start is called before the first frame update
    void Start()
    {
        properties = transform.GetComponent <TowerProperties>();
        graphics   = GameMaster.boardGraphics;

        targets       = new Transform[Boards.boards.Length];
        lines         = new GameObject[Boards.boards.Length];
        fireCountdown = new float[Boards.boards.Length];
        firePoint     = transform.Find("FirePoint");



        /* boardRanges = new float[4];
         * boardFireRates = new float[4];
         * boardDamages = new float[4];
         * boardBulletPrefabs = new GameObject[4]; */

        /* for (int i = 0; i < lines.Length; i++){
         *  lines[i] = new GameObject();
         *  lines[i].transform.position = transform.position;
         *  lines[i].AddComponent<LineRenderer>();
         *  LineRenderer lr = lines[i].GetComponent<LineRenderer>();
         *  lr.startColor = Color.red;
         *  lr.endColor = Color.red;
         *  lr.startWidth = 0.1f;
         *  lr.endWidth = 0.1f;
         *  lr.SetPosition(0, firePoint.position);
         *  lr.SetPosition(1, firePoint.position);
         * }  */



        InvokeRepeating("UpdateTarget", 1f, 0.5f);
    }
コード例 #5
0
        public void ShowTowerInformation(TowerProperties towerProperties)
        {
            _towerInformationPanel.SetActive(true);

            _towerName.text        = towerProperties.TowerName;
            _towerCost.text        = $"<b>Cost:</b> {towerProperties.Cost.ToString()}";
            _towerSpeed.text       = $"<b>Speed:</b> {towerProperties.Speed}";
            _towerDescription.text = towerProperties.Description;
        }
コード例 #6
0
ファイル: Tower.cs プロジェクト: oushiff/TowerDefenseAI
    protected virtual void Start()
    {
        if (properties == null)
        {
            baseTower = GameData.instance.GetTower(type, level);

            TowerProperties baseProperties = new TowerProperties();
            baseProperties.Load(type, level);
            properties = new TowerPropertiesQueue();
            properties.Initialize(baseProperties, Time.time);
        }
        SetRange();

        online = true;
        //assign the towerRange to the sphere collider radius
        this.GetComponent <SphereCollider>().radius = 2 * (float)properties.active.range;

        extradamage  = 0;
        nextFireTime = Time.time + (float)properties.active.rateOfFire;

        healthBar = UIManager.instance.GetHealthBar();
        healthBar.UpdateName("Tower: " + type);
        healthBar.UpdateGUI(transform.position, properties.active.hp / properties.active.maxHp, 4);
    }
コード例 #7
0
ファイル: ClientTower.cs プロジェクト: DSobscure/IANT
 public override Tower Instantiate(TowerProperties properties)
 {
     return(new ClientTower(properties, bulletPrefab));
 }
コード例 #8
0
ファイル: ClientTower.cs プロジェクト: DSobscure/IANT
 public ClientTower(TowerProperties properties, GameObject bulletPrefab) : base(properties)
 {
     this.bulletPrefab = bulletPrefab;
 }
コード例 #9
0
 private void SpawnTower(TowerProperties tower)
 {
     _currentTowerGO     = Instantiate(_baseTowerPrefab, Vector3.zero, Quaternion.identity);
     _curTowerController = _currentTowerGO.GetComponent <TowerController>();
     _curTowerController.InitializeTower(tower);
 }
コード例 #10
0
 private bool CannotAffordTower(TowerProperties tower)
 {
     return(_gameController.Money < tower.Cost);
 }
コード例 #11
0
 public override void Apply(TowerProperties p, ShotProperties s)
 {
     effect(p as KnightProperties, s as SplitShotProperties);
 }
コード例 #12
0
ファイル: TowerUpgrade.cs プロジェクト: Oli-26/TDGame
 public abstract void Apply(TowerProperties p, ShotProperties s);
コード例 #13
0
ファイル: CastleUpgrades.cs プロジェクト: Oli-26/TDGame
 public override void Apply(TowerProperties p, ShotProperties s)
 {
     effect(p as CastleProperties, s);
 }
コード例 #14
0
 public override void Apply(TowerProperties p, ShotProperties s)
 {
     effect(p as BishopProperties, s);
 }
コード例 #15
0
ファイル: QueenUpgrades.cs プロジェクト: Oli-26/TDGame
 public override void Apply(TowerProperties p, ShotProperties s)
 {
     effect(p as QueenProperties, s as NanoBotProperties);
 }