Example #1
0
        // TODO: Refactor
        private IEnumerable <IGameObject> CreateLobbyGameObjects(IGameScene gameScene)
        {
            // Guardian Game Object #1
            {
                var id       = idGenerator.GenerateId();
                var position = new Vector2(-14.24f, -2.025f);
                var guardian = new GuardianGameObject(id, position, new IComponent[]
                {
                    new PresenceMapProvider(gameScene),
                    new GuardianIdleBehaviour(text: "Hello", time: 1)
                });

                yield return(guardian);
            }

            // Portal Game Object #2
            {
                var id       = idGenerator.GenerateId();
                var position = new Vector2(-17.125f, -1.5f);
                var portal   = new PortalGameObject(id, position, new IComponent[]
                {
                    new PresenceMapProvider(gameScene),
                    new PortalData(map: (byte)Map.TheDarkForest)
                });

                yield return(portal);
            }
        }
Example #2
0
        // TODO: Refactor
        private IEnumerable <IGameObject> CreateTheDarkForestGameObjects(IGameScene gameScene)
        {
            // Blue Snail Game Object #1
            {
                var id                  = idGenerator.GenerateId();
                var position            = new Vector2(-2f, -8.2f);
                var coroutineRunner     = gameScene.PhysicsExecutor.GetCoroutineRunner();
                var physicsWorldManager = gameScene.PhysicsWorldManager;
                var blueSnail           = new BlueSnailGameObject(id, position, new IComponent[]
                {
                    new PresenceMapProvider(gameScene),
                    new BlueSnailMoveBehaviour(coroutineRunner, physicsWorldManager)
                });

                var bodyData = blueSnail.CreateBodyData();
                gameScene.PhysicsWorldManager.AddBody(bodyData);

                yield return(blueSnail);
            }

            // Portal Game Object #2
            {
                var id       = idGenerator.GenerateId();
                var position = new Vector2(12.5f, -1.125f);
                var portal   = new PortalGameObject(id, position, new IComponent[]
                {
                    new PresenceMapProvider(gameScene),
                    new PortalData(map: (byte)Map.Lobby)
                });

                yield return(portal);
            }
        }