public override bool collide(cCritter pcritter)
        {
            bool collided = base.collide(pcritter);

            if (collided)
            {
                pcritter.addForce(new KnockbackForce(forceVector)); //clear forcelist before this?
            }
            return(collided);
        }
Exemple #2
0
        public virtual void seedCritters()
        {
            cCritter newcritter;

            _pbiota.purgeNonPlayerNonWallCritters(); /* Clean out all critters but player and
                                                      * walls, in case you have walls. */
            for (int i = 0; i < _seedcount; i++)
            {
                newcritter = new cCritter(this); /* The this argument adds the critter to the game,
                                                  * and sets its _movebox and _dragbox to the game _border, sets its _wrapflag
                                                  * to match the game's _wrapflag. */
                newcritter.randomize(cCritter.MF_POSITION | cCritter.MF_VELOCITY);
                newcritter.Sprite = randomSprite(_spritetype);
                newcritter.addForce(new cForceEvadeBullet()); /* Default force for evading the
                                                               * cBullet objects that the player fires. This force is a child of
                                                               * cForceClassEvade with default constructor equivalent
                                                               * to cForceClassEvade(cForceEvadeBullet.DARTACCELERATION, cForceEvadeBullet.DARTSPEEDUP,
                                                               * RUNTIME_CLASS(cCritterBullet), FALSE). The FALSE in the fourth arg, means don't
                                                               * bother evading children of cCritterBullet. */
            }
        }