Ejemplo n.º 1
0
 public override void Shoot()
 {
     if (this.Time % 1 != 0)
     {
         return;
     }
     for (int index = 0; index < 2; ++index)
     {
         StageDataPackage stageData = this.StageData;
         MyRandom         ran1      = this.StageData.Ran;
         int      minValue1         = (int)this.OriginalPosition.X - 20;
         PointF   originalPosition  = this.OriginalPosition;
         int      maxValue1         = (int)originalPosition.X + 20;
         double   num1 = (double)ran1.Next(minValue1, maxValue1);
         MyRandom ran2 = this.StageData.Ran;
         originalPosition = this.OriginalPosition;
         int minValue2 = (int)originalPosition.Y - 20;
         originalPosition = this.OriginalPosition;
         int         maxValue2        = (int)originalPosition.Y + 20;
         double      num2             = (double)ran2.Next(minValue2, maxValue2);
         PointF      OriginalPosition = new PointF((float)num1, (float)num2);
         double      num3             = (double)this.StageData.Ran.Next(10, 30) / 10.0;
         double      direction        = this.Direction;
         int         LifeTime         = 100 + this.Ran.Next(60);
         Particle3D3 particle3D3      = new Particle3D3(stageData, "Petal30", OriginalPosition, (float)num3, direction, LifeTime);
         particle3D3.Angle             = (double)this.StageData.Ran.Next(0, 360) * 3.14159274101257 / 180.0;
         particle3D3.AngularVelocity3D = (float)this.StageData.Ran.Next(10) / 100f;
         particle3D3.Scale             = (float)this.StageData.Ran.Next(5, 8) / 10f;
         particle3D3.RotatingAxis      = new Vector3((float)this.StageData.Ran.Next(-100, 100), (float)this.StageData.Ran.Next(-100, 100), (float)this.StageData.Ran.Next(-100, 100));
         particle3D3.MaxTransparent    = (int)byte.MaxValue;
     }
 }
Ejemplo n.º 2
0
        public override void GiveEndEffect()
        {
            Color color;

            switch (this.ColorType)
            {
            case 0:
                color = Color.Red;
                new EndEnemy(this.StageData, "EndEnemy0", this.Position, 0.0f, 0.0).Scale = 0.2f;
                break;

            case 1:
                color = Color.CornflowerBlue;
                new EndEnemy(this.StageData, "EndEnemy1", this.Position, 0.0f, 0.0).Scale = 0.2f;
                break;

            case 2:
                color = Color.Green;
                new EndEnemy(this.StageData, "EndEnemy2", this.Position, 0.0f, 0.0).Scale = 0.2f;
                break;

            case 3:
                color = Color.Yellow;
                new EndEnemy(this.StageData, "EndEnemy3", this.Position, 0.0f, 0.0).Scale = 0.2f;
                break;

            default:
                color = Color.White;
                new EndEnemy(this.StageData, "EndEnemy2", this.Position, 0.0f, 0.0).Scale = 0.2f;
                new EndEnemy(this.StageData, "EndEnemy3", this.Position, 0.0f, 0.0).Scale = 0.2f;
                break;
            }
            for (int index = 0; index < 10; ++index)
            {
                Particle3D3 particle3D3 = new Particle3D3(this.StageData, "Effect-0", this.OriginalPosition, (float)this.Ran.Next(40) / 10f, (double)this.Ran.Next(360) / 180.0 * 3.14159274101257, 40);
                particle3D3.Angle             = (double)this.StageData.Ran.Next(0, 360) * 3.14159274101257 / 180.0;
                particle3D3.AngularVelocity3D = (float)this.StageData.Ran.Next(10, 30) / 100f;
                particle3D3.Scale             = (float)this.StageData.Ran.Next(12, 18) / 10f;
                particle3D3.RotatingAxis      = new Vector3((float)this.StageData.Ran.Next(-100, 100), (float)this.StageData.Ran.Next(-100, 100), (float)this.StageData.Ran.Next(-100, 100));
                particle3D3.ColorValue        = color;
                particle3D3.MaxTransparent    = 200;
            }
        }