public class ButtonClickView : View {
[Inject] public InitiationView initiationView { get; set; } // the view i want to inject
[Inject] public IEventDispatcher dispatcher { get; set; }
Button myButton; protected override void OnEnable() { myButton = GetComponent<Button>(); myButton.onClick.AddListener(Clicked); } protected override void OnDisable() { myButton.onClick.RemoveListener(Clicked);
}
void Clicked() { dispatcher.Dispatch("Clicked"); }
public void Button_Clicked() { UnityEngine.Debug.Log("Clicked"); initiationView.gameObject.GetComponent<Image>().sprite = initiationView.O; } }
public class GameContext : MVCSContext { public GameContext(MonoBehaviour view) : base(view) { }
public GameContext(MonoBehaviour view, ContextStartupFlags flags) : base(view, flags) { }
protected override void mapBindings() {
injectionBinder.Bind<ITicTacToeData>().To<TicTacToeData>().ToSingleton(); mediationBinder.Bind<InitiationView>().To<InitiationMediator>(); mediationBinder.Bind<ButtonClickView>().To<ButtonMediator>(); }
protected override void addCoreComponents() { base.addCoreComponents(); injectionBinder.Unbind<ICommandBinder>(); injectionBinder.Bind<ICommandBinder>().To<EventCommandBinder>().ToSingleton(); } } public class ButtonClickView : View { public InitiationView initiationView; [Inject] public IEventDispatcher dispatcher { get; set; } public GameObject canvas;
Button myButton; protected override void OnEnable() { myButton = GetComponent<Button>(); myButton.onClick.AddListener(Clicked);
var canvas= this.transform.parent.gameObject;
} protected override void OnDisable() { myButton.onClick.RemoveListener(Clicked);
}
void Clicked() { // Debug.Log("" + this.transform.parent.name); this return correctly the name of the canvas where InitiationView is attached
initiationView = canvas.GetComponent<InitiationView>(); dispatcher.Dispatch("Clicked"); } public void Button_Clicked() { UnityEngine.Debug.Log("Clicked"); initiationView.gameObject.GetComponent<Image>().sprite = initiationView.O; } }--
You received this message because you are subscribed to the Google Groups "StrangeIoC" group.
To unsubscribe from this group and stop receiving emails from it, send an email to strangeioc+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.