public static List<BackgroundObject> CreateBackgroundObjects(int amountToCreate, Transform transform, Vector2 generationBounds, Vector2 spacing, StyleManager.LevelStyle style, int depth)
        {
            List<BackgroundObject> result = new List<BackgroundObject>();
            int maxAmountOfObjectsHorizontal = (int)(generationBounds.X / spacing.X);
            if (spacing.X == 0) maxAmountOfObjectsHorizontal = 1;
            int maxAmountOfObjectsVertical = (int)(generationBounds.Y / spacing.Y);
            if (spacing.Y == 0) maxAmountOfObjectsVertical = 1;
            int maxAmountOfObjects = maxAmountOfObjectsHorizontal * maxAmountOfObjectsVertical;

            List<int> indexes = new List<int>();
            for (int i = 0; i < maxAmountOfObjects; ++i)
                indexes.Add(i);

            for (int i = 0; i < amountToCreate; ++i)
            {
                int selectionIndex = Globals.Random.Next(0, indexes.Count);
                int placementX = indexes[selectionIndex] % maxAmountOfObjectsHorizontal;
                int placementY = indexes[selectionIndex] / maxAmountOfObjectsVertical;
                indexes.RemoveAt(selectionIndex);

                BackgroundObject objectToGenerateFrom = Globals.Backgrounds.GetObject(style, depth);
                BackgroundObject newObject = new BackgroundObject(objectToGenerateFrom);
                if(transform != null)
                    newObject.Transform.ParentTransform = transform;
                newObject.Transform.PosX = spacing.X * placementX;
                newObject.Transform.PosY = spacing.Y * placementY;
                newObject.ApplyJitter();
                result.Add(newObject);
            }
            return result;
        }
Exemplo n.º 2
0
        public Slash(GraphicsDevice device, int minLength)
        {
            //_vertexBuffer = new VertexBuffer(device, typeof(VertexPositionNormalTexture), _vertices.Length, BufferUsage.None);

            m_attack = new AttackComponent(0.6f, 0.1f);
            m_attack.Unlock();
            m_attack.Enable();

            _minLength = minLength;

            m_sliceCollider = new LineCollider(m_attack);
            _slashStart = new Transform();
            _slashEnd = new Transform();
            _slashStart.Scale = new Vector2(5, 5);
            _slashEnd.Scale = new Vector2(10, 10);

            _device = device;

            InitMatrices();
            InitVertices();

            World.UL_Global.Add(this, 0);

            m_effect = new BasicEffect(device);
            m_effect.LightingEnabled = false;
            m_effect.VertexColorEnabled = false;

            m_effect.World = _world;
            m_effect.View = _view;
            m_effect.Projection = _projection;
        }
 public double GetAngle(Transform a, Transform b)
 {
     double dist = GetDistance(a.Position, b.Position);
     double sine = (b.PosY - a.PosY) / dist;
     double cosine = (b.PosX - a.PosX) / dist;
     return GetAngle(cosine, sine);
 }
 public Button(Sprite sprite)
     : base()
 {
     m_buttonSprite = sprite;
     m_transform = m_buttonSprite.Transform;
     m_aabb = new AABB(m_transform, m_buttonSprite.Dimensions);
 }
 public BodyPart(SpriteSheet spriteSheet, Transform transform)
 {
     m_transform = transform;
     m_sprite = new Sprite(Globals.TheGame, spriteSheet, m_transform);
     m_physics = new PhysicsComponent(Globals.TheGame, m_transform);
     //PlaceInFrontOf(parent);
     //Hide();
 }
 public ImpactEffect(Transform transform, SpriteSheet effectSheet, float effectLength)
 {
     m_impactSprite = new Sprite(Globals.TheGame, effectSheet, transform);
     m_impactSprite.Origin = new Microsoft.Xna.Framework.Vector2(0.1f, 0.9f);
     m_impactSprite.Alpha = 0.3f;
     m_spriteAnimation = new SpriteSheetAnimation(m_impactSprite, 0, effectSheet.AmountOfFrames - 1, effectLength, 1);
     m_spriteAnimation.Start();
 }
 public ShurikenReceiver(Transform transform, AABB shurikenBounds, int impactBufferSize)
 {
     m_transform = transform;
     m_shurikenBounds = shurikenBounds;
     m_impacts = new Sprite[impactBufferSize];
     m_helper = new GeometryHelper();
     m_hitParticles = new ParticleSystem(Globals.TheGame, 2);
     m_generator = new ParticleGenerator<PhysicsParticle>(Globals.TheGame, m_hitParticles);
 }
Exemplo n.º 8
0
 public Sprite(MyGame theGame, SpriteSheet spriteSheet, Transform transform)
 {
     m_theGame = theGame;
     SpriteSheet = spriteSheet;
     m_transform = transform;
     m_srcRect.Width = m_spriteSheet.FrameWidth;
     m_srcRect.Height = m_spriteSheet.FrameHeight;
     Origin = new Vector2(0.5f, 0.5f);
 }
 public PhysicsParticle(SpriteSheet spriteSheet, Vector2 startPosition, float fx, float fy)
 {
     m_transform = new Transform();
     m_transform.Position = startPosition;
     m_physics = new PhysicsComponent(Program.TheGame, m_transform);
     m_sprite = new Sprite(Program.TheGame, spriteSheet, m_transform);
     m_sprite.Colour = new Vector4(24.0f / 255, 52.0f / 255, 66.0f/ 255, 1);
     m_physics.Throw(fx, fy, 0);
 }
 public PhysicsComponent(PhysicsComponent objectToCopy, Transform transform)
 {
     m_myGame = objectToCopy.m_myGame;
     m_transform = transform;
     Mass = objectToCopy.Mass;
     Friction = objectToCopy.Friction;
     Restitution = objectToCopy.Restitution;
     AirFriction = objectToCopy.AirFriction;
 }
 public PhysicsComponent(MyGame theGame, Transform transform)
 {
     m_myGame = theGame;
     m_transform = transform;
     Mass = 1;
     Friction = 1;
     Restitution = 1;
     AirFriction = 1;
 }
Exemplo n.º 12
0
 public Transform(Transform other)
 {
     m_localTransform = other.m_localTransform;
     m_position = other.m_position;
     m_scale = other.m_scale;
     m_direction = other.m_direction;
     m_updateTransformMatrixFlag = other.m_updateTransformMatrixFlag;
     m_parentTransform = other.m_parentTransform;
 }
Exemplo n.º 13
0
        public Actor(MyGame theGame)
        {
            m_theGame = theGame;

            //Sets the entity's ID to a unique ID.
            _ID = currentID;
            ++currentID;
            m_parent = null;

            m_transform = new Transform();
        }
Exemplo n.º 14
0
        public Individual(Crowd crowd, Vector2 positionInCrowd) : base()
        {
            m_transform.Position        = positionInCrowd;
            m_transform.ParentTransform = crowd.Transform;

            m_spriteTransform = new Transform();
            m_jumpTransform   = new PastaGameLibrary.Transform(m_spriteTransform, true);
            m_sprite          = new PastaGameLibrary.Sprite(Program.TheGame, TextureLibrary.GetSpriteSheet("perso_foule"), m_jumpTransform);
            m_sprite.Origin   = new Vector2(0.5f, 1.0f);

            m_saut = new Sequence(-1);

            ///
            ///Jump animation
            ///
            Vector2            jumpTarget   = new Vector2(0, (float)(Program.Random.NextDouble() * JumpHeight * 0.5 + JumpHeight * 0.5));
            float              movementTime = (float)(Program.Random.NextDouble() * 0.5 * JumpMovementTime + JumpMovementTime * 0.5);
            MoveToStaticAction jumpMovement = new MoveToStaticAction(Program.TheGame, m_jumpTransform, jumpTarget, 1);

            jumpMovement.Timer.Interval = movementTime;
            jumpMovement.Interpolator   = new PBounceInterpolation(0);
            m_saut.AddAction(jumpMovement);
            m_saut.AddAction(new DelayAction(Program.TheGame, TotalJumpTime - movementTime));

            ///
            ///Walk animation
            ///
            m_walk = new MoveToStaticAction(Program.TheGame, m_jumpTransform, new Vector2(0, 1), -1);
            m_walk.Timer.Interval = (float)Program.Random.NextDouble() * WalkAnimationTime * 0.5f + WalkAnimationTime * 0.5f;
            m_walk.Interpolator   = new BooleanInterpolation();

            ///
            ///Throw player animation
            ///
            m_throw = new Sequence(1);
            float intensity = 1 - Math.Min(1, m_transform.Position.Length() * 0.02f);

            m_throwStretch = new ScaleToAction(Program.TheGame, m_jumpTransform, new Vector2(1.0f, 1 - intensity * 0.5f), 1);
            m_throwStretch.Interpolator = new PSmoothstepInterpolation();
            ScaleToAction throwDestretch = new ScaleToAction(Program.TheGame, m_jumpTransform, new Vector2(1.0f, 1.0f), 1);

            throwDestretch.Timer.Interval = 0.1f;

            m_throw.AddAction(m_throwStretch);

            MoveToStaticAction throwMovement = new MoveToStaticAction(Program.TheGame, m_jumpTransform, Vector2.Zero, 1);

            throwMovement.StartPosition  = new Vector2(0, -20 - 30 * intensity);
            throwMovement.Timer.Interval = 0.4f;
            throwMovement.Interpolator   = new PBounceInterpolation(0, 1);
            m_throw.AddAction(new Concurrent(new PastaGameLibrary.Action[] { throwMovement, throwDestretch }));

            m_actionManager = new SingleActionManager();
        }
Exemplo n.º 15
0
 public Sprite(Sprite spriteToCopy, Transform transform)
 {
     m_theGame = spriteToCopy.m_theGame;
     m_srcRect = spriteToCopy.m_srcRect;
     m_spriteSheet = spriteToCopy.m_spriteSheet;
     m_origin = spriteToCopy.m_origin;
     m_renderOrigin = spriteToCopy.m_renderOrigin;
     m_colour = spriteToCopy.m_colour;
     m_renderColour = spriteToCopy.m_renderColour;
     m_transform = transform;
 }
Exemplo n.º 16
0
 public Transform(Transform other, bool isParent)
 {
     if (isParent)
         m_parentTransform = other;
     else
     {
         m_localTransform = other.m_localTransform;
         m_position = other.m_position;
         m_scale = other.m_scale;
         m_direction = other.m_direction;
         m_updateTransformMatrixFlag = other.m_updateTransformMatrixFlag;
         m_parentTransform = other.m_parentTransform;
     }
 }
Exemplo n.º 17
0
        public ScoreDisplay()
        {
            m_transform = new Transform();

            m_slideIn = new MoveToStaticAction(Program.TheGame, m_transform, inPos, 1);
            m_slideIn.StartPosition = outPos;
            m_slideIn.Timer.Interval = 0.25f;
            m_slideIn.Interpolator = new PSmoothstepInterpolation();

            m_slideOut = new MoveToStaticAction(Program.TheGame, m_transform, outPos, 1);
            m_slideOut.StartPosition = inPos;
            m_slideOut.Timer.Interval = 0.25f;
            m_slideOut.Interpolator = new PSmoothstepInterpolation();

            m_actions = new SingleActionManager();
            m_transform.Position = outPos;
        }
Exemplo n.º 18
0
        public House(SpriteSheet houseTexture, SpriteSheet maskTexture)
            : base()
        {
            Transform transform;

            m_transform = new Transform();

            transform = new Transform();
            transform.ParentTransform = m_transform;
            m_sprite = new Sprite(Globals.TheGame, houseTexture, m_transform);
            m_sprite.Origin = new Vector2(0, 1);

            transform = new Transform();
            transform.ParentTransform = m_transform;
            m_entranceMask = new Sprite(Globals.TheGame, maskTexture, m_transform);
            m_entranceMask.Origin = new Vector2(0, 1);

            m_drawingList = World.DL_House;
            m_drawingList.Add(this, 0);
        }
Exemplo n.º 19
0
 public AABB(Sprite sprite)
 {
     m_origin = sprite.Origin;
     m_dimensions = sprite.Dimensions;
     m_transform = sprite.Transform;
 }
        public GameObject(GameObject objectToCopy)
        {
            m_transform = new Transform(objectToCopy.Transform);
            if (objectToCopy.Sprite != null)
                m_sprite = new Sprite(objectToCopy.Sprite, m_transform);
            if (objectToCopy.Physics != null)
                m_physics = new PhysicsComponent(objectToCopy.Physics, m_transform);
            //if (objectToCopy.Destructible != null)
            //    m_physics = new DestructibleComponent(objectToCopy.Destructible, m_transform);
            if (objectToCopy.m_updateList != null)
                m_updateList = objectToCopy.m_updateList;
            if (objectToCopy.m_drawingList != null)
                m_drawingList = objectToCopy.m_drawingList;

            if (objectToCopy.m_spawners != null)
            {
                m_spawners = new List<Spawner>();
                for (int i = 0; i < objectToCopy.m_spawners.Count; ++i)
                    m_spawners.Add(new Spawner(m_spawners[i]));
            }
        }
Exemplo n.º 21
0
 public LineSegment(Vector2 a, Vector2 b)
 {
     m_transform = new Transform();
 }
 public PhysicsParticle(Sprite sprite, PhysicsParticleData data)
 {
     //_burntTexture = TextureManager.GetBurnt(textureName);
     //BindParent(parent);
     m_sprite = sprite;
     m_theGame = m_sprite.TheGame;
     m_transform = sprite.Transform;
     m_physics = new PhysicsComponent(m_theGame, sprite.Transform);
     m_data = data;
 }
 public Camera2D(Vector2 focusPoint)
 {
     m_transform = new Transform();
     m_centerMatrix = Matrix.CreateTranslation(Globals.TheGame.ScreenWidth * 0.5f, Globals.TheGame.ScreenHeight * 0.5f, 0);
 }
Exemplo n.º 24
0
 public LineSegment(Transform transform, Vector2 a, Vector2 b)
 {
     m_a = a;
     m_b = b;
     m_transform = transform;
 }
Exemplo n.º 25
0
 public UnitPoint(Transform transform, Vector2 position)
 {
     m_pos = position;
     m_transform = transform;
 }
Exemplo n.º 26
0
 public SoulParticle()
 {
     m_transform = new Transform();
     m_transform.Position = Cutscenes.cutscenePlayer.Transform.Position;
     m_physics = new PhysicsComponent(Program.TheGame, m_transform);
     m_sprite = new Sprite(Program.TheGame, Cutscenes.soulTexture, m_transform);
     m_physics.Throw((float)Program.Random.NextDouble() * 0.5f + 0.6f, (float)Program.Random.NextDouble() * -2.0f, 0);
     m_physics.GroundLevel = 55;
 }
Exemplo n.º 27
0
        public CutscenePlayer()
            : base()
        {
            m_ascendSound = SoundEffectLibrary.Get("ascend").CreateInstance();
            m_cloud = new Prop("cloud");
            m_sword = new Prop("sword");

            m_shlingSprite = new Sprite(Program.TheGame, TextureLibrary.GetSpriteSheet("shling"), new Transform(m_transform, true));

            m_sprite = new PastaGameLibrary.Sprite(Program.TheGame, TextureLibrary.GetSpriteSheet("player_cutscene", 1, 4), new Transform(m_transform, true));
            m_sprite.Origin = new Vector2(0.5f, 0.5f);
            m_sprite.PixelCorrection = false;

            m_moveToCrowd = new MoveToTransform(Program.TheGame, m_transform, null, null, 1);
            m_moveToCrowd.Timer.Interval = 0.1f;
            MoveToStaticAction carryMovement = new MoveToStaticAction(Program.TheGame, m_transform, new Vector2(0, CarryHeight - 5), 1);
            carryMovement.Interpolator = new PBounceInterpolation(1.0f);
            carryMovement.StartPosition = new Vector2(0, CarryHeight);
            carryMovement.Timer.Interval = 0.2f;
            MethodAction action = new MethodAction(delegate() { carryMovement.StartPosition = new Vector2(0, CarryHeight); });

            Sequence bounceAnimation = new Sequence(-1);
            bounceAnimation.AddAction(carryMovement);
            bounceAnimation.AddAction(action);

            m_carryAnimation = new Sequence(1);
            m_carryAnimation.AddAction(m_moveToCrowd);
            m_carryAnimation.AddAction(bounceAnimation);

            //Sword movement
            Transform start = new Transform(m_transform, true);
            Transform end = new Transform(m_transform, true);
            m_swordMovement = new MoveToTransform(Program.TheGame, m_sword.Transform, start, end, 1);
            end.PosX = SwordOffsetToPlayerX;
            end.PosY = SwordOffsetToPlayerY;
            m_swordDelay = new DelayAction(Program.TheGame, AscendDuration * SwordStartTimeRatio);

            //Cloud movement
            m_cloudMovement = new MoveToStaticAction(Program.TheGame, m_cloud.Transform, new Vector2(CloudOffsetToPlayerX, CloudOffsetToPlayerY), 1);
            m_cloudMovement.StartPosition = new Vector2(CloudStartX, 0);
            m_cloudMovement.Interpolator = new PSquareInterpolation(0.25f);

            //Delay of the ascend, then sword/cloud movement
            Sequence swordAndCloudMovement = new Sequence(1);
            swordAndCloudMovement.AddAction(m_swordDelay);
            swordAndCloudMovement.AddAction(new Concurrent(new PastaGameLibrary.Action[] { m_swordMovement, m_cloudMovement }));

            m_ascendMovement = new MoveToTransform(Program.TheGame, m_transform, new Transform(), new Transform(), 1);
            m_ascendMovement.Interpolator = new PSquareInterpolation(0.5f);

            MethodAction showPlayer = new MethodAction(delegate()
            {
                m_sprite.Transform.PosY -= 1;
                Game1.player.ShowPlayer();
                isVisible = false;
                m_cloud.IsVisible = false;
                m_sword.IsVisible = false;
            });

            //Shling!
            ScaleToAction shlingScale = new ScaleToAction(Program.TheGame, m_shlingSprite.Transform, new Vector2(ShlingScale, ShlingScale), 1);
            shlingScale.Timer.Interval = ShlingTime;
            shlingScale.StartScale = Vector2.Zero;
            shlingScale.Interpolator = new PSquareInterpolation(2);

            RotateToStaticAction shlingRotate = new RotateToStaticAction(Program.TheGame, m_shlingSprite.Transform, ShlingSpin, 1);
            shlingRotate.Timer.Interval = ShlingTime;
            m_shling = new Concurrent(new PastaGameLibrary.Action[] { shlingScale, shlingRotate });

            Sequence readyAnim = new Sequence(1);
            readyAnim.AddAction(new DelayAction(Program.TheGame, 0.5f));
            readyAnim.AddAction(new MethodAction(delegate() {
                    Cutscenes.GetReady();
                    SoundEffectLibrary.Get("sword_slash").Play();
                }));

            Concurrent shlingReady = new Concurrent(new PastaGameLibrary.Action[] {
                m_shling,
                readyAnim,
            });

            m_ascend = new Sequence(1);
            m_ascend.AddAction(new DelayAction(Program.TheGame, Crowd.LaunchTensionTime));
            m_ascend.AddAction(new MethodAction(delegate() { m_ascendSound.Play(); }));
            Concurrent ascendAndSword = new Concurrent(new PastaGameLibrary.Action[] { m_ascendMovement, swordAndCloudMovement });
            m_ascend.AddAction(ascendAndSword);
            m_ascend.AddAction(showPlayer);
            m_ascend.AddAction(shlingReady);

            m_physics = new PhysicsComponent(Program.TheGame, m_transform);
            m_physics.Mass = 3.0f;

            m_jumpFromTotem = new Sequence(1);
            m_decelerate = new MoveToStaticAction(Program.TheGame, m_transform, Vector2.Zero, 1);
            m_decelerate.Interpolator = new PSquareInterpolation(0.5f);
            m_jumpFromTotem.AddAction(m_decelerate);
            m_jumpFromTotem.AddAction(new DelayAction(Program.TheGame, 0.2f));
            m_jumpFromTotem.AddAction(new MethodAction(delegate()
                {
                    m_physics.OnBounce = null;
                    m_physics.Throw(1.0f, -2.0f, 0);
                    Game1.CurrentMusic.StopDynamicMusic();
                    SoundEffectLibrary.Get("sword_slash").Play();
                }));
            m_jumpFromTotem.AddAction(new DelayAction(Program.TheGame, 0.75f));
            m_jumpFromTotem.AddAction(new MethodAction(delegate()
            {
                Game1.SetupNextRound();
                if (Game1.CurrentTotem == null)
                    Cutscenes.GoToCliff();
                else
                    Cutscenes.GoToTotem(Game1.CurrentTotem, 1.0f, 0);
            }));
            m_actionManager = new SingleActionManager();

            m_hitSpikes = new Sequence(1);

            m_moveToCrashingPlayer = new MoveToTransform(Program.TheGame, Game1.GameCamera.Transform, new Transform(), new Transform(), 1);
            m_moveToCrashingPlayer.Timer.Interval = 0.2f;

            m_hitSpikes.AddAction(new DelayAction(Program.TheGame, 1.0f));
            m_hitSpikes.AddAction(m_moveToCrashingPlayer);
            m_hitSpikes.AddAction(new DelayAction(Program.TheGame, 0.5f));
            m_hitSpikes.AddAction(new MethodAction(delegate() {
                if(Game1.CurrentTotem == null)
                    Cutscenes.GoToCliff();
                else
                    Cutscenes.GoToTotem(Game1.CurrentTotem, 1.0f, 0);
                m_sprite.SetFrame(0);
                m_physics.OnBounce = null;
                m_physics.Throw(0, -3, 0);
                m_transform.PosY = m_physics.GroundLevel;
            }));

            m_auraParticles = new ParticleSystem(Program.TheGame, 100);
            m_soulParticles = new ParticleSystem(Program.TheGame, 500);

            m_levitate = new Sequence(1);
            m_moveToCliffTip = new MoveToStaticAction(Program.TheGame, m_transform, new Vector2(Cutscenes.InitialCharacterPosition + 10, -8), 1);
            m_moveToCliffTip.Interpolator = new PSmoothstepInterpolation();
            m_moveToCliffTip.Timer.Interval = 1.0f;
            m_levitate.AddAction(m_moveToCliffTip);
            m_levitate.AddAction(new MethodAction(delegate() { m_generateSouls = true; }));

            m_particleGenerator = new ParticleGenerator<GlitterParticle>(Program.TheGame, m_auraParticles);
            m_particleGenerator.Automatic = true;
            m_particleGenerator.GenerationInterval = 0.01f;
            m_soulParticleGenerator = new ParticleGenerator<SoulParticle>(Program.TheGame, m_soulParticles);

            m_jumpInMouth = new Sequence(1);
            m_jumpInMouth.AddAction(new DelayAction(Program.TheGame, 0.5f));
            m_jumpInMouth.AddAction(new MethodAction(delegate() { m_generateSouls = false; }));
            m_jumpInMouth.AddAction(new DelayAction(Program.TheGame, 0.5f));
            m_jumpInMouth.AddAction(new MethodAction(delegate() { JumpInMonsterMouth(); }));
            m_jumpInMouth.AddAction(new DelayAction(Program.TheGame, 0.25f));
            m_jumpInMouth.AddAction(new MethodAction(delegate() { Cutscenes.monster.CloseMouth(); }));
            m_jumpInMouth.AddAction(new DelayAction(Program.TheGame, 2.0f));
            m_jumpInMouth.AddAction(new MethodAction(delegate() { Cutscenes.crowd.PushNewGuy(); }));
            m_jumpInMouth.AddAction(new DelayAction(Program.TheGame, 1.0f));
            m_jumpInMouth.AddAction(new MethodAction(delegate() { Cutscenes.StartMainMenu(); }));
        }
Exemplo n.º 28
0
        public static void Initalise()
        {
            cutscenePlayer = new CutscenePlayer();
            cutscenePlayer.Transform.PosX = -100;
            monster = new Monster();
            crowd = new Crowd(40, 18, new Vector2(2.5f, 0.5f));

            title = new Title();

            DelayAction cameraDelay = new DelayAction(Program.TheGame, CameraDelay);
            moveToTotem = new MoveToStaticAction(Program.TheGame, Game1.GameCamera.Transform, Vector2.Zero, 1);
            moveToTotem.StartPosition = new Vector2(CameraMenuX, CameraMenuY);
            moveToTotem.Interpolator = new PSmoothstepInterpolation();
            moveToTotem.Timer.Interval = TimeToFirstTotem;
            MethodAction moveCrowd = new MethodAction(delegate() {
                crowd.MoveTo(currentTotemPosition + TotemCrowdOffset, TimeToFirstTotem); });
            gotoFirstTotem = new Sequence(1);
            gotoFirstTotem.AddAction(cameraDelay);
            gotoFirstTotem.AddAction(moveCrowd);
            gotoFirstTotem.AddAction(moveToTotem);
            gotoFirstTotem.AddAction(new MethodAction(delegate() { Cutscenes.ThrowPlayer(Game1.CurrentTotem); }));

            playerLaunch = new Sequence(1);
            playerLaunch.AddAction(new DelayAction(Program.TheGame, Crowd.LaunchTensionTime));
            moveToAscendingPlayer = new MoveToTransform(Program.TheGame, Game1.GameCamera.Transform, new Transform(), cutscenePlayer.Transform, 1);
            moveToAscendingPlayer.Interpolator = new PSquareInterpolation(0.1f);
            moveToAscendingPlayer.RotationActive = false;
            playerLaunch.AddAction(moveToAscendingPlayer);

            readySequence = new Sequence(1);
            Transform end = new Transform(Game1.player.Transform, true);
            end.PosY = Game1.CameraOffset;
            moveToFallingPlayer = new MoveToTransform(Program.TheGame, Game1.GameCamera.Transform, new Transform(), end, 1);
            moveToFallingPlayer.Interpolator = new PSmoothstepInterpolation();
            moveToFallingPlayer.RotationActive = false;

            readySequence.AddAction(new MethodAction(delegate() { Game1.player.GetReady(); }));
            readySequence.AddAction(moveToFallingPlayer);
            readySequence.AddAction(new MethodAction(delegate() { Game1.player.StartCountDown(); })) ;

            cameraZoom = new ScaleToAction(Program.TheGame, Game1.GameCamera.Transform, Vector2.Zero, 1);
            cameraZoom.Interpolator = new PSmoothstepInterpolation();
            cameraZoom.Timer.Interval = 0.3f;

            goToPlayerOnGround = new Sequence(1);
            goToPlayerOnGroundMovement = new MoveToTransform(Program.TheGame, Game1.GameCamera.Transform, new Transform(), cutscenePlayer.Transform, 1);
            goToPlayerOnGroundMovement.Timer.Interval = 1.0f;
            goToPlayerOnGroundMovement.Interpolator = new PSmoothstepInterpolation();
            goToPlayerOnGround.AddAction(new DelayAction(Program.TheGame, 0.5f));
            goToPlayerOnGround.AddAction(goToPlayerOnGroundMovement);

            intro = new Sequence(1);
            MoveToStaticAction moveToMenu = new MoveToStaticAction(Program.TheGame, Game1.GameCamera.Transform, new Vector2(CameraMenuX, CameraMenuY), 1);
            moveToMenu.Timer.Interval = MoveInTime + 1.0f;

            intro.AddAction(moveToMenu);
            intro.AddAction(new MethodAction(delegate() { crowd.PushNewGuy(); }));
            intro.AddAction(new DelayAction(Program.TheGame, 1.5f));
            intro.AddAction(new MethodAction(delegate() { StartMainMenu(); }));

            goToCliff = new Sequence(1);
            goToCliff.AddAction(moveToTotem);
            goToCliff.AddAction(new MethodAction(delegate() { cutscenePlayer.GiveSouls(Game1.TotalScore); monster.OpenMouth(); }));

            auraTexture = TextureLibrary.GetSpriteSheet("soul_temp");
            soulTexture = TextureLibrary.GetSpriteSheet("soul");
            //moveToAscendingPlayer = new MoveToTransform(Program.TheGame, Game1.GameCamera.Transform, new Transform(), cutscenePlayer.Transform, 1);
        }
Exemplo n.º 29
0
 public PointCollider(Object owner, Transform transform)
     : base(owner, CollisionMethods.ColliderType.Point)
 {
     m_transform = transform;
 }
Exemplo n.º 30
0
 public CircleCollider(Object owner, Transform transform)
     : base(owner, CollisionMethods.ColliderType.Circle)
 {
     m_circle = new Circle(transform, 1);
 }
 public PhysicsParticle(MyGame theGame, SpriteSheet spriteSheet, PhysicsParticleData data)
 {
     m_sprite = new Sprite(theGame, spriteSheet, new Transform());
     m_theGame = theGame;
     m_transform = m_sprite.Transform;
     m_physics = new PhysicsComponent(m_theGame, m_sprite.Transform);
     m_data = data;
 }