Exemplo n.º 1
0
        public CrateEntity(
            I2DRenderUtilities twodRenderUtilities,
            ICubeRenderer cubeRenderer,
            IAssetManagerProvider assetManagerProvider,
            INetworkAPI networkAPI,
            int id,
            int x,
            int y,
            Dictionary<string, string> attributes)
            : base(twodRenderUtilities,
                cubeRenderer,
                assetManagerProvider,
                networkAPI,
                Convert.ToInt32(attributes["NetworkID"]))
        {
            this.X = x / 16f;
            this.Z = y / 16f;
            this.JoinShouldOwn = Convert.ToBoolean(attributes["JoinOwns"]);
            this.CanPush = true;

            this.Width = 0.8f;
            this.Depth = 0.8f;

            this.m_BlueCrateTexture = assetManagerProvider.GetAssetManager().Get<TextureAsset>("texture.BlueCrate");
            this.m_RedCrateTexture = assetManagerProvider.GetAssetManager().Get<TextureAsset>("texture.RedCrate");
            this.m_CrateModel = assetManagerProvider.GetAssetManager().Get<ModelAsset>("model.Crate");
        }
Exemplo n.º 2
0
        public GoalEntity(
            I2DRenderUtilities twodRenderUtilities,
            ICubeRenderer cubeRenderer,
            IAssetManagerProvider assetManagerProvider,
            INetworkAPI networkAPI,
            int id,
            int x,
            int y,
            Dictionary<string, string> attributes)
            : base(twodRenderUtilities,
                cubeRenderer,
                assetManagerProvider,
                networkAPI,
                Convert.ToInt32(attributes["NetworkID"]))
        {
            this.X = x / 16f + 0.4f;
            this.Z = y / 16f + 0.4f;
            this.CanPickup = false;
            this.JoinShouldOwn = Convert.ToBoolean(attributes["JoinOwns"]);

            this.Width = 0.2f;
            this.Depth = 0.2f;

            this.m_GoalTexture = assetManagerProvider.GetAssetManager().Get<TextureAsset>("texture.Goal");
            this.m_GoalModel = assetManagerProvider.GetAssetManager().Get<ModelAsset>("model.Goal");
        }
 public LabelUserInterfaceNodeProcessor(
     IAssetManagerProvider assetManagerProvider,
     INodeColorParser nodeColorParser)
 {
     _nodeColorParser = nodeColorParser;
     _assetManager = assetManagerProvider.GetAssetManager();
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="Default2DRenderUtilities"/> class.
 /// </summary>
 /// <param name="stringSanitizer">
 /// The dependency injected <see cref="IStringSanitizer"/> instance.
 /// </param>
 public Default2DRenderUtilities(
     IStringSanitizer stringSanitizer,
     IAssetManagerProvider assetManagerProvider)
 {
     this.m_StringSanitizer = stringSanitizer;
     this.m_ColorEffect = assetManagerProvider.GetAssetManager().Get<EffectAsset>("effect.Color").Effect;
 }
 public DefaultDebugRenderPass(IAssetManagerProvider assetManagerProvider)
 {
     _basicEffect = assetManagerProvider.GetAssetManager().Get<UberEffectAsset>("effect.BuiltinSurface").Effects["Color"];
     Lines = new List<VertexPositionNormalColor>();
     Triangles = new List<VertexPositionNormalColor>();
     EnabledLayers = new List<IDebugLayer>();
 }
Exemplo n.º 6
0
        public PlayerEntity(
            I2DRenderUtilities twodRenderUtilities,
            ICubeRenderer cubeRenderer,
            IAssetManagerProvider assetManagerProvider,
            INetworkAPI networkAPI,
            bool isRedColor,
            bool locallyOwned)
        {
            this.m_NetworkAPI = networkAPI;
            this.m_2DRenderUtilities = twodRenderUtilities;
            this.m_CubeRenderer = cubeRenderer;
            this.m_PlayerTexture = assetManagerProvider.GetAssetManager().Get<TextureAsset>("texture." + (isRedColor ? "Red" : "Blue"));

            this.LocallyOwned = locallyOwned;

            this.Width = 0.5f;
            this.Depth = 0.5f;

            if (!this.LocallyOwned)
            {
                networkAPI.ListenForMessage(
                    "player update",
                    a =>
                    {
                        var values = a.Split('|').Select(x => float.Parse(x)).ToArray();

                        this.X = values[0];
                        this.Y = values[1];
                        this.Z = values[2];
                    });
            }
        }
        public MyGameWorld(
            I2DRenderUtilities renderUtilities,
            IAssetManagerProvider assetManagerProvider,
            IEntityFactory entityFactory)
        {
            this.Entities = new List<IEntity>();

            _renderUtilities = renderUtilities;
            _assetManager = assetManagerProvider.GetAssetManager();
            _defaultFont = this._assetManager.Get<FontAsset>("font.Default");

            // You can also save the entity factory in a field and use it, e.g. in the Update
            // loop or anywhere else in your game.
            var entityA = entityFactory.CreateExampleEntity("EntityA");
            entityA.X = 100;
            entityA.Y = 50;
            var entityB = entityFactory.CreateExampleEntity("EntityB");
            entityB.X = 120;
            entityB.Y = 100;

            // Don't forget to add your entities to the world!
            this.Entities.Add(entityA);
            this.Entities.Add(entityB);

            // This pulls in the texture asset via the asset manager.  Note that
            // the folder seperator from "texture/Player" has been translated
            // into a single dot.
            _playerTexture = _assetManager.Get<TextureAsset>("texture.Player");
        }
 public Default3DDeferredRenderPass(
     IHierarchy hierarchy,
     IRenderTargetBackBufferUtilities renderTargetBackBufferUtilities,
     IGraphicsBlit graphicsBlit,
     IAssetManagerProvider assetManagerProvider,
     IRenderBatcher renderBatcher)
 {
     _hierarchy = hierarchy;
     _renderTargetBackBufferUtilities = renderTargetBackBufferUtilities;
     _graphicsBlit = graphicsBlit;
     _renderBatcher = renderBatcher;
     _gbufferClearEffect =
         assetManagerProvider.GetAssetManager().Get<EffectAsset>("effect.GBufferClear");
     _gbufferCombineEffect =
         assetManagerProvider.GetAssetManager().Get<EffectAsset>("effect.GBufferCombine");
 }
Exemplo n.º 9
0
 public DefaultCaptureService(
     I2DRenderUtilities twoDRenderUtilities,
     IAssetManagerProvider assetManagerProvider)
 {
     this.m_2DRenderUtilities = twoDRenderUtilities;
     this.m_DefaultFont = assetManagerProvider.GetAssetManager().Get<FontAsset>("font.Default");
 }
Exemplo n.º 10
0
 public StatusBar(
     I2DRenderUtilities twodRenderUtilities,
     IAssetManagerProvider assetManagerProvider)
 {
     this.m_2DRenderUtilities = twodRenderUtilities;
     this.m_AssetManager = assetManagerProvider.GetAssetManager();
     this.m_DefaultFont = this.m_AssetManager.Get<FontAsset>("font.Default");
 }
        public Render3DPlaneComponent(INode node, I3DRenderUtilities renderUtilities, IAssetManagerProvider assetManagerProvider)
        {
            _node = node;
            _renderUtilities = renderUtilities;

            Enabled = true;
            Effect = assetManagerProvider.GetAssetManager().Get<EffectAsset>("effect.Color");
        }
        public DefaultStandardPointLight(
            IAssetManagerProvider assetManagerProvider,
            Vector3 lightPosition,
            Color lightColor,
            float lightRadius,
            float lightIntensity)
        {
            LightPosition = lightPosition;
            LightColor = lightColor;
            LightRadius = lightRadius;
            LightIntensity = lightIntensity;

            _pointLightEffect = assetManagerProvider.GetAssetManager().Get<EffectAsset>("effect.PointLight");
            _pointLightSphereModel = assetManagerProvider.GetAssetManager().Get<ModelAsset>("model.LightSphere").InstantiateModel();

            _parameterSet = _pointLightEffect.Effect.CreateParameterSet();
        }
Exemplo n.º 13
0
        public MenuWorld(ISkin skin, IWorldFactory worldFactory, IAssetManagerProvider assetManagerProvider, I2DRenderUtilities twodRenderUtilities)
        {
            this.m_2DRenderUtilities = twodRenderUtilities;

            this.m_LogoTexture = assetManagerProvider.GetAssetManager().Get<TextureAsset>("texture.Logo");

            this.m_WorldFactory = worldFactory;

            this.Entities = new List<IEntity>();

            var startServer = new Button();
            startServer.Text = "Start Server";
            startServer.Click += (sender, e) =>
            {
                this.m_LastGameContext.SwitchWorld<IWorldFactory>(
                    x => x.CreateLobbyWorld(false, IPAddress.Any));
            };

            var ipAddressTextBox = new TextBox();

            var joinGame = new Button();
            joinGame.Text = "Join Game";
            joinGame.Click += (sender, e) =>
            {
                this.m_LastGameContext.SwitchWorld<IWorldFactory>(
                    x => x.CreateLobbyWorld(true, IPAddress.Parse(ipAddressTextBox.Text)));
            };

            var exitGame = new Button();
            exitGame.Text = "Exit Game";
            exitGame.Click += (sender, e) =>
            {
                this.m_LastGameContext.Game.Exit();
            };

            var vertical = new VerticalContainer();
            vertical.AddChild(new EmptyContainer(), "*");
            vertical.AddChild(new Label { Text = "Perspective" }, "25");
            vertical.AddChild(new EmptyContainer(), "*");
            vertical.AddChild(startServer, "25");
            vertical.AddChild(new EmptyContainer(), "*");
            vertical.AddChild(new Label { Text = "Server IP address:" }, "20");
            vertical.AddChild(ipAddressTextBox, "20");
            vertical.AddChild(joinGame, "25");
            vertical.AddChild(new EmptyContainer(), "*");
            vertical.AddChild(exitGame, "25");
            vertical.AddChild(new EmptyContainer(), "*");

            var horizontal = new HorizontalContainer();
            horizontal.AddChild(new EmptyContainer(), "*");
            horizontal.AddChild(vertical, "250");
            horizontal.AddChild(new EmptyContainer(), "*");

            var canvas = new Canvas();
            canvas.SetChild(horizontal);

            this.Entities.Add(new CanvasEntity(skin, canvas));
        }
Exemplo n.º 14
0
 /// <summary>
 /// Initializes a new instance of the <see cref="BasicSkin"/> class.
 /// </summary>
 /// <param name="skin">
 /// The skin.
 /// </param>
 /// <param name="renderUtilities">
 /// The render utilities.
 /// </param>
 /// <param name="assetManagerProvider">
 /// The asset manager provider.
 /// </param>
 public BasicSkin(
     IBasicSkin skin, 
     I2DRenderUtilities renderUtilities, 
     IAssetManagerProvider assetManagerProvider)
 {
     this.m_BasicSkin = skin;
     this.m_RenderUtilities = renderUtilities;
     this.m_AssetManager = assetManagerProvider.GetAssetManager(false);
 }
 public PhysicsMetricsProfilerVisualiser(
     IAssetManagerProvider assetManagerProvider,
     I2DRenderUtilities renderUtilities,
     IPhysicsEngine physicsEngine)
 {
     _renderUtilities = renderUtilities;
     _physicsEngine = physicsEngine;
     _defaultFont = assetManagerProvider.GetAssetManager().Get<FontAsset>("font.Default");
 }
        public Render3DCubeComponent(INode node, I3DRenderUtilities renderUtilities, IAssetManagerProvider assetManagerProvider)
        {
            _node = node;
            _renderUtilities = renderUtilities;

            Enabled = true;
            Effect = assetManagerProvider.GetAssetManager().Get<UberEffectAsset>("effect.BuiltinSurface").Effects?["Color"];
            Transform = new DefaultTransform();
        }
Exemplo n.º 17
0
 public TychaiaSkin(
     I2DRenderUtilities twodRenderUtilities,
     IAssetManagerProvider assetManagerProvider,
     BasicSkin basicSkin)
 {
     this.m_2DRenderUtilities = twodRenderUtilities;
     this.m_BasicSkin = basicSkin;
     this.m_AssetManager = assetManagerProvider.GetAssetManager(false);
 }
Exemplo n.º 18
0
        /// <summary>
        /// Initializes a new instance of the <see cref="MenuItem"/> class.
        /// </summary>
        /// <param name="assetManagerProvider">
        /// The asset manager provider.
        /// </param>
        /// <param name="renderUtilities">
        /// The render utilities.
        /// </param>
        public MenuItem(IAssetManagerProvider assetManagerProvider, I2DRenderUtilities renderUtilities)
        {
            this.m_RenderUtilities = renderUtilities;
            this.m_AssetManager = assetManagerProvider.GetAssetManager(false);
            this.Active = false;

            // Give menu items a higher visibility over other things.
            this.Order = 10;
        }
Exemplo n.º 19
0
        public GeneratedWorld(
            I2DRenderUtilities twoDRenderUtilities,
            IAssetManagerProvider assetManagerProvider)
        {
            this.Entities = new List<IEntity>();

            this.m_2DRenderUtilities = twoDRenderUtilities;
            this.m_AssetManager = assetManagerProvider.GetAssetManager();
            this.m_DefaultFont = this.m_AssetManager.Get<FontAsset>("font.Default");
        }
 public KernelMetricsProfilerVisualiser(
     IKernel kernel,
     IHierarchy hierachy,
     IAssetManagerProvider assetManagerProvider,
     I2DRenderUtilities renderUtilities)
 {
     _kernel = kernel;
     _hierachy = hierachy;
     _renderUtilities = renderUtilities;
     _defaultFont = assetManagerProvider.GetAssetManager().Get<FontAsset>("font.Default");
 }
Exemplo n.º 21
0
Arquivo: Ship.cs Projeto: gusmanb/Mir
        public Ship(IAssetManagerProvider assetManagerProvider, IFactory factory)
        {
            this.m_Factory = factory;
            this.Cells = new List<ShipCell>();
            this.Rooms = new List<Room>();
            this.m_CulledVertexBuffer = null;
            this.m_CulledIndexBuffer = null;
            this.m_BuffersNeedRecalculation = true;

            this.m_TextureAsset = assetManagerProvider.GetAssetManager().Get<TextureAsset>("ship");
        }
        public DefaultStandardDirectionalLight(
            IAssetManagerProvider assetManagerProvider,
            IGraphicsBlit graphicsBlit,
            Vector3 lightDirection,
            Color lightColor)
        {
            _graphicsBlit = graphicsBlit;
            LightDirection = lightDirection;
            LightColor = lightColor;

            _directionalLightEffect = assetManagerProvider.GetAssetManager().Get<EffectAsset>("effect.DirectionalLight");
        }
Exemplo n.º 23
0
        public IntermissionWorld(
            IKernel kernel,
            INetworkAPI networkAPI,
            I2DRenderUtilities twodRenderUtilities,
            IAssetManagerProvider assetManagerProvider, 
            int level)
        {
            this.m_2DRenderUtilities = twodRenderUtilities;
            this.m_MessageFont = assetManagerProvider.GetAssetManager().Get<FontAsset>("font.Message");
            this.m_NetworkAPI = networkAPI;

            this.Entities = new List<IEntity>();

            this.m_Ticks = 0;
            this.m_ApproachingLevel = level;

            this.m_NetworkAPI.ClearAllListeners();

            this.m_NoNextLevel =
                (assetManagerProvider.GetAssetManager().TryGet<LevelAsset>("level." + level + "a") == null);
        }
        public NetworkTrafficProfilerVisualiser(
            IAssetManagerProvider assetManagerProvider,
            INetworkEngine networkEngine,
            I2DRenderUtilities renderUtilities)
        {
            _defaultFont = assetManagerProvider.GetAssetManager().Get<FontAsset>("font.Default");
            _networkEngine = networkEngine;
            _renderUtilities = renderUtilities;

            _sentSampler = new NetworkSampler(_renderUtilities, _defaultFont, "SENT");
            _receivedSampler = new NetworkSampler(_renderUtilities, _defaultFont, "RECV");
        }
Exemplo n.º 25
0
 public TychaiaProfilerEntity(
     TychaiaProfiler profiler,
     I2DRenderUtilities twodRenderUtilities,
     IAssetManagerProvider assetManagerProvider,
     IPersistentStorage persistentStorage)
 {
     this.Profiler = profiler;
     this.m_2DRenderUtilities = twodRenderUtilities;
     this.m_DefaultFontAsset = assetManagerProvider.GetAssetManager().Get<FontAsset>("font.Default");
     this.m_ProfilingInformation = new List<FrameProfileInfo>();
     this.m_PersistentStorage = persistentStorage;
     this.m_TychaiaProfilerEntityUtil = new TychaiaProfilerEntityUtil();
 }
 public GraphicsMetricsProfilerVisualiser(
     IAssetManagerProvider assetManagerProvider,
     I2DRenderUtilities renderUtilities,
     IRenderCache renderCache,
     IRenderAutoCache renderAutoCache,
     IRenderBatcher renderBatcher)
 {
     _renderUtilities = renderUtilities;
     _renderCache = renderCache;
     _renderAutoCache = renderAutoCache;
     _renderBatcher = renderBatcher;
     _defaultFont = assetManagerProvider.GetAssetManager().Get<FontAsset>("font.Default");
 }
Exemplo n.º 27
0
        public ClientChunkGenerator(
            IChunkSizePolicy chunkSizePolicy, 
            IAssetManagerProvider assetManagerProvider)
        {
            this.m_ChunkSizePolicy = chunkSizePolicy;
            this.m_AssetManager = assetManagerProvider.GetAssetManager();

            this.m_TextureAtlasAsset = this.m_AssetManager.Get<TextureAtlasAsset>("atlas");
            this.m_Pipeline = new ThreadedTaskPipeline<ChunkGenerationRequest>();

            var thread = new Thread(this.Run) { IsBackground = true, Priority = ThreadPriority.Highest };
            thread.Start();
        }
Exemplo n.º 28
0
        public RoomEditorEntity(
            IKernel kernel,
            IMeshCollider meshCollider,
            I3DRenderUtilities threeRenderUtilities,
            IAssetManagerProvider assetManagerProvider,
            Room room)
        {
            this.m_Kernel = kernel;
            this.m_MeshCollider = meshCollider;
            this.m_3DRenderUtilities = threeRenderUtilities;
            this.m_Room = room;
            this.m_ShipTextureAsset = assetManagerProvider.GetAssetManager().Get<TextureAsset>("ship");

            this.m_RoomEditorMode = RoomEditorMode.Hovering;
        }
Exemplo n.º 29
0
        public BackgroundCubeEntity(
            IAssetManagerProvider assetManagerProvider,
            bool atBottom)
        {
            this.m_Distance = m_Random.Next(1, 50);
            this.m_Rotation = m_Random.Next(0, 360);
            this.m_GrassAsset = assetManagerProvider.GetAssetManager().Get<TextureAsset>("texture.Grass");

            this.X = (float)(m_Random.NextDouble() - 0.5) * 25;
            this.Z = (float)(m_Random.NextDouble() - 0.5) * 25;
            if (atBottom)
                this.Y = 10;
            else
                this.Y = ((float)m_Random.NextDouble() * 60) - 50;
        }
Exemplo n.º 30
0
        public LobbyWorld(
            IKernel kernel,
            I2DRenderUtilities twodRenderUtilities,
            IAssetManagerProvider assetManagerProvider, 
            bool join,
            IPAddress address)
        {
            this.m_2DRenderUtilities = twodRenderUtilities;
            this.m_DefaultFont = assetManagerProvider.GetAssetManager().Get<FontAsset>("font.Default");

            this.Entities = new List<IEntity>();

            this.m_NetworkAPI = new DefaultNetworkAPI(join, address);
            kernel.Bind<INetworkAPI>().ToMethod(x => this.m_NetworkAPI);
        }
Exemplo n.º 31
0
        public Render3DModelComponent(
            INode node,
            I3DRenderUtilities renderUtilities,
            IAssetManagerProvider assetManagerProvider,
            ITextureFromHintPath textureFromHintPath,
            IRenderBatcher renderBatcher)
        {
            _node                = node;
            _renderUtilities     = renderUtilities;
            _textureFromHintPath = textureFromHintPath;
            _renderBatcher       = renderBatcher;
            _assetManager        = assetManagerProvider.GetAssetManager();
            _animationTracker    = new Stopwatch();

            Enabled   = true;
            Transform = new DefaultTransform();
        }
Exemplo n.º 32
0
            public RenderPipelineWorld(IAssetManagerProvider assetManagerProvider, I2DRenderUtilities renderUtilities, IGraphicsFactory graphicsFactory)
            {
                _renderUtilities          = renderUtilities;
                _texture                  = assetManagerProvider.GetAssetManager().Get <TextureAsset>("texture.Player");
                _invertPostProcess        = graphicsFactory.CreateInvertPostProcessingRenderPass();
                _blurPostProcess          = graphicsFactory.CreateBlurPostProcessingRenderPass();
                _customPostProcess        = graphicsFactory.CreateCustomPostProcessingRenderPass("effect.MakeRed");
                _captureInlinePostProcess = graphicsFactory.CreateCaptureInlinePostProcessingRenderPass();
                _captureInlinePostProcess.RenderPipelineStateAvailable = d =>
                {
#if MANUAL_TEST
#elif RECORDING
                    using (var writer = new StreamWriter("output" + _frame + ".png"))
                    {
                        d.SaveAsPng(writer.BaseStream, Width, Height);
                    }
#else
                    var baseStream =
                        typeof(RenderPipelineWorld).Assembly.GetManifestResourceStream(
                            "Protogame.Tests.Expected.RenderPipeline.output" + _frame + ".png");
                    var baseBytes = new byte[baseStream.Length];
                    baseStream.Read(baseBytes, 0, baseBytes.Length);
                    var memoryStream = new MemoryStream();
                    d.SaveAsPng(memoryStream, Width, Height);
                    var memoryBytes = new byte[memoryStream.Position];
                    memoryStream.Seek(0, SeekOrigin.Begin);
                    memoryStream.Read(memoryBytes, 0, memoryBytes.Length);
                    memoryStream.Dispose();
                    baseStream.Dispose();

                    Assert.Equal(baseBytes, memoryBytes);
#endif

#if MANUAL_TEST
                    _manualTest++;
                    if (_manualTest % 60 == 0)
                    {
                        _frame++;
                    }
#else
                    _frame++;
#endif
                };

                this.Entities = new List <IEntity>();
            }
Exemplo n.º 33
0
        public EditorWorld(
            IKernel kernel,
            I2DRenderUtilities twodRenderUtilities,
            I3DRenderUtilities renderUtilities,
            IAssetManagerProvider assetManagerProvider)
        {
            this.Entities           = new List <IEntity>();
            this._2DrenderUtilities = twodRenderUtilities;
            this._renderUtilities   = renderUtilities;
            this._assetManager      = assetManagerProvider.GetAssetManager();
            this._defaultFont       = this._assetManager.Get <FontAsset>("font.Default");
            this._count             = 0;

            var entity = kernel.Get <CubeEntity>();

            entity.LocalMatrix = Matrix.CreateTranslation(3.05f, 0, 2.1f);
            this.Entities.Add(entity);
        }
Exemplo n.º 34
0
        public LocatorEntity(
            IEditorQuery <LocatorEntity> editorQuery,
            IAssetManagerProvider assetManagerProvider,
            Render3DModelComponent modelComponent)
        {
            if (editorQuery.Mode != EditorQueryMode.BakingSchema)
            {
                _modelComponent = modelComponent;
                RegisterComponent(_modelComponent);

                var assetManager = assetManagerProvider.GetAssetManager();
                editorQuery.MapTransform(this, Transform.Assign);

                var modelUri = editorQuery.GetRawResourceUris().FirstOrDefault();
                if (modelUri != null)
                {
                    var extIndex = modelUri.LastIndexOf(".", StringComparison.InvariantCulture);
                    if (extIndex != -1)
                    {
                        modelUri = modelUri.Substring(0, extIndex);
                    }
                    var pathComponents = modelUri.Split('/').ToList();
                    while (pathComponents[0] == "..")
                    {
                        pathComponents.RemoveAt(0);
                    }

                    while (pathComponents.Count > 0)
                    {
                        var attemptAsset = string.Join(".", pathComponents);
                        var resultAsset  = assetManager.TryGet <ModelAsset>(attemptAsset);
                        if (resultAsset == null)
                        {
                            pathComponents.RemoveAt(0);
                        }
                        else
                        {
                            _modelComponent.Model = resultAsset;
                            break;
                        }
                    }
                }
            }
        }
Exemplo n.º 35
0
        public GCMetricsProfilerVisualiser(
            IAssetManagerProvider assetManagerProvider,
            I2DRenderUtilities renderUtilities)
        {
            _renderUtilities = renderUtilities;
            _defaultFont     = assetManagerProvider.GetAssetManager().Get <FontAsset>("font.Default");

#if PLATFORM_WINDOWS || PLATFORM_MACOS || PLATFORM_LINUX
            string instanceName;
            if (TryGetInstanceName(Process.GetCurrentProcess(), out instanceName))
            {
                _gen0PerformanceCounter = new PerformanceCounter(".NET CLR Memory", "# Gen 0 Collections",
                                                                 instanceName, true);
                _gen1PerformanceCounter = new PerformanceCounter(".NET CLR Memory", "# Gen 1 Collections",
                                                                 instanceName, true);
                _gen2PerformanceCounter = new PerformanceCounter(".NET CLR Memory", "# Gen 2 Collections",
                                                                 instanceName, true);
            }
#endif
        }
Exemplo n.º 36
0
        public EditorWorld(
            IKernel kernel,
            I2DRenderUtilities twodRenderUtilities,
            I3DRenderUtilities renderUtilities,
            IAssetManagerProvider assetManagerProvider)
        {
            this.Entities           = new List <IEntity>();
            this._2DrenderUtilities = twodRenderUtilities;
            this._renderUtilities   = renderUtilities;
            this._assetManager      = assetManagerProvider.GetAssetManager();
            this._defaultFont       = this._assetManager.Get <FontAsset>("font.Default");
            this._count             = 0;

            var entity = kernel.Get <CubeEntity>();

            entity.X = 3.05f;
            entity.Y = 0;
            entity.Z = 2.1f;
            this.Entities.Add(entity);
        }
Exemplo n.º 37
0
 public TextureFromHintPath(IAssetManagerProvider assetManagerProvider)
 {
     _assetManager  = assetManagerProvider.GetAssetManager();
     _hintPathCache = new Dictionary <string, TextureAsset>();
 }
Exemplo n.º 38
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DefaultLevelManager"/> class.
 /// </summary>
 /// <param name="kernel">
 /// The dependency injection kernel.
 /// </param>
 /// <param name="reader">
 /// The reader.
 /// </param>
 /// <param name="assetManagerProvider">
 /// The asset manager provider.
 /// </param>
 public DefaultLevelManager(IKernel kernel, ILevelReader reader, IAssetManagerProvider assetManagerProvider)
 {
     _kernel             = kernel;
     this.m_Reader       = reader;
     this.m_AssetManager = assetManagerProvider.GetAssetManager();
 }
Exemplo n.º 39
0
 public DefaultCustomPostProcessingRenderPass(IGraphicsBlit graphicsBlit, IAssetManagerProvider assetManagerProvider, string effectAssetName)
 {
     _effect       = assetManagerProvider.GetAssetManager().Get <EffectAsset>(effectAssetName).Effect;
     _graphicsBlit = graphicsBlit;
 }
Exemplo n.º 40
0
        public MenuWorld(ISkin skin, IWorldFactory worldFactory, IAssetManagerProvider assetManagerProvider, I2DRenderUtilities twodRenderUtilities)
        {
            this.m_2DRenderUtilities = twodRenderUtilities;

            this.m_LogoTexture = assetManagerProvider.GetAssetManager().Get <TextureAsset>("texture.Logo");

            this.m_WorldFactory = worldFactory;

            this.Entities = new List <IEntity>();

            var startServer = new Button();

            startServer.Text   = "Start Server";
            startServer.Click += (sender, e) =>
            {
                this.m_LastGameContext.SwitchWorld <IWorldFactory>(
                    x => x.CreateLobbyWorld(false, IPAddress.Any));
            };

            var ipAddressTextBox = new TextBox();

            var joinGame = new Button();

            joinGame.Text   = "Join Game";
            joinGame.Click += (sender, e) =>
            {
                this.m_LastGameContext.SwitchWorld <IWorldFactory>(
                    x => x.CreateLobbyWorld(true, IPAddress.Parse(ipAddressTextBox.Text)));
            };

            var exitGame = new Button();

            exitGame.Text   = "Exit Game";
            exitGame.Click += (sender, e) =>
            {
                this.m_LastGameContext.Game.Exit();
            };

            var vertical = new VerticalContainer();

            vertical.AddChild(new EmptyContainer(), "*");
            vertical.AddChild(new Label {
                Text = "Perspective"
            }, "25");
            vertical.AddChild(new EmptyContainer(), "*");
            vertical.AddChild(startServer, "25");
            vertical.AddChild(new EmptyContainer(), "*");
            vertical.AddChild(new Label {
                Text = "Server IP address:"
            }, "20");
            vertical.AddChild(ipAddressTextBox, "20");
            vertical.AddChild(joinGame, "25");
            vertical.AddChild(new EmptyContainer(), "*");
            vertical.AddChild(exitGame, "25");
            vertical.AddChild(new EmptyContainer(), "*");

            var horizontal = new HorizontalContainer();

            horizontal.AddChild(new EmptyContainer(), "*");
            horizontal.AddChild(vertical, "250");
            horizontal.AddChild(new EmptyContainer(), "*");

            var canvas = new Canvas();

            canvas.SetChild(horizontal);

            this.Entities.Add(new CanvasEntity(skin, canvas));
        }
Exemplo n.º 41
0
        public AugmentedBoardGameWorld(
            I2DRenderUtilities twoDRenderUtilities,
            IAssetManagerProvider assetManagerProvider,
            IEntityFactory entityFactory)
        {
            this.Entities = new List <IEntity>();

            _renderUtilities = twoDRenderUtilities;
            _assetManager    = assetManagerProvider.GetAssetManager();
            _defaultFont     = this._assetManager.Get <FontAsset>("font.Default");

            var canvasEntity = entityFactory.CreateCanvasEntity();

            var pointThresholdTextBox = new TextBox();
            var minPoints             = new TextBox();
            var maxPoints             = new TextBox();
            var alpha        = new TextBox();
            var deviceWidth  = new TextBox();
            var deviceHeight = new TextBox();
            var nextColor    = new Button()
            {
                Text = "Show Next Color "
            };
            var showDiagnostics = new Button()
            {
                Text = "Show Diagnostics"
            };
            var showBoard = new Button()
            {
                Text = "Show Board"
            };
            var nextDevice = new Button()
            {
                Text = "Next Device"
            };
            var deviceName = new TextBox();

            _fullscreen = new Button()
            {
                Text = "Fullscreen 1080"
            };

            var camera640x480 = new Button()
            {
                Text = "Camera 640x480"
            };

            camera640x480.Click += (sender, args) =>
            {
                deviceWidth.Text  = "640";
                deviceHeight.Text = "480";
            };
            var camera720p = new Button()
            {
                Text = "Camera 720p"
            };

            camera720p.Click += (sender, args) =>
            {
                deviceWidth.Text  = "1080";
                deviceHeight.Text = "720";
            };
            var camera1080p = new Button()
            {
                Text = "Camera 1080p"
            };

            camera1080p.Click += (sender, args) =>
            {
                deviceWidth.Text  = "1920";
                deviceHeight.Text = "1080";
            };

            var pointThresholdEntry = new HorizontalContainer();

            pointThresholdEntry.AddChild(new Label()
            {
                Text = "Point Threshold: "
            }, "100");
            pointThresholdEntry.AddChild(pointThresholdTextBox, "*");

            var minPointsEntry = new HorizontalContainer();

            minPointsEntry.AddChild(new Label()
            {
                Text = "Min. Points: "
            }, "100");
            minPointsEntry.AddChild(minPoints, "*");

            var maxPointsEntry = new HorizontalContainer();

            maxPointsEntry.AddChild(new Label()
            {
                Text = "Max. Points: "
            }, "100");
            maxPointsEntry.AddChild(maxPoints, "*");

            var renderAlphaEntry = new HorizontalContainer();

            renderAlphaEntry.AddChild(new Label()
            {
                Text = "Render Alpha: "
            }, "100");
            renderAlphaEntry.AddChild(alpha, "*");

            var deviceWidthEntry = new HorizontalContainer();

            deviceWidthEntry.AddChild(new Label()
            {
                Text = "Device Width: "
            }, "100");
            deviceWidthEntry.AddChild(deviceWidth, "*");

            var deviceHeightEntry = new HorizontalContainer();

            deviceHeightEntry.AddChild(new Label()
            {
                Text = "Device Height: "
            }, "100");
            deviceHeightEntry.AddChild(deviceHeight, "*");

            var vert = new VerticalContainer();

            vert.AddChild(pointThresholdEntry, "24");
            vert.AddChild(minPointsEntry, "24");
            vert.AddChild(maxPointsEntry, "24");
            vert.AddChild(renderAlphaEntry, "24");
            vert.AddChild(nextColor, "24");
            vert.AddChild(showDiagnostics, "48");
            vert.AddChild(showBoard, "48");
            vert.AddChild(nextDevice, "48");
            vert.AddChild(deviceName, "24");
            vert.AddChild(deviceWidthEntry, "24");
            vert.AddChild(deviceHeightEntry, "24");
            vert.AddChild(_fullscreen, "48");
            vert.AddChild(camera640x480, "48");
            vert.AddChild(camera720p, "48");
            vert.AddChild(camera1080p, "48");

            var hor = new HorizontalContainer();

            hor.AddChild(new EmptyContainer(), "*");
            hor.AddChild(vert, "200");

            var canvas = new Canvas();

            canvas.SetChild(hor);

            canvasEntity.Canvas = canvas;

            var webcamEntity   = entityFactory.CreateWebcamEntity(deviceName, deviceWidth, deviceHeight);
            var detectorEntity = entityFactory.CreateDetectorEntity(webcamEntity);

            detectorEntity.X = 0;
            detectorEntity.Y = 0;
            var boardAnalyzerEntity = entityFactory.CreateBoardAnalyzerEntity(detectorEntity, pointThresholdTextBox, minPoints, maxPoints);
            var boardRendererEntity = entityFactory.CreateBoardRendererEntity(boardAnalyzerEntity, webcamEntity, alpha);

            nextColor.Click += (sender, args) =>
            {
                detectorEntity.NextColor();
            };
            showDiagnostics.Click += (sender, args) =>
            {
                alpha.Text = "0";
            };
            showBoard.Click += (sender, args) =>
            {
                alpha.Text = "1";
            };
            nextDevice.Click += (sender, args) =>
            {
                webcamEntity.NextDevice();
            };

            _hasSetupFullscreenButton = false;

            this.Entities.Add(webcamEntity);
            this.Entities.Add(detectorEntity);
            this.Entities.Add(boardAnalyzerEntity);
            this.Entities.Add(canvasEntity);
            this.Entities.Add(boardRendererEntity);
        }
Exemplo n.º 42
0
 public DefaultGraphicsBlit(IAssetManagerProvider assetManagerProvider)
 {
     _blitEffect = assetManagerProvider.GetAssetManager().Get <EffectAsset>("effect.Basic").Effect;
 }
 public DefaultBlurPostProcessingRenderPass(IAssetManagerProvider assetManagerProvider, IGraphicsBlit graphicsBlit)
 {
     _blurEffect   = assetManagerProvider.GetAssetManager().Get <EffectAsset>("effect.Blur").Effect;
     _graphicsBlit = graphicsBlit;
 }
Exemplo n.º 44
0
        public AssetManagerWorld(
            IAssetManagerProvider assetManagerProvider,
            I2DRenderUtilities renderUtilities,
            ISkin skin,
            IAssetLoader[] loaders)
        {
            this.Entities = new List <IEntity>();
            this.m_Skin   = skin;
            this.m_Start  = DateTime.Now;

            // Add the asset manager layout.
            var entity = new CanvasEntity(this.m_Skin);

            this.m_Layout = new AssetManagerLayout(assetManagerProvider, renderUtilities, loaders, entity);
            entity.Canvas = this.m_Layout;
            this.Entities.Add(entity);

            this.m_Layout.MarkDirty.Click += (sender, e) =>
            {
                foreach (var asset in this.AssetManager.GetAll())
                {
                    this.AssetManager.Dirty(asset.Name);
                }
            };

            this.m_Layout.Bake.Click += (sender, e) =>
            {
                if (this.m_CurrentEditor != null)
                {
                    this.m_CurrentEditor.Bake(this.AssetManager);
                }
                var item = this.m_Layout.AssetTree.SelectedItem as AssetTreeItem;
                if (item == null)
                {
                    return;
                }
                this.AssetManager.Bake(item.Asset);
            };

            this.m_Layout.AssetTree.SelectedItemChanged += (sender, e) =>
            {
                if (this.m_CurrentEditor != null)
                {
                    this.m_CurrentEditor.FinishLayout(this.m_Layout.EditorContainer, this.AssetManager);
                }
                var item = this.m_Layout.AssetTree.SelectedItem as AssetTreeItem;
                if (item != null && m_Editors.ContainsKey(item.Asset.GetType()))
                {
                    this.m_CurrentEditor = m_Editors[item.Asset.GetType()];
                    this.m_CurrentEditor.SetAsset(item.Asset);
                    this.m_CurrentEditor.BuildLayout(this.m_Layout.EditorContainer, this.AssetManager);
                }
                else
                {
                    this.m_CurrentEditor = null;
                    this.m_Layout.EditorContainer.SetChild(
                        new Label {
                        Text = "No editor for " + (item == null ? "folders" : item.Asset.GetType().Name)
                    });
                }
            };

            this.m_Layout.ExitClick += (sender, e) =>
            {
                Environment.Exit(0);
            };

            this.m_Layout.BakeAllClick += (sender, e) =>
            {
                foreach (var asset in this.AssetManager.GetAll())
                {
                    this.AssetManager.Bake(asset);
                }
            };

            this.m_Layout.CreateNameEntered += (sender, e) =>
            {
                var asset = e.Loader.GetNew(this.AssetManager, this.m_Layout.PromptName.Text);
                assetManagerProvider.GetAssetManager(false).Bake(asset);
                this.m_Layout.AssetTree.AddChild(new AssetTreeItem
                {
                    Text  = this.m_Layout.PromptName.Text,
                    Asset = asset
                });
            };
        }
 public DefaultInvertPostProcessingRenderPass(IAssetManagerProvider assetManagerProvider, IGraphicsBlit graphicsBlit)
 {
     _invertEffect = assetManagerProvider.GetAssetManager().Get <EffectAsset>("effect.Invert").Effect;
     _graphicsBlit = graphicsBlit;
 }
Exemplo n.º 46
0
 public DefaultTileUtilities(I2DRenderUtilities renderUtilities, IAssetManagerProvider assetManagerProvider)
 {
     _renderUtilities = renderUtilities;
     _assetManager    = assetManagerProvider.GetAssetManager();
 }
Exemplo n.º 47
0
        public PerceptionWorld(
            IKernel kernel,
            I2DRenderUtilities twoDRenderUtilities,
            I3DRenderUtilities threeDRenderUtilities,
            IAssetManagerProvider assetManagerProvider,
            IEntityFactory entityFactory,
            ICubeRenderer cubeRenderer,
            ILevelManager levelManager,
            INetworkAPI networkAPI,
            int level)
        {
            this.Entities = new List <IEntity>();

            this.m_NetworkAPI        = networkAPI;
            this.m_2DRenderUtilities = twoDRenderUtilities;
            this.m_3DRenderUtilities = threeDRenderUtilities;
            this.m_AssetManager      = assetManagerProvider.GetAssetManager();
            this.m_DefaultFont       = this.m_AssetManager.Get <FontAsset>("font.Default");
            this.m_EntityFactory     = entityFactory;
            this.m_CubeRenderer      = cubeRenderer;
            this.m_CubeTexture       = assetManagerProvider.GetAssetManager().Get <TextureAsset>("texture.Terrain");
            this.m_LevelManager      = levelManager;

            this.m_GameBoard     = new int[10, 10];
            this.m_GameBoardMeta = new string[10, 10];
            this.m_GameBoardTX   = new int[10, 10];
            this.m_GameBoardTY   = new int[10, 10];

            this.m_LevelSuffix  = this.m_NetworkAPI.WasJoin ? 'b' : 'a';
            this.m_CurrentLevel = level;

            this.LoadLevel(level);

            this.m_NetworkAPI.ListenForMessage(
                "next level",
                a =>
            {
                this.HandleNextLevel();
            });

            this.m_NetworkAPI.ListenForMessage(
                "reset level",
                a =>
            {
                this.HandleResetLevel();
            });

            this.m_NetworkAPI.ListenForMessage(
                "door unlock",
                a =>
            {
                var values = a.Split('|').Select(x => int.Parse(x)).ToArray();

                var doorID = values[0];
                var keyID  = values[1];

                this.Entities.RemoveAll(x => x is KeyEntity && ((KeyEntity)x).ID == keyID);

                foreach (var door in this.Entities.OfType <DoorEntity>().Where(x => x.ID == doorID))
                {
                    door.Open = true;
                }
            });
        }
Exemplo n.º 48
0
 public BasicMenuItemSkinRenderer(IBasicSkinHelper basicSkinHelper, I2DRenderUtilities renderUtilities, IAssetManagerProvider assetManagerProvider)
 {
     _basicSkinHelper = basicSkinHelper;
     _renderUtilities = renderUtilities;
     _fontAsset       = assetManagerProvider.GetAssetManager().Get <FontAsset>("font.Default");
 }
Exemplo n.º 49
0
 public DefaultGraphicsBlit(IAssetManagerProvider assetManagerProvider)
 {
     _blitEffect = assetManagerProvider.GetAssetManager().Get <UberEffectAsset>("effect.BuiltinSurface").Effects["Texture"];
 }
Exemplo n.º 50
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DefaultTileUtilities"/> class.
 /// </summary>
 /// <param name="renderUtilities">
 /// The render utilities.
 /// </param>
 /// <param name="assetManagerProvider">
 /// The asset manager provider.
 /// </param>
 public DefaultTileUtilities(I2DRenderUtilities renderUtilities, IAssetManagerProvider assetManagerProvider)
 {
     this.m_RenderUtilities = renderUtilities;
     this.m_AssetManager    = assetManagerProvider.GetAssetManager(false);
 }
Exemplo n.º 51
0
 public BasicLinkSkinRenderer(I2DRenderUtilities renderUtilities, IAssetManagerProvider assetManagerProvider)
 {
     _renderUtilities = renderUtilities;
     _fontAsset       = assetManagerProvider.GetAssetManager().Get <FontAsset>("font.Default");
 }
Exemplo n.º 52
0
 public ExampleEntity(I2DRenderUtilities renderUtilities, IAssetManagerProvider assetManagerProvider, string name)
 {
     _renderUtilities = renderUtilities;
     _name            = name;
     _defaultFont     = assetManagerProvider.GetAssetManager().Get <FontAsset>("font.Default");
 }
Exemplo n.º 53
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DefaultLevelManager"/> class.
 /// </summary>
 /// <param name="reader">
 /// The reader.
 /// </param>
 /// <param name="assetManagerProvider">
 /// The asset manager provider.
 /// </param>
 public DefaultLevelManager(ILevelReader reader, IAssetManagerProvider assetManagerProvider)
 {
     this.m_Reader       = reader;
     this.m_AssetManager = assetManagerProvider.GetAssetManager();
 }
Exemplo n.º 54
0
        public void Render(IGameContext gameContext, IRenderContext renderContext, StringBuilder inputBuffer, ConsoleState state, List <Tuple <ConsoleLogLevel, string> > logEntries)
        {
            if (_fontAsset == null)
            {
                _fontAsset = _assetManagerProvider.GetAssetManager().Get <FontAsset>("font.Console");
            }

            if (renderContext.IsCurrentRenderPass <I3DRenderPass>())
            {
                return;
            }

            var h = 0;

            if (state == ConsoleState.Open || state == ConsoleState.OpenNoInput)
            {
                h = 300;
            }
            else if (state == ConsoleState.FullOpen || state == ConsoleState.FullOpenNoInput)
            {
                h = gameContext.Window.ClientBounds.Height;
            }

            _renderUtilities.RenderRectangle(
                renderContext,
                new Rectangle(0, 0, gameContext.Window.ClientBounds.Width, h),
                new Color(0, 0, 0, 210),
                true);
            _renderUtilities.RenderRectangle(
                renderContext,
                new Rectangle(0, 0, gameContext.Window.ClientBounds.Width - 1, h - 1),
                Color.White);

            var o = 16;

            if (state == ConsoleState.FullOpen || state == ConsoleState.Open)
            {
                _renderUtilities.RenderLine(
                    renderContext,
                    new Vector2(0, h - 16),
                    new Vector2(gameContext.Window.ClientBounds.Width, h - 16),
                    Color.White);
                _renderUtilities.RenderText(
                    renderContext,
                    new Vector2(2, h - 16),
                    inputBuffer.ToString(),
                    _fontAsset);
                o = 32;
            }

            var a = 0;

            for (var i = Math.Max(0, logEntries.Count - 30); i < logEntries.Count; i++)
            {
                var color = Color.White;
                switch (logEntries[logEntries.Count - i - 1].Item1)
                {
                case ConsoleLogLevel.Debug:
                    color = Color.White;
                    break;

                case ConsoleLogLevel.Info:
                    color = Color.Cyan;
                    break;

                case ConsoleLogLevel.Warning:
                    color = Color.Orange;
                    break;

                case ConsoleLogLevel.Error:
                    color = Color.Red;
                    break;
                }
                _renderUtilities.RenderText(
                    renderContext,
                    new Vector2(2, h - o - a * 16),
                    logEntries[logEntries.Count - i - 1].Item2,
                    _fontAsset,
                    textColor: color);
                a++;
            }
        }