Пример #1
0
    // Use this for initialization
    void Start()
    {
        playerStamina = GetComponent <PlayerStamina> ();

        camera = Camera.main;
        tool   = Tools.NONE;

        hoe               = GetComponent <Hoe> ();
        plant             = GetComponent <PlantSeeds> ();
        wateringCan       = GetComponent <WateringCan> ();
        sickle            = GetComponent <Sickle> ();
        none              = GetComponent <None> ();
        holdingItem       = GetComponent <HoldingItem> ();
        inventory         = GetComponent <InventoryManager> ();
        fountainCollision = GetComponent <FountainCollider> ();
        NPCCollision      = GetComponentInChildren <NPCCollision> ();
        if (SceneManager.GetActiveScene().name.Contains("Outside") || SceneManager.GetActiveScene().name == "Farming" || SceneManager.GetActiveScene().name == "Farm")
        {
            outside = true;
        }
        else
        {
            outside = false;
        }

        anim          = GetComponent <Animator> ();
        hoeGO         = this.transform.Find("hoe").gameObject;
        wcanGO        = this.transform.Find("wateringcan").gameObject;
        sickleGO      = this.transform.Find("sickle").gameObject;
        buttonToPress = FindObjectOfType(typeof(ButtonToPress)) as ButtonToPress;
    }
Пример #2
0
        public override void CheckMovement(GameTime gameTime)
        {
            RecastPositions();


            if (player is IMovementNPC)
            {
                var temp = player as IMovementNPC;
                if (NPCCollision.IsAroundNPC(HeroPlayer.Positie, positie))
                {
                    base.CheckMovement(gameTime);
                }
                else
                {
                    if (!isSetTimer)
                    {
                        timer      = gameTime.TotalGameTime.TotalSeconds;
                        isSetTimer = true;
                    }

                    player.Direction = righting;

                    if (player.Direction)
                    {
                        velocity.X = -1;
                        isGround   = false;
                    }
                    else
                    {
                        velocity.X = 1;
                        isGround   = false;
                    }

                    if ((gameTime.TotalGameTime.TotalSeconds - timer > timeOnJump) && !hasJumped)
                    {
                        effects.PlayJump();
                        isSetTimer = false;
                        velocity.Y = -jumpHeight;
                        hasJumped  = true;
                        isGround   = false;
                    }

                    this.CheckCollide(4, 5);

                    CheckGravity();

                    player.Update(gameTime);
                }
            }
        }
Пример #3
0
        public override void CheckMovement(GameTime gameTime)
        {
            RecastPositions();

            if (NPCCollision.IsLeftFromNPC(HeroPlayer.Positie, positie))
            {
                player.Direction = true;
                velocity.X       = -1;
            }
            else if (NPCCollision.IsRightFromNPC(HeroPlayer.Positie, positie))
            {
                player.Direction = false;
                velocity.X       = 1;
            }
            else
            {
                velocity.X = 0;
            }

            if (NPCCollision.IsAboveNPC(HeroPlayer.Positie, positie) && !hasJumped)
            {
                //Jump
                effects.PlayJump();
                velocity.Y = -jumpHeight;
                hasJumped  = true;
                isGround   = false;
            }
            else
            {
                //effects.StopJump();
            }

            player.IsAttacking = false;
            if (NPCCollision.IsTouchingNPC(HeroPlayer.Rectangle, player.Rectangle))
            {
                player.IsAttacking = true;
                player.Attack.NPCAttack(HeroPlayer as IPlayerObject, player, gameTime, effects);
            }

            CheckCollide(4, 5);
            CheckGravity();

            player.Update(gameTime);
        }
Пример #4
0
        public override void CheckMovement(GameTime gameTime)
        {
            RecastPositions();

            if (player is IMovementNPC)
            {
                var temp = player as IMovementNPC;
                if (NPCCollision.IsAroundNPC(HeroPlayer.Positie, positie))
                {
                    base.CheckMovement(gameTime);
                }
                else
                {
                    if (HeroPlayer.Positie.X + 32 < positie.X)
                    {
                        player.Direction = true;
                        velocity.X       = -1;
                    }
                    else if (HeroPlayer.Positie.X + 32 > positie.X)
                    {
                        player.Direction = false;
                        velocity.X       = 1;
                    }
                    else
                    {
                        velocity.X = 0;
                    }

                    if (HeroPlayer.Positie.Y + 20 < positie.Y && !hasJumped)
                    {
                        //Jump
                        effects.PlayJump();
                        velocity.Y = -jumpHeight;
                        hasJumped  = true;
                        isGround   = false;
                    }

                    CheckCollide(4, 5);
                    CheckGravity();

                    player.Update(gameTime);
                }
            }
        }
        public void NPCAttack(IPlayerObject enemy, AEnemyObject player, GameTime gametime, IEffectMusic effect)
        {
            SetTimer(gametime);

            if (NPCCollision.IsTouchingNPC(player.Rectangle, enemy.Rectangle))
            {
                if (gametime.TotalGameTime.TotalSeconds - timer > 0.7)
                {
                    effect.PlayAttack();
                    isSetTimer    = false;
                    enemy.Hearts -= player.AttackDamage;
                    if (!enemy.IsHit)
                    {
                        enemy.IsHit = true;
                        effect.PlayHit();
                    }
                }
            }
        }
Пример #6
0
        public override void CheckMovement(GameTime gameTime)
        {
            RecastPositions();

            if (player is IMovementNPC)
            {
                var temp = player as IMovementNPC;
                if (NPCCollision.IsAroundNPC(HeroPlayer.Positie, positie))
                {
                    base.CheckMovement(gameTime);
                }
                else
                {
                    CheckCollide(4, 5);
                    CheckGravity();

                    player.Update(gameTime);
                }
            }
        }
        public void Attack(List <AEnemyObject> enemys, IPlayerObject player, GameTime gametime, IEffectMusic effect)
        {
            SetTimer(gametime);

            foreach (var enemy in enemys)
            {
                if (NPCCollision.IsTouchingNPC(player.Rectangle, enemy.Rectangle))
                {
                    if (gametime.TotalGameTime.TotalSeconds - timer > 0.5)
                    {
                        isSetTimer    = false;
                        enemy.Hearts -= player.AttackDamage;
                        if (!enemy.IsHit)
                        {
                            effect.PlayHit();
                            enemy.IsHit = true;
                        }
                    }
                }
            }
        }
        public override void CheckMovement(GameTime gameTime)
        {
            RecastPositions();

            if (NPCCollision.IsAroundNPC(HeroPlayer.Positie, positie))
            {
                base.CheckMovement(gameTime);
                hasFollow = true;
            }
            else
            {
                if (hasFollow)
                {
                    hasFollow = false;
                }

                #region met Tijd Guard
                if (!isSetTimer1)
                {
                    timer1      = gameTime.TotalGameTime.TotalSeconds;
                    isSetTimer1 = true;
                }

                player.Direction = righting;

                if (player.Direction)
                {
                    velocity.X = -1;
                }
                else
                {
                    velocity.X = 1;
                }
                if ((gameTime.TotalGameTime.TotalSeconds - timer1 > walkTime))
                {
                    velocity.X = 0;

                    if (!isSetTimer2)
                    {
                        timer2      = gameTime.TotalGameTime.TotalSeconds;
                        isSetTimer2 = true;
                    }

                    if ((gameTime.TotalGameTime.TotalSeconds - timer2 > stopTime))
                    {
                        isSetTimer2 = false;
                        isSetTimer1 = false;
                        righting    = !righting;
                    }
                }
                #endregion

                this.CheckCollide(5, 5);

                CheckGravity();

                player.Positie  = positie;
                player.Velocity = velocity;
                //player.Positie += player.Versnelling;

                player.Update(gameTime);
            }
        }
Пример #9
0
        public override void CheckMovement(GameTime gameTime)
        {
            RecastPositions();
            if (NPCCollision.IsAroundNPC(HeroPlayer.Positie, positie))
            {
                base.CheckMovement(gameTime);
                hasFollow = true;
            }
            else
            {
                if (hasFollow)
                {
                    minX      = positie.X - 32f;
                    maxX      = positie.X + 32f;
                    hasFollow = false;
                }


                #region Met Plaats Guard

                if (positie.X <= minX || positie.X >= maxX)
                {
                    velocity.X = 0;

                    if (!isSetTimer)
                    {
                        timer      = gameTime.TotalGameTime.TotalSeconds;
                        isSetTimer = true;
                    }

                    if ((gameTime.TotalGameTime.TotalSeconds - timer > stopTime))
                    {
                        isSetTimer = false;
                        isSetTimer = false;
                        righting   = !righting;
                        if (righting)
                        {
                            velocity.X = -1;
                        }
                        else
                        {
                            velocity.X = 1;
                        }
                    }
                }
                else
                {
                    player.Direction = righting;

                    if (player.Direction)
                    {
                        velocity.X = -1;
                    }
                    else
                    {
                        velocity.X = 1;
                    }
                }

                #endregion
                this.CheckCollide(5, 5);

                CheckGravity();

                player.Positie  = positie;
                player.Velocity = velocity;
                //player.Positie += player.Versnelling;

                player.Update(gameTime);
            }
        }