コード例 #1
0
    public override void Refresh()
    {
        _isPressed  = false;
        _isReleased = false;
        bool flag;
        bool isValid = JoystickUtil.GetButton(_joystickIndex, _inputIndex, out flag);

        if (isValid)
        {
            if (flag && !_isHeld)
            {
                _isPressed     = true;
                _isHeld        = true;
                _lastPressTime = Time.time;
            }
            else if (!flag && _isHeld)
            {
                _isReleased = true;
                _isHeld     = false;
            }
        }
        else if (_isValid)
        {
            _isValid = false;
            _isHeld  = false;
        }
    }
コード例 #2
0
    public override void Refresh()
    {
        _isPressed  = false;
        _isReleased = false;
        bool isValid = JoystickUtil.GetAxis(_joystickIndex, _inputIndex, out _offset);

        if (isValid)
        {
            bool flag = _offset * (float)_direction - _deadZone > 0;
            if (flag && !_isHeld)
            {
                _isPressed     = true;
                _isHeld        = true;
                _lastPressTime = Time.time;
            }
            else if (!flag && _isHeld)
            {
                _isReleased = true;
                _isHeld     = false;
            }
        }
        else if (_isValid)
        {
            _isValid = false;
            _isHeld  = false;
            _offset  = 0f;
        }
    }
コード例 #3
0
 private void Update()
 {
     JoystickUtil.UpdateJoysticks();
     JoystickUtil.CheckJoysticks();
     foreach (InputDetector detector in registeredDetectors)
     {
         detector.Refresh();
     }
 }
コード例 #4
0
    public void Dodge(float velocity, float duration)
    {
        _dodgeVelocity   = velocity;
        _dodgeDuration   = duration;
        _dodgeTime       = Time.time;
        gameObject.layer = LayerManager.DodgeLayer;
        _isDodging       = true;
        float  portion       = Mathf.Sign(velocity) * .5f;
        ushort leftStrength  = Convert.ToUInt16((.5f - portion) * 3000);
        ushort rightStrength = Convert.ToUInt16((.5f + portion) * 3000);

        JoystickUtil.RumbleJoystick(leftStrength, rightStrength, 200);
    }
コード例 #5
0
    protected virtual void DamageRumbleEffect(float distance, float hitDirection, ushort rumbleStrength = 10000)
    {
        float maxDistance = 1.9f;
        float portion;

        if (distance * hitDirection > maxDistance)
        {
            portion = hitDirection * .5f;
        }
        else
        {
            portion = distance / maxDistance * .5f;
        }
        ushort leftStrength  = Convert.ToUInt16((.5f - portion) * rumbleStrength);
        ushort rightStrength = Convert.ToUInt16((.5f + portion) * rumbleStrength);

        JoystickUtil.RumbleJoystick(leftStrength, rightStrength, 200);
    }
コード例 #6
0
    private void Start()
    {
        LocalDataManager.Init();
        ResourcesManager.Init();
        PlayerManager.Init();
        JoystickUtil.Init();

        SingletonManager.AddSingleton <ShaderManager>();
        SingletonManager.AddSingleton <CameraManager>();
        SingletonManager.AddSingleton <TimeManager>();
        SingletonManager.AddSingleton <ParticleManager>();
        SingletonManager.AddSingleton <ParticleDecalManager>();
        SingletonManager.AddSingleton <ProjectileManager>();
        SingletonManager.AddSingleton <AudioManager>();
        SingletonManager.AddSingleton <InputManager>();
        SingletonManager.AddSingleton <UIManager>();

        GameObject localPlayer       = CharacterFactory.GenerateLocalPlayer();
        GameObject interactionSystem = new GameObject("Interaction System");

        interactionSystem.transform.localScale = new Vector3(4f, 2f, 4f);
        interactionSystem.layer = LayerManager.InteractionLayer;
        localPlayer.AddComponent <InputOperator>().InteractionSystem = interactionSystem.AddComponent <InteractionSystem>();
        GameObject sprite0 = IBSpriteFactory.GenerateIBSprite("up_punch");
        GameObject sprite1 = IBSpriteFactory.GenerateIBSprite("complex_shooter");
        GameObject sprite2 = IBSpriteFactory.GenerateIBSprite("shooter");
        GameObject sprite3 = IBSpriteFactory.GenerateIBSprite("rocket_launcher");
        GameObject sprite4 = IBSpriteFactory.GenerateIBSprite("complex_newton_thrower");
        GameObject sprite5 = IBSpriteFactory.GenerateIBSprite("hammer");

        localPlayer.GetComponent <CharacterController>().EquipIBSprite(sprite0.GetComponent <IBSpriteController>());
        localPlayer.GetComponent <CharacterController>().EquipIBSprite(sprite1.GetComponent <IBSpriteController>());
        localPlayer.GetComponent <CharacterController>().EquipIBSprite(sprite2.GetComponent <IBSpriteController>());
        localPlayer.GetComponent <CharacterController>().EquipIBSprite(sprite3.GetComponent <IBSpriteController>());
        localPlayer.GetComponent <CharacterController>().EquipIBSprite(sprite4.GetComponent <IBSpriteController>());
        localPlayer.GetComponent <CharacterController>().EquipIBSprite(sprite5.GetComponent <IBSpriteController>());

        level.localPlayer = localPlayer.GetComponent <CharacterController>();

        // localPlayer.transform.position = playerSpawnPosition == null ? new Vector3(3, 1, 0) : playerSpawnPosition.position;
        // CameraManager.MainCamera.GetComponent<SceneScanEffectController>().center = localPlayer.transform;
        // localPlayer.transform.position = new Vector3(4, 8, 0);

        mainTargetGroup.m_Targets = new[] { new CinemachineTargetGroup.Target {
                                                target = localPlayer.transform, weight = 1f, radius = 5f
                                            } };
        combatVirtualCamera.Follow = localPlayer.transform;
        combatVirtualCamera.LookAt = localPlayer.transform;

        GameObject enemy0 = CharacterFactory.GenerateEnemy("Enemy 0");

        enemy0.transform.position = new Vector3(3, 8, 0);
        GameObject sprite6 = IBSpriteFactory.GenerateIBSprite("hammer");

        enemy0.GetComponent <CharacterController>().EquipIBSprite(sprite6.GetComponent <IBSpriteController>(), false);
        enemy0.AddComponent <NaiveAIOperator>();

        /*
         * GameObject enemy1 = CharacterFactory.GenerateLocalPlayer();
         * TagManager.SetAllTags(enemy1, TagManager.ENEMY_TAG);
         * enemy1.name = "Enemy 1";
         * enemy1.transform.position = new Vector3(12, 8, 0);
         */

        if (bgm)
        {
            AudioSource source = GetComponent <AudioSource>();
            source.clip = bgm;
            source.Play();
            source.loop       = true;
            source.spatialize = false;
        }

        combatComposer = combatVirtualCamera.GetCinemachineComponent <CinemachineComposer>();
        Debug.Log(JoystickUtil.JoystickNum + " Joysticks Detected : " + string.Join(", ", JoystickUtil.JoystickNames));
        Debug.Log(JoystickUtil.HapticDeviceNum + " Haptic Device Detected : " + string.Join(", ", JoystickUtil.HapticDeviceNames));
        JoystickUtil.LogPowerState();
        JoystickUtil.LogSensorState();

        level.Activate();
    }
コード例 #7
0
ファイル: CameraManager.cs プロジェクト: nfls/game-this-is-ib
 private void OnApplicationQuit() => JoystickUtil.Quit();