protected override void EnterProcedure(StateEventArg arg) { m_contexts = new Contexts(); m_eventRoute = new EntitasEventRoute(m_contexts); m_rootNode = new GameObject(GetRootNodeName()).transform; RootNodeService.RootNode = m_rootNode; m_blackboard = new Blackboard(); m_procedureStateMachine = CreateStateMachine(); m_schedulable = new Schedulable(); m_systems = new Feature("Systems"); EntitasSystemEnvironment parameters = new EntitasSystemEnvironment(m_contexts.game, EventRoute, Blackboard, ProcedureStateMachine, m_schedulable); CreateSystems(m_systems, parameters); m_systems.Initialize(); if (ProcedureStateMachine != null) { ProcedureStateMachine.EnterStateEvent += OnEnterState; RequireStateTransitionDelay("__Start"); } }
public EntitasSystemBase(EntitasSystemEnvironment parameters) : base(parameters) { SystemEnvironment = parameters; }
public ISystemState(EntitasSystemEnvironment systemEnvironment) { SystemEnvironment = systemEnvironment; }
public EntitasEntitySystem(EntitasSystemEnvironment parameters) : base(parameters) { }
protected abstract void CreateSystems(Feature feature, EntitasSystemEnvironment parameters);
public EntitasSystemState(EntitasSystemEnvironment systemEnvironment) : base(systemEnvironment) { }