public ResearchAction CreateResearch(ResearchBase research) { ResearchAction researchAction = ScriptableObject.CreateInstance <ResearchAction>(); researchAction.research = research; return(researchAction); }
public override void HandleInput(InputEvent inputEvent) { if (inputEvent is ResearchButtonClickedInput) { ResearchButtonClickedInput researchButtonClickedInput = inputEvent as ResearchButtonClickedInput; ResearchAction researchAction = researchController.CreateResearch(researchButtonClickedInput.research); if (researchAction.CanExecute(player)) { researchAction.Execute(player); } } if (inputEvent is OpenResearchInput) { dispatcher.Dispatch <IdleState>(); } }