public IButtonEffect GetEffect(ButtonEffectType effect, ButtonBase button) { if (Effects.ContainsKey(effect)) { return((IButtonEffect)System.Activator.CreateInstance(Effects[effect], new object[] { button })); } return(null); }
protected override void Start() { base.Start(); if (Transform.childCount != 0) { TextTransform = Transform.GetChild(0); if (TextTransform != null) { Text = TextTransform.GetComponent <Text>(); } } Button = GetComponent <Button>(); ButtonEffectType effect = SetButtonEffect(); ButtonEffect = ButtonManager.Instance.GetEffect(effect, this); var action = AddMethod(); Button.onClick.AddListener(() => action()); }