public static Dictionary <Vector2, TowerPositionData> CardinalTowersNoAnglesLoop(TowerSlotController self, Dictionary <Vector2, TowerSlotController> allTowers, CardinalSet cardinalSet) { Dictionary <Vector2, TowerPositionData> dict = new Dictionary <Vector2, TowerPositionData>(); Vector2 selfPosition = self.transform.position; float towerDiscoveryRange = StaticObjects.Instance.TowerSize; float SecondTowerDiscoveryRange = SelectorTest2.instance.SecondDiscoveryRange; float RangeMultiplier = SelectorTest2.instance.SecondDiscoveryRangeMultiplier; for (int i = 0; i < cardinalSet.length; i++) { dict.Add(cardinalSet.directionsClockwise[i], new TowerPositionData(null as TowerSlotController, 999f)); } foreach (var item in allTowers) { if (item.Value.name == self.name || item.Value == null) { continue; } TowerPositionQuery tq = new TowerPositionQuery(selfPosition, item.Key, towerDiscoveryRange); for (int i = 0; i < cardinalSet.length; i++) { if (cardinalSet.discoveryConditionsClockwise[i](tq)) { float d = Vector2.Distance(selfPosition, item.Key); if (dict[cardinalSet.directionsClockwise[i]].Distance > d) { dict[cardinalSet.directionsClockwise[i]] = new TowerPositionData(item.Value, d); } } } } return(dict); }
public override void Action(TowerSlotController tsc) { foreach (var ta in Actions) { ta.ExecuteAction(tsc); } }
public void initActions(TowerSlotController tsc) { parentTowerSlotController = tsc; North?.InitAction(tsc); East?.InitAction(tsc); South?.InitAction(tsc); West?.InitAction(tsc); }
public void ExecuteAction(TowerSlotController tsc) { if (CanActionExecute()) { Action(tsc); } actionCounter += 1; }
public override void InitActionSpecific(TowerSlotController tsc) { foreach (var towerAction in Actions) { towerAction.towerComponent = towerComponent; towerAction.InitAction(tsc); } }
protected void Awake() { TowerComponents = GetComponentsInChildren <TowerComponent>().ToList(); foreach (var tc in TowerComponents) { tc.ParentTowerConroller = this; } TowerActionManager = GetComponent <TowerActionManager>(); onInit += delegate(TowerSlotController towerSlotController) { ParentSlotController = towerSlotController; }; onInit += delegate(TowerSlotController controller) { WeaponController = GetComponentInChildren <GenericWeaponController>(); }; onInit += TowerActionManager.initActionManager; }
public void InitAction(TowerSlotController tsc) { ParentSlotController = tsc; PlayerResources.Instance.onMoneyzUpdate += EnoughMoneyzCheck; //PlayerResources.Instance.UpdateMoneyz(0); if (towerComponent == null) { InitActionSpecific(tsc); } else { InitActionSpecific(tsc); onInitAction += InitActionSpecific; towerComponent.onInitComponent += OnInitAction; } }
public override void Action(TowerSlotController tsc) { ParentSlotController.PlaceNewTower(TowerArsenal.arsenal.BaseTowerWest.TowerPrefab); }
public override void InitActionSpecific(TowerSlotController tsc) { Cost = TowerArsenal.arsenal.BaseTowerWest.Cost; }
public override bool SpecificExecuteCondition(TowerSlotController tsc) { return(base.SpecificExecuteCondition(tsc)); }
public override void Action(TowerSlotController tsc) { ParentSlotController.PlaceNewTower(TowerPrefab); }
public override void InitActionSpecific(TowerSlotController tsc) { }
public override void Action(TowerSlotController tsc) { towerComponent.UpdateRange(RangeUpdate, DetectorsToApplyOn); }
public void initActionManager(TowerSlotController tsc) { parentSlotController = tsc; parentTowerController = tsc.ChildTower; Actions.initActions(tsc); }
public void onActionTerminate(TowerSlotController tsc) { PlayerResources.instance.onMoneyzUpdate -= EnoughMoneyzCheck; }
public override void Action(TowerSlotController tsc) { towerComponent.UpdateEffect(DamageUpdate, DamageEffects); }
public override void InitActionSpecific(TowerSlotController tsc) { var q = towerComponent.GetEffectList().Where(x => x.EffectName() == DamageUpdate.EffectName()).ToList(); DamageEffects = q; }
public override void Action(TowerSlotController tsc) { tsc.PlaceNewTowerLegacy(UpgradeTowerObject.gameObject); }
public virtual bool SpecificExecuteCondition(TowerSlotController tsc) { return(true); }
public abstract void Action(TowerSlotController tsc);
public abstract void InitActionSpecific(TowerSlotController tsc);
public void OnInit(TowerSlotController tsc) { onInit?.Invoke(tsc); }
public void OnTowerSelect(TowerSlotController tsc) { onTowerSelect?.Invoke(tsc); }
public override void InitActionSpecific(TowerSlotController tsc) { DetectorsToApplyOn = towerComponent.GetTagDetectors(); }