Esempio n. 1
0
    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;
 }
Esempio n. 4
0
 public EntitasEntitySystem(EntitasSystemEnvironment parameters)
     : base(parameters)
 {
 }
Esempio n. 5
0
 protected abstract void CreateSystems(Feature feature, EntitasSystemEnvironment parameters);
 public EntitasSystemState(EntitasSystemEnvironment systemEnvironment)
     : base(systemEnvironment)
 {
 }