public AndroidInputContext(View hostView,
                                   Context context,
                                   BaseInputHandler inputHandler,
                                   IDisplayMetrics displayMetrics)
        {
            _hostView           = hostView;
            _inputHandler       = inputHandler;
            _activeInputActions = InputAction.None;

            var viewConfig = ViewConfiguration.Get(context) ?? throw new NotSupportedException();

            _maximumFlingVelocity = viewConfig.ScaledMaximumFlingVelocity;
            _minimumFlingVelocity = viewConfig.ScaledMinimumFlingVelocity;

            _touchSlop = viewConfig.ScaledTouchSlop;


            if (displayMetrics.ZoomLevel.AreEqualEnough(1.0))
            {
                _dpiRatio          = 1;
                _isOffsetPositions = false;
            }
            else
            {
                _dpiRatio          = 1 / displayMetrics.ZoomLevel;
                _isOffsetPositions = true;
            }

            _gestureDetector = new GestureDetectorCompat(context, this);
            _gestureDetector.SetOnDoubleTapListener(this);

            hostView.SetOnTouchListener(this);
        }
示例#2
0
        public AndroidView(IVisualElement view,
                           Context context,
                           AndroidRenderKit renderKit,
                           IUiProvider uiProvider)
            : base(context)
        {
            _loopHandler = new Handler(Looper.MainLooper);
            _measured    = Size.Empty;
            _targetRect  = ValueRectangle.Empty;
            _view        = view;
            _surrogates  = new AndroidSurrogateProvider(renderKit, uiProvider, this);

            RenderKit  = renderKit;
            _viewState = renderKit.ViewState;


            ZoomLevel = renderKit.DisplayMetrics.ScaledDensity;

            //System.Diagnostics.Debug.WriteLine("Built android view with display w/h: " +
            //                                   renderKit.DisplayMetrics.WidthPixels + ", " +
            //                                   renderKit.DisplayMetrics.HeightPixels + " dpi: " +
            //                                   renderKit.DisplayMetrics.ScaledDensity);


            _paintView = new AndroidPaintView(context, renderKit, view);
            AddView(_paintView);

            var inputHandler = new BaseInputHandler(RenderKit.RenderContext);

            _inputContext = new AndroidInputContext(this, context, inputHandler, _viewState);

            renderKit.Container.ResolveTo(this);
        }
 // Use this for initialization
 void Start()
 {
     Handler          = new BaseInputHandler(GetComponent <TankController>());
     Handler.RightKey = KeyCode.D;
     Handler.LeftKey  = KeyCode.A;
     Handler.UpKey    = KeyCode.W;
     Handler.DownKey  = KeyCode.S;
     Handler.ShootKey = KeyCode.Space;
 }
示例#4
0
 // Use this for initialization
 void Start()
 {
     Handler          = new BaseInputHandler(GetComponent <TankController>());
     Handler.RightKey = KeyCode.RightArrow;
     Handler.LeftKey  = KeyCode.LeftArrow;
     Handler.UpKey    = KeyCode.UpArrow;
     Handler.DownKey  = KeyCode.DownArrow;
     Handler.ShootKey = KeyCode.L;
 }
示例#5
0
        public Selectable()
        {
            Enable = true;

            if (inputHandlerType == null)
            {
                inputHandlerType = InputManager.InputHandlerType;
            }

            inputHandler = gameObject.AddComponent(inputHandlerType) as BaseInputHandler;

            RegistEvent();
        }
示例#6
0
    public void Initialize()
    {
        m_me           = GetComponent <Charicter>();
        m_sprite       = GetComponent <SpriteRenderer>();
        m_inputHandler = GetComponent <BaseInputHandler>();
        m_inputHandler.Initialize();

        //m_attack1 = GetComponent<SaberAttack>();
        //m_attack1 = GetComponent<TonfaAttack>();
        //m_attack2 = GetComponent<ShieldAttack>();
        //m_attack2 = GetComponent<BusterAttack>();

        BuildWeapons();

        m_stateClass[(int)eStates.STANDING]      = GetComponent <StateStand>();
        m_stateClass[(int)eStates.WALKING]       = GetComponent <StateWalk>();
        m_stateClass[(int)eStates.JUMPING]       = GetComponent <StateJump>();
        m_stateClass[(int)eStates.PRE_POST_JUMP] = GetComponent <StatePrePostJump>();
        m_stateClass[(int)eStates.FALLING]       = GetComponent <StateFall>();
        m_stateClass[(int)eStates.SLIDING]       = GetComponent <StateSlide>();
        m_stateClass[(int)eStates.BLOCK]         = GetComponent <StateGuard>();

        m_stateClass[(int)eStates.ATTACK_1] = m_attack1.InitializeState();
        m_stateClass[(int)eStates.ATTACK_2] = m_attack2.InitializeState();
        m_stateClass[(int)eStates.THROW]    = GetComponent <StateThrow>();

        m_stateClass[(int)eStates.HIT_STUN]     = GetComponent <StateHitGround>();
        m_stateClass[(int)eStates.AIR_HIT_STUN] = GetComponent <StateHitAir>();
        m_stateClass[(int)eStates.SPAWNING]     = GetComponent <StateSpawn>();
        m_stateClass[(int)eStates.KO_D]         = GetComponent <StateKO>();

        m_newState     = eStates.SPAWNING;
        m_currentState = eStates.STANDING;

        m_stateClass[(int)m_newState].Enter(m_currentState);

        for (int z = 0; z < (int)eStates.SIZE_OF_E_STATES; z++)
        {
            m_stateClass[z].Initialize(m_me);
        }

        m_animations = GetComponent <AnimClass>();
        m_animations.F_initialize(m_sprite);

        m_animations.addAnim();         // STAND
        m_animations.addKeyFrame((int)eStates.STANDING, m_sprites[1], 0.01f);
        m_animations.animRepeat((int)eStates.STANDING);

        m_animations.addAnim();         // WALKING
        m_animations.addKeyFrame((int)eStates.WALKING, m_sprites[4], 0.15f);
        m_animations.addKeyFrame((int)eStates.WALKING, m_sprites[5], 0.15f);
        m_animations.addKeyFrame((int)eStates.WALKING, m_sprites[6], 0.15f);
        m_animations.addKeyFrame((int)eStates.WALKING, m_sprites[5], 0.15f);
        m_animations.animRepeat((int)eStates.WALKING);

        m_animations.addAnim();         // JUMPING
        m_animations.addKeyFrame((int)eStates.JUMPING, m_sprites[7], 0.01f);
        m_animations.animRepeat((int)eStates.JUMPING);

        m_animations.addAnim();         // PRE_POST_JUMP
        m_animations.addKeyFrame((int)eStates.PRE_POST_JUMP, m_sprites[1], 0.01f);
        m_animations.animRepeat((int)eStates.PRE_POST_JUMP);

        m_animations.addAnim();         // FALLING
        m_animations.addKeyFrame((int)eStates.FALLING, m_sprites[7], 0.01f);
        m_animations.animRepeat((int)eStates.FALLING);

        m_animations.addAnim();         // SLIDING
        m_animations.addKeyFrame((int)eStates.SLIDING, m_sprites[26], 0.01f);
        m_animations.animRepeat((int)eStates.SLIDING);

        m_animations.addAnim();         // BLOCK
        m_animations.addKeyFrame((int)eStates.BLOCK, m_sprites[51], 0.01f);
        m_animations.animRepeat((int)eStates.BLOCK);

        m_attack1.InitializeAnimation(m_animations, m_sprites, (int)eStates.ATTACK_1);
        m_attack2.InitializeAnimation(m_animations, m_sprites, (int)eStates.ATTACK_2);

        m_animations.addAnim();         // THROW
        m_animations.addKeyFrame((int)eStates.THROW, m_sprites[3], 5.0f / 60.0f);
        m_animations.addKeyFrame((int)eStates.THROW, m_sprites[27], 8.0f / 60.0f);
        m_animations.addKeyFrame((int)eStates.THROW, m_sprites[18], 12.0f / 60.0f);
        //m_animations.animRepeat((int)eStates.THROW);

        m_animations.addAnim();         // HIT_STUN
        m_animations.addKeyFrame((int)eStates.HIT_STUN, m_sprites[20], 0.01f);
        m_animations.animRepeat((int)eStates.HIT_STUN);

        m_animations.addAnim();         // AIR_HIT_STUN
        m_animations.addKeyFrame((int)eStates.AIR_HIT_STUN, m_sprites[21], 0.01f);
        m_animations.animRepeat((int)eStates.AIR_HIT_STUN);

        m_animations.addAnim();         // SPAWNING
        m_animations.addKeyFrame((int)eStates.SPAWNING, m_sprites[0], 0.2f);
        m_animations.addKeyFrame((int)eStates.SPAWNING, m_sprites[0], 0.2f);
        m_animations.addKeyFrame((int)eStates.SPAWNING, m_sprites[10], 0.2f);
        m_animations.addKeyFrame((int)eStates.SPAWNING, m_sprites[11], 0.2f);
        m_animations.addKeyFrame((int)eStates.SPAWNING, m_sprites[1], 0.2f);
        m_animations.addKeyFrame((int)eStates.SPAWNING, m_sprites[2], 0.25f);

        m_animations.addAnim();         // KO_D
        m_animations.addKeyFrame((int)eStates.KO_D, m_sprites[28], 0.01f);
        m_animations.animRepeat((int)eStates.KO_D);

        m_animations.F_play();

        ResetInputs();
        m_me.Initialize(m_sprite);
    }
示例#7
0
 public void SetHandler(BaseInputHandler ibh)
 {
     handler = ibh;
 }
 public void SetNextInputHandler(BaseInputHandler next)
 {
     NextInputHandler = next;
 }
示例#9
0
 public void SetHandler(BaseInputHandler ibh)
 {
     handler = ibh;
 }