Esempio n. 1
0
    public override _Weapon3.enWaponState excute(_Shoot3 shoot, _Weapon3 wapon, _Weapon3.TriggerUnit trigger)
    {
        if (shoot.isScopeable & trigger.press)
        {
            wapon.sound.PlayOneShot(zoomSound);


            if (isScopeMode)
            {
                zoomOff(shoot);
            }
            else
            {
                zoomOn(shoot);
            }


            return(_Weapon3.enWaponState.excuting);
        }
        else
        {
            var progress = wapon.reloadRemainingTime * wapon.maxReloadTimeR;

            if (progress == 1.0f)
            {
                zoomOff(shoot);
            }


            return(_Weapon3.enWaponState.ready);
        }
    }
Esempio n. 2
0
    public override _Weapon3.enWaponState excute(_Shoot3 shoot, _Weapon3 wapon, _Weapon3.TriggerUnit trigger)
    {
        if (wapon.reloadRemainingTime > 0.0f)
        {
            return(_Weapon3.enWaponState.reloading);
        }
        else
        {
            if (bulletRemaining == 0)
            {
                bulletRemaining = maxBullets;
            }


            var state = base.excute(shoot, wapon, trigger);


            if ((state & _Weapon3.enWaponState.enterReload) != 0)
            {
                if (wapon.reloadRemainingTime == 0.0f)
                {
                    wapon.maxReloadTimeR = 1.0f / reloadTime;
                }

                wapon.reloadRemainingTime += reloadTime;
            }


            return(state);
        }
    }
Esempio n. 3
0
    public bool shoot(int id, int subId)
    {
        var mainTrigger = new _Weapon3.TriggerUnit(false, true, false);


        var isExcuting = weapons[id].excute(this, subId, mainTrigger);


        return(isExcuting);
    }
Esempio n. 4
0
    // 運用 --------------------------------------------------------

    protected override bool checkExcuting()
    {
        var mainTrigger = new _Weapon3.TriggerUnit(GamePad._r1, GamePad.r1, GamePad.r1_);

        var subTrigger = new _Weapon3.TriggerUnit(GamePad._l2, GamePad.l2, GamePad.l2_);


        var isExcuting = weapons.current.excute(this, mainTrigger, subTrigger);

        sounds.playReload(weapons.current.isReloading & isReloadable);


        return(isExcuting);
    }
Esempio n. 5
0
    public override _Weapon3.enWaponState excute(_Shoot3 shoot, _Weapon3 wapon, _Weapon3.TriggerUnit trigger)
    {
        if (!shoot.isShootable)
        {
            trigger = new _Weapon3.TriggerUnit();
        }



        if (Time.time > fireReadyTime)
        {
            /*if( wapon.reloadRemainingTime > 0.0f )
             * {
             *
             *      return _Wapon3.enWaponState.reloading;
             *
             * }
             * else */if (triggerRagTime > 0.0f && trigger.press)
            {
                fireReadyTime = Time.time + triggerRagTime;
            }
            else if (trigger.push)
            {
                fire(shoot, wapon);


                if (--bulletRemaining > 0)
                {
                    fireReadyTime = Time.time + nextFireTime;                    // - ( Time.time - fireReadyTime );


                    return(_Weapon3.enWaponState.excuting);
                }
                else
                {
                    fireReadyTime = 0.0f;


                    return(_Weapon3.enWaponState.enterReload | _Weapon3.enWaponState.excuting);
                }
            }
            else
            {
                return(_Weapon3.enWaponState.ready);
            }
        }


        return(_Weapon3.enWaponState.busy);
    }
Esempio n. 6
0
 public abstract _Weapon3.enWaponState excute(_Shoot3 shoot, _Weapon3 wapon, _Weapon3.TriggerUnit trigger);