internal void Initialize(Tower tower) { this.tower = tower; DeactivateAllDisplays(); elementsArray = tower.elements.ToArray(); modifierHandler = tower.modifierHandler; modifierHandler.OnPropertyReset += OnPropertyReset; modifierHandler.OnPropertyApplied += OnPropertyApplied; projectileDisplay.sprite = projectileIcons[(int)tower.elements.Peek()]; SetupTexts(); SetupDisplays(); SetupButtons(); gameObject.SetActive(true); }
private void Awake() { animator = GetComponent <Animator>(); propertyModifierHandler = new PropertyModifierHandler((particle) => Destroy(particle)); }
public Tower(Transform transform, Queue <Element> elements, PropertyModifierHandler modifierHandler) { this.transform = transform; this.elements = elements; this.modifierHandler = modifierHandler; }
public TowerModifierAppliedEvent(PropertyModifierHandler handler, PropertyModifier[] propertyModifiers) { this.handler = handler; this.propertyModifiers = propertyModifiers; }
private void DispatchPropertyModifiersAppliedEvent(PropertyModifierHandler handler, PropertyModifier[] propertyModifiers) { CodeControl.Message.Send(new TowerModifierAppliedEvent(handler, propertyModifiers)); }