示例#1
0
 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));
 }
示例#3
0
 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;
 }
示例#5
0
 private void DispatchPropertyModifiersAppliedEvent(PropertyModifierHandler handler, PropertyModifier[] propertyModifiers)
 {
     CodeControl.Message.Send(new TowerModifierAppliedEvent(handler, propertyModifiers));
 }