Esempio n. 1
0
    public void Initialize()
    {
        Console.WriteLine("Initializing game engine!");
        Console.WriteLine("Window title: " + Window.Title);

        Input.CursorMode = MouseCursorMode.Normal;

        ResourceManager.Mount(new FilesystemCollectionProvider("."), "/");

        _camera   = new OrthographicCamera(0, 1280, 720, 0);
        _viewport = new Viewport(_camera, "My Viewport");

        _shipNode = new SceneNode("ShipNode");
        SceneManager.RootSceneNode.AttachChild(_shipNode);

        //_shipNode.SetPosition(400, 300);

        Material    material   = new Material("/resources/materials/ships.amf");
        Atlas       atlas      = new Atlas(material, new Vector2f(64, 64));
        AtlasRegion shipRegion = atlas.GetRegionByIndex(10);

        Sprite sprite = new Sprite(shipRegion, 0, "My Ship");

        _shipNode.AttachComponent(sprite);

        Material animationMaterial = new Material("/resources/materials/valheim.amf");
        Atlas    animationAtlas    = new Atlas(animationMaterial, new Vector2f(32, 32));

        SpriteAnimationSettings settings = new SpriteAnimationSettings(new Vector2f(32, 32));

        settings.GenerateSequence(MoveSouth, 3, 3, AnimationSequenceType.UpDown);
        settings.GenerateSequence(MoveWest, 15, 3, AnimationSequenceType.UpDown);
        settings.GenerateSequence(MoveEast, 27, 3, AnimationSequenceType.UpDown);
        settings.GenerateSequence(MoveNorth, 39, 3, AnimationSequenceType.UpDown);
        settings.StartCondition = AnimationStartCondition.ManualStart;
        settings.Speed          = 0.2f;
        settings.Repeat         = AnimationRepeat.Continuous;

        _valheimNode = new SceneNode("Valheim");
        SceneManager.RootSceneNode.AttachChild(_valheimNode);

        _valheim = new AnimatedSprite(animationAtlas, 0, settings, "Valheim");
        _valheimNode.AttachComponent(_valheim);

        _valheimNode.SetPosition(30, 30);

        Input.BindButton("fire", KeyboardKey.KeySpace);
        Input.BindButton("fire", MouseButton.MouseButtonLeft);
        Input.BindButton("fire", KeyboardKey.KeyE);
    }