using System;
using System.Collections.Generic;
using System.Text;

namespace IrrlichtNetSwig
{
    public partial class ISceneManager
    {
        public virtual ICameraSceneNode addCameraSceneNodeFPS(ISceneNode parent, float rotateSpeed, float moveSpeed, int id, SKeyMap[] keyMapArray, int keyMapSize, bool noVerticalMovement, float jumpSpeed)
        {
            var arr = (SKeyMapArray)keyMapArray;
            return addCameraSceneNodeFPS(parent, rotateSpeed, moveSpeed, id, arr.cast(), keyMapSize, noVerticalMovement, jumpSpeed);
        }

        public virtual ICameraSceneNode addCameraSceneNodeFPS(ISceneNode parent, float rotateSpeed, float moveSpeed, int id, SKeyMap[] keyMapArray, int keyMapSize, bool noVerticalMovement)
        {
            var arr = (SKeyMapArray)keyMapArray;
            return addCameraSceneNodeFPS(parent, rotateSpeed, moveSpeed, id, arr.cast(), keyMapSize, noVerticalMovement);
        }

        public virtual ICameraSceneNode addCameraSceneNodeFPS(ISceneNode parent, float rotateSpeed, float moveSpeed, int id, SKeyMap[] keyMapArray, int keyMapSize)
        {
            var arr = (SKeyMapArray)keyMapArray;
            return addCameraSceneNodeFPS(parent, rotateSpeed, moveSpeed, id, arr.cast(), keyMapSize);
        }

        public virtual ICameraSceneNode addCameraSceneNodeFPS(ISceneNode parent, float rotateSpeed, float moveSpeed, int id, SKeyMap[] keyMapArray)
        {
            var arr = (SKeyMapArray)keyMapArray;
            return addCameraSceneNodeFPS(parent, rotateSpeed, moveSpeed, id, arr.cast());
        }

    }
}
