Esempio n. 1
0
    public void ThrowGren(Transform t, Player p, Ammunition GrenadeType, int grenNum)
    {
        if (MainNode.HasNode(_primedGrenade1Name))
        {
            if (grenNum == 1)
            {
                _primedGrenade1.Throw(t);
            }
            else
            {
                _primedGrenade2.Throw(t);
            }
        }
        else
        {
            PrimeGren(p, GrenadeType, grenNum);
        }

        if (grenNum == 1)
        {
            _primedGrenade1 = null;
        }
        else
        {
            _primedGrenade2 = null;
        }
    }
Esempio n. 2
0
    public void PrimeGren(Player p, Ammunition GrenadeType, int grenNum)
    {
        // play grentimer
        AudioStreamPlayer gt = (AudioStreamPlayer)p.GetNode("GrenTimer");

        gt.Play();

        string projectileResource = "";

        switch (GrenadeType)
        {
        case Ammunition.FragGrenade:
            projectileResource = FragGrenade.ProjectileResource;
            break;

        case Ammunition.ConcussionGrenade:
            projectileResource = ConcussionGrenade.ProjectileResource;
            break;

        case Ammunition.MIRVGrenade:
            projectileResource = MIRVGrenade.ProjectileResource;
            break;

        case Ammunition.NailGrenade:
            projectileResource = NailGrenade.ProjectileResource;
            break;
        }
        PackedScene _projectileScene = (PackedScene)ResourceLoader.Load(projectileResource);
        HandGrenade _spawnedGrenade  = (HandGrenade)_projectileScene.Instance();

        // add to scene so physics process is in use
        MainNode.AddChild(_spawnedGrenade);

        if (grenNum == 1)
        {
            _primedGrenade1Name = _spawnedGrenade.GetName();
            _primedGrenade1     = _spawnedGrenade;
        }
        else
        {
            _primedGrenade2Name = _spawnedGrenade.GetName();
            _primedGrenade2     = _spawnedGrenade;
        }

        _spawnedGrenade.Prime(p);
    }
Esempio n. 3
0
 private void ThrowGren(Vector3 dir)
 {
     PrimingGren.Throw(dir);
     this.PrimingGren = null;
 }