public override void step(Tower tower) { tower.stats.attackSpeedMult += 0.2f; //attack speedi %20 arttirir. tower.stats.rangeDivider = Math.Min(tower.stats.rangeDivider, 0.3f); //range'i %30'una dusur. tower.stats.attackTimeReduction += 0.3f; // attack speedi 0.3 kadar arttir. }
protected Missile(int instanceId, Tower tower, Minion minion) { this.instanceId = instanceId; this.ownerTower = tower; this.targetMinion = minion; this.position = tower.getWorldMissileCreatePosition(); }
public CatapultMissile(int instanceId, Tower ownerTower, Minion targetMinion) : base(instanceId,ownerTower, targetMinion) { //position = ownerTower.getWorldPosition(); targetPosition = targetMinion.getWorldHeadPosition(); lastDistanceToTarget = (targetPosition - position).magnitude; calcSpeedDirection(); }
public RegularBoard() { if (towerSlots != null) { towers = new Tower[towerSlots.positions.Length]; } }
public virtual void createTower (Tower t) { tower = t; t.tag = this; towerObject = (GameObject)GameObject.Instantiate(childStaticTowerObject); towerObject.name = "t_" + tower.board.instanceId + "_" + tower.indexOnBoard; towerObject.transform.position = tower.board.getTowerPosition(tower.indexOnBoard); rangeProjector = (Projector)GameObject.Instantiate(childStaticRangeProjector); rangeProjector.transform.parent = towerObject.transform; rangeProjector.transform.localPosition = new Vector3(0, 0.2f, 0); rangeProjector.orthographicSize = tower.stats.baseRange; rangeProjector.enabled = false; GameObject.Instantiate(UIControllerGame.getInstance().createTowerEffect, towerObject.transform.position, Quaternion.identity); soundPlayer = towerObject.AddComponent<AudioSource>(); soundPlayer.volume = 1; soundPlayer.PlayOneShot((AudioClip)Resources.Load("Sound/tower_build")); }
public BallistaMissile(int instanceId, Tower ownerTower, Minion targetMinion) : base(instanceId,ownerTower, targetMinion) { }
public override void step(Tower tower) { tower.stats.stunned = true; }
/// <summary> /// Verilen kuleyi board'dan siler. /// </summary> /// <param name="tower">board'dan silinecek kule</param> /// <returns>Verilen kulenin indexOnBoard degeri, towerSlots index araliginin disinda olmasi durumunda false return eder. /// Verilen kulenin, indexOnBoard ile belirtilen konumda bulunmamasi durumunda false return eder (Bu konumda boyle bir kule yok!). Diger her durum icin return 'true'dur.</returns> /// <remarks>Eger tower oyundan tamamen silinecekse (bu remove fonksiyonundan sonra baska bir boardda kullanilmayacaksa) bu fonksiyonla birlikte tower.destroyable = true; islemini yapmayi unutmayin</remarks> public bool RemoveTower(Tower tower) { int slotIndex = tower.indexOnBoard; if (slotIndex > 0 && slotIndex < towers.Length && towers[slotIndex] == tower) { towers[slotIndex] = null; return true; } return false; }
/// <summary> /// Verilen kuleyi indexi verilen towerSlot a yerlestirir. /// </summary> /// <param name="tower">board'a yerlestirilecek kule</param> /// <param name="slotIndex">kulenin yerlestirilecegi slotun indexi</param> /// <returns>Verilen slot indexin, towerSlots index araliginin disinda olmasi durumunda false return eder.</returns> public bool AddTower(Tower tower, int slotIndex) { if (slotIndex >= 0 && slotIndex < towers.Length) { if(PlayerMe.self.id == this.player.id) { if(PlayerMe.cash >= tower.getCost()) { PlayerMe.cash -= tower.getCost(); Runner.Graphics.updateCashAndIncome(); } //else comment'e aldim cunku: server kuleyi ekle diyor, clienttaki para belki yanlistir bilmiyoruz ki. neden parasi yoksa eklemiyoruz anlamadim. //return false; } towers[slotIndex] = tower; tower.board = this; tower.indexOnBoard = slotIndex; return true; } return false; }
public TrypanophobiaMissile(int instanceId, Tower ownerTower, Minion targetMinion) : base(instanceId, ownerTower, targetMinion) { }
public OneToAllMissile(int instanceId, Tower ownerTower, Minion targetMinion) : base(instanceId,ownerTower, targetMinion) { }
public abstract void step(Tower tower);
public PetrolBombMissile(int instanceId, Tower ownerTower, Minion targetMinion) : base(instanceId,ownerTower, targetMinion) { targetPosition = targetMinion.getWorldPosition(); }
public SeedTowerMissile(int instanceId, Tower ownerTower, Minion targetMinion) : base(instanceId, ownerTower, targetMinion) { }
public ElectricityMissile(int instanceId, Tower ownerTower, Minion targetMinion) : base(instanceId,ownerTower, targetMinion) { }
public ContagiousMissile(int instanceId, Tower ownerTower, Minion targetMinion) : base(instanceId,ownerTower, targetMinion) { }
public void upgradeTower(Tower tower) { createTower (tower); if (tower.board == PlayerMe.self.board) { MouseHandler.lastSelectedTower = (ITowerGUI)tower.tag; MouseHandler.lastSelectedTower.onTowerSelected(); ((ITowerGUI)tower.tag).drawInfoPanelGUI(); } }
public void addTowerEffect(Tower tower, ITowerEffect effect) { // TODO }
public void createTower(Tower tower) { ITowerGUI gui = (ITowerGUI)Activator.CreateInstance(Type.GetType("Assets.Scripts.GUI.Towers." + tower.GetType().Name + "GUI, Assembly-CSharp")); towerGUIs.AddLast(gui); gui.createTower(tower); }