Ejemplo n.º 1
0
        public bool Initialize(Engine engine)
        {
            this.engine = engine;
            if (!TryOpenMpq(out mpq))
            {
                OnFailedInitialize?.Invoke();
                waitForInitialized.SetResult(false);
                waitForInitialized = new();
                return(false);
            }
            coroutineManager    = new();
            NotificationsCenter = new NotificationsCenter(this);
            TimeManager         = new TimeManager(this);
            ScreenSpaceSelector = new ScreenSpaceSelector(this);
            DbcManager          = new DbcManager(this, databaseClientFileOpener);
            CurrentMap          = DbcManager.MapStore.FirstOrDefault(m => m.Id == 1) ?? Map.Empty;
            TextureManager      = new WoWTextureManager(this);
            MeshManager         = new WoWMeshManager(this);
            MdxManager          = new MdxManager(this);
            WmoManager          = new WmoManager(this);
            ChunkManager        = new ChunkManager(this);
            CameraManager       = new CameraManager(this);
            LightingManager     = new LightingManager(this);
            AreaTriggerManager  = new AreaTriggerManager(this);
            RaycastSystem       = new RaycastSystem(engine);
            ModuleManager       = new ModuleManager(this, gameView); // must be last

            OnInitialized?.Invoke();
            IsInitialized = true;
            waitForInitialized.SetResult(true);
            return(true);
        }
Ejemplo n.º 2
0
 // Start is called before the first frame update
 void Start()
 {
     playerInputDecoder            = GetComponent <PlayerInputDecoder>();
     playerInputDecoder.AutoUpdate = false;
     player        = GetComponent <Transform>();
     controller    = GetComponent <CharacterController>();
     weaponSystem  = GetComponent <WeaponSystem>();
     raycastSystem = GetComponent <RaycastSystem>();
 }
Ejemplo n.º 3
0
        public bool Initialize()
        {
            var gameFiles = ResolveOrCreate <IGameFiles>();

            if (!gameFiles.Initialize())
            {
                return(false);
            }
            coroutineManager = new();

            dbcManager = ResolveOrCreate <DbcManager>();
            SetMap(1);

            foreach (var store in dbcManager.Stores())
            {
                registry.RegisterInstance(store.Item1, store.Item2);
            }

            notificationsCenter = ResolveOrCreate <NotificationsCenter>();
            timeManager         = ResolveOrCreate <TimeManager>();
            screenSpaceSelector = ResolveOrCreate <ScreenSpaceSelector>();
            loadingManager      = ResolveOrCreate <LoadingManager>();
            textureManager      = ResolveOrCreate <WoWTextureManager>();
            meshManager         = ResolveOrCreate <WoWMeshManager>();
            mdxManager          = ResolveOrCreate <MdxManager>();
            wmoManager          = ResolveOrCreate <WmoManager>();
            worldManager        = ResolveOrCreate <WorldManager>();
            chunkManager        = ResolveOrCreate <ChunkManager>();
            cameraManager       = ResolveOrCreate <CameraManager>();
            lightingManager     = ResolveOrCreate <LightingManager>();
            areaTriggerManager  = ResolveOrCreate <AreaTriggerManager>();
            raycastSystem       = ResolveOrCreate <RaycastSystem>();
            moduleManager       = ResolveOrCreate <ModuleManager>();

            IsInitialized = true;
            return(true);
        }
Ejemplo n.º 4
0
    public void InventoryGrabTest()
    {
        var contexts = new Contexts();


        //create item
        var cubeEntity = contexts.game.CreateEntity();

        cubeEntity.AddIngredient(IngredientsType.Crystal);

        var cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
        var link = cube.AddComponent <GameObjectEntityLink>();

        link.Entity = cubeEntity;
        cubeEntity.AddGameObject(cube);

        cube.transform.position = new Vector3(5, 0, 0);

        var camera = new GameObject().AddComponent <Camera>();

        camera.transform.LookAt(cube.transform, Vector3.up);
        contexts.game.SetCamera(camera);
        contexts.game.cameraEntity.AddDistance(float.MaxValue);

        var tryGrabSystem = new RaycastSystem(contexts);

        var click = contexts.input.CreateEntity();

        click.isClick = true;

        Assert.IsFalse(cubeEntity.isInsideInventory);

        tryGrabSystem.Execute();

        Assert.IsTrue(cubeEntity.isInsideInventory);
    }
Ejemplo n.º 5
0
 public override void GetSystemDependencies(Dependencies dependencies)
 {
     m_inputManagementSystem = dependencies.GetDependency <InputManagementSystem>();
     m_raycastSystem         = dependencies.GetDependency <RaycastSystem>();
 }