public override void Enter()
    {
        base.Enter();

        _weaponAttribute.reload = true;

        process = 1;

        _animator.animator.SetTrigger("reload");
        _ownAnimator.SetTrigger("reload");
        _iKManager.SetAim(false);
        _iKManager.SetHoldTarget(magIK);
        //_weaponHandle.locked = true;
    }
Beispiel #2
0
    public override void Enter()
    {
        base.Enter();

        process = 1;
        if (_weaponAttribute.active)
        {
            _animator.animator.SetTrigger("pickWeapon");
            _animator.animator.SetInteger("weaponTarget", (int)_weaponAttribute.type);
            _animator.AddEvent("weaponType", (int)_weaponAttribute.type);
            _iKManager.SetHoldTarget(_weaponAttribute.holdPoint);
            _iKManager.SetAim(false);
            _iKManager.SetHold(false);
            _iKManager.SetLook(true);

            endTimer.Enter(endTime);
            pickTimer.Enter(pickTime);

            _weaponHandle.locked = true;
            var cutMsg = new UiEvent.UiMsgs.WeaponCut()
            {
                texture = _weaponAttribute.cutPicInBattle
            };
            _uiMgr.SendEvent(cutMsg);

            var ammoMsg = new UiEvent.UiMsgs.Ammo()
            {
                ammo = _weaponAttribute.runtimeMag + (_weaponAttribute.bore ? 1f : 0f),
                mag  = _weaponAttribute.mag
            };
            _uiMgr.SendEvent(ammoMsg);

            var spreadMsg = new UiEvent.UiMsgs.Spread()
            {
                value = _weaponAttribute.spread
            };
            _uiMgr.SendEvent(spreadMsg);
        }
        else
        {
            _weaponAttribute.constraint.weight = 1;
            foreach (var state in _weaponAttribute.states.Values)
            {
                if (!state._name.Equals(this._name))
                {
                    if (state._active)
                    {
                        state.Exit();
                    }
                }
            }
            _weaponAttribute.ready = false;
            this._exitTick         = true;
        }

        _iKManager.SetAim(false);
        _iKManager.SetHold(false);
    }