예제 #1
0
 public InitGameSceneSystem(Contexts contexts, Services services) : base(contexts.game)
 {
     this.context = contexts.game;
     this.entityFactoryService = services.entityFactoryService as EntityFactoryService;
     unityAudioService         = services.audioService as UnityAudioService;
     configService             = services.configService;
 }
예제 #2
0
    public void ReplaceUnityAudioService(UnityAudioService newInstance)
    {
        var index     = MetaComponentsLookup.UnityAudioService;
        var component = CreateComponent <UnityAudioServiceComponent>(index);

        component.instance = newInstance;
        ReplaceComponent(index, component);
    }
예제 #3
0
    public MetaEntity SetUnityAudioService(UnityAudioService newInstance)
    {
        if (hasUnityAudioService)
        {
            throw new Entitas.EntitasException("Could not set UnityAudioService!\n" + this + " already has an entity with UnityAudioServiceComponent!",
                                               "You should check if the context already has a unityAudioServiceEntity before setting it or use context.ReplaceUnityAudioService().");
        }
        var entity = CreateEntity();

        entity.AddUnityAudioService(newInstance);
        return(entity);
    }
예제 #4
0
    public void ReplaceUnityAudioService(UnityAudioService newInstance)
    {
        var entity = unityAudioServiceEntity;

        if (entity == null)
        {
            entity = SetUnityAudioService(newInstance);
        }
        else
        {
            entity.ReplaceUnityAudioService(newInstance);
        }
    }
예제 #5
0
    /// <summary>
    /// 初始化所有服务
    /// </summary>
    private void InitService(Contexts contexts)
    {
        UnityInputService    inputService         = new UnityInputService();
        ConfigService        configService        = new ConfigService();
        UnityViewService     unityViewService     = new UnityViewService(contexts);
        EntityFactoryService entityFactoryService = new EntityFactoryService(contexts, configService);
        UnityAudioService    unityAudioService    = new UnityAudioService();

        contexts.meta.ReplaceInputService(inputService);
        contexts.meta.ReplaceEntityFactoryService(entityFactoryService);
        contexts.meta.ReplaceUnityAudioService(unityAudioService);
        contexts.meta.ReplaceConfigService(configService);

        services = new Services(inputService,
                                configService,
                                unityViewService,
                                entityFactoryService,
                                unityAudioService);
    }
예제 #6
0
 public ScoreSystem(Contexts contexts, Services services) : base(contexts.game)
 {
     this.contexts     = contexts;
     unityAudioService = services.audioService as UnityAudioService;
     configService     = services.configService;
 }
예제 #7
0
 public GameEndSystem(Contexts contexts, Services services) : base(contexts.game)
 {
     this.context      = contexts.game;
     this.audioService = services.audioService as UnityAudioService;
     configService     = services.configService;
 }