Exemple #1
0
        protected override void LoadContent()
        {
#if USE_KINECT
            _kinectChooser.LoadContent();
#endif

            PrefabRepository.Instance.RegisterPrefab("Robot", RobotPrefab.CreatePrefab());
            PrefabRepository.Instance.RegisterPrefab("DamagedRobot1", DamagedRobot1Prefab.CreatePrefab());
            PrefabRepository.Instance.RegisterPrefab("Crate", CratePrefab.CreatePrefab());
            PrefabRepository.Instance.RegisterPrefab("Mesh", SimpleMeshPrefab.CreatePrefab());
            PrefabRepository.Instance.RegisterPrefab("Camera", CameraPrefab.CreatePrefab());
            PrefabRepository.Instance.RegisterPrefab(MenuCubePrefab.PrefabName, MenuCubePrefab.CreatePrefab());
            PrefabRepository.Instance.RegisterPrefab("Button", ButtonPrefab.CreatePrefab());
            PrefabRepository.Instance.RegisterPrefab("Floor", FloorPrefab.CreatePrefab());
            PrefabRepository.Instance.RegisterPrefab("Wall", WallPrefab.CreatePrefab());
            PrefabRepository.Instance.RegisterPrefab("LiftedDoor", LiftedDoorPrefab.CreatePrefab());
            PrefabRepository.Instance.RegisterPrefab("Trigger", TriggerPrefab.CreatePrefab());
            PrefabRepository.Instance.RegisterPrefab("Saf", SafPrefab.CreatePrefab());
            PrefabRepository.Instance.RegisterPrefab("FloorBridge", FloorBridgePrefab.CreatePrefab());
            PrefabRepository.Instance.RegisterPrefab("UpgradePlatform", UpgradePlatformPrefab.CreatePrefab());
            PrefabRepository.Instance.RegisterPrefab("Pipe", PipePrefab.CreatePrefab());
            PrefabRepository.Instance.RegisterPrefab("SafCollectible", SafCollectiblePrefab.CreatePrefab());

            PrefabRepository.Instance.RegisterPrefab("WallBackground", SimpleMeshPrefab.CreatePrefab("models/quad", "WallMaterial", "wall-node"));
            PrefabRepository.Instance.RegisterPrefab("WallMenu", SimpleMeshPrefab.CreatePrefab("models/quad", "WallMenuMaterial", "wall-node-2"));
            PrefabRepository.Instance.RegisterPrefab("WallMenu2", SimpleMeshPrefab.CreatePrefab("models/quad", "WallMenuMaterial2", "wall-node-3"));

            MaterialRepository.Instance.RegisterMaterial("MenuCubeMaterial", args => MenuCubeMaterial.CreateMaterial(args));
            MaterialRepository.Instance.RegisterMaterial("SafMaterial", args => SafMaterial.CreateMaterial());
            MaterialRepository.Instance.RegisterMaterial("HighlightMaterial", args => HighlightMaterial.CreateMaterial());

            // Unlit materials for style2.0
            MaterialRepository.Instance.RegisterMaterial("ButtonMaterial", args => TexturedMaterial.CreateMaterial("color_button"));
            MaterialRepository.Instance.RegisterMaterial("RobotMaterial", args => TexturedMaterial.CreateMaterial("color_robo"));
            MaterialRepository.Instance.RegisterMaterial("UPlatformMaterial", args => TexturedMaterial.CreateMaterial("color_uplatform"));
            MaterialRepository.Instance.RegisterMaterial("CrateMaterial", args => TexturedMaterial.CreateMaterial("color_crate"));
            MaterialRepository.Instance.RegisterMaterial("CelShadingMaterial", args => TexturedMaterial.CreateMaterial("color_crate"));
            MaterialRepository.Instance.RegisterMaterial("InnerDoorMaterial", args => TexturedMaterial.CreateMaterial("color_door_inner"));
            MaterialRepository.Instance.RegisterMaterial("OuterDoorMaterial", args => TexturedMaterial.CreateMaterial("color_door_outer"));
            MaterialRepository.Instance.RegisterMaterial("WallMaterial", args => TexturedMaterial.CreateMaterial("empty_gray"));
            MaterialRepository.Instance.RegisterMaterial("TileMaterial", args => TexturedMaterial.CreateMaterial("empty_dark_gray"));
            MaterialRepository.Instance.RegisterMaterial("FloorBridgeMaterial", args => TexturedMaterial.CreateMaterial("color_bridge"));
            MaterialRepository.Instance.RegisterMaterial("PipeMaterial", args => TexturedMaterial.CreateMaterial("color_pipe"));
            MaterialRepository.Instance.RegisterMaterial("PowerupSphereMaterial", args => TexturedMaterial.CreateMaterial("empty_dark_gray"));
        }
        private void CreateFloor()
        {
            var floorCountX = _sphereWidth / FloorSpacing + 1;
            var floorCountZ = _sphereLength / FloorSpacing + 1;

            for (var x = 0; x < floorCountX; x++)
            {
                for (var z = 0; z < floorCountZ; z++)
                {
                    var floor = FloorPrefab.Instantiate().First();
                    _rootScene.Entities.Add(floor);

                    floor.Transform.Position = new Vector3(
                        floor.Transform.Position.X + x * FloorSpacing,
                        0,
                        floor.Transform.Position.Z + z * FloorSpacing
                        );
                }
            }
        }