コード例 #1
0
ファイル: HitArea.cs プロジェクト: Otto404/wp-xna
        internal bool HitTest( HitArea area )
        {
            if ( !this.IsEnabled )
                return false;

            return this.hitTesting ( area );
        }
コード例 #2
0
ファイル: Bullet.cs プロジェクト: Otto404/wp-xna
        protected Bullet( IPlayScene scene, int type, Vector2 location, string movieName, float speed, int angle, HitArea hitArea, int width, int height, int power, int life, double destroySecond, bool isMovieRotable, bool isAreaLimited, bool isAreaEntered, double areaSecond )
            : base(scene, type, location, movieName,
			null,
			speed, angle, hitArea, width, height, destroySecond, isMovieRotable, isAreaLimited, isAreaEntered, areaSecond)
        {
            this.Power = power < 0 ? 0 : power;
            this.life = life;

            this.isMoving = true;
        }
コード例 #3
0
ファイル: Region.cs プロジェクト: Otto404/wp-xna
        protected Region( IPlayScene scene, int type, Vector2 location, string movieName, float speed, int angle, HitArea hitArea, int width, int height, double destroySecond )
            : base(scene, type, location, movieName,
			null,
			speed, angle, hitArea, width, height, destroySecond,
			true,
			false,
			false,
			0)
        {
        }
コード例 #4
0
ファイル: NPC.cs プロジェクト: Otto404/wp-xna
        protected NPC( IPlayScene scene, int type, Vector2 location, string movieName, string extendMovieName, float speed, int angle, HitArea hitArea, int width, int height, int life, IList<NPCAction> actions, double destroySecond, bool isMovieRotable, bool isAreaLimited, bool isAreaEntered, double areaSecond )
            : base(scene, type, location, movieName, extendMovieName, speed, angle, hitArea, width, height, destroySecond, isMovieRotable, isAreaLimited, isAreaEntered, areaSecond)
        {
            this.life = life <= 0 ? 1 : life;
            this.protoLife = this.life;

            if ( null != actions )
                this.actions.AddRange ( actions );

            this.currentActionIndex = 0;
        }
コード例 #5
0
        protected override bool hitTesting( HitArea area )
        {
            if ( !base.hitTesting ( area ) )
                return false;

            foreach ( Rectangle subRectangle in this.subRectangles )
                if ( area.HitTest ( subRectangle ) )
                    return true;

            return false;
        }
コード例 #6
0
ファイル: Item.cs プロジェクト: Otto404/wp-xna
        protected Item( IPlayScene scene, int type, Vector2 location, string movieName, float speed, int angle, HitArea hitArea, int width, int height, double destroySecond, bool isAreaLimited, bool isAreaEntered, double areaSecond, bool isAutoPick )
            : base(scene, type, location, movieName,
			null,
			speed, angle, hitArea, width, height, destroySecond,
			false,
			isAreaLimited, isAreaEntered, areaSecond)
        {
            this.isAutoPick = isAutoPick;

            this.isMoving = true;
        }
コード例 #7
0
ファイル: Spirit.cs プロジェクト: Otto404/wp-xna
        protected Spirit( IPlayScene scene, int type, Vector2 location, string movieName, string extendMovieName, float speed, int angle, HitArea hitArea, int width, int height, double destroySecond, bool isMovieRotable, bool isAreaLimited, bool isAreaEntered, double areaSecond )
        {
            if ( null == scene || string.IsNullOrEmpty ( movieName ) )
                throw new ArgumentNullException ( "scene, movieName", "scene, movieName can't be null" );

            this.destroyFrameCount = World.ToFrameCount ( destroySecond );

            this.scene = scene;
            this.world = scene.World;
            this.audioManager = scene.AudioManager;

            this.isMovieRotable = isMovieRotable;
            this.isAreaLimited = isAreaLimited;
            this.isAreaEntered = isAreaEntered;

            this.areaFrameCount = World.ToFrameCount ( areaSecond );

            this.Location = location;

            this.movie = Movie.Clone ( this.scene.Makings[movieName] as Movie );
            this.movie.Ended += this.movieEnded;

            this.movieName = movieName;

            if ( !string.IsNullOrEmpty ( extendMovieName ) )
            {
                this.extendMovie = Movie.Clone ( this.scene.Makings[extendMovieName] as Movie );
                this.extendMovieName = extendMovieName;
            }

            this.Width = width;
            this.Height = height;
            this.halfSize = new Vector2 ( width / 2, height / 2 );

            this.Type = type;

            this.Speed = speed;
            this.Angle = angle;
            this.HitArea = hitArea;

            if ( null != this.HitArea )
                this.HitArea.Locate ( this.getHitAreaLocation ( ) );
        }
コード例 #8
0
 protected override bool hitTesting( HitArea area )
 {
     return area.HitTest ( this.rectangle );
 }
コード例 #9
0
ファイル: HitArea.cs プロジェクト: Otto404/wp-xna
 protected abstract bool hitTesting( HitArea area );