• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# EnemyState类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中EnemyState的典型用法代码示例。如果您正苦于以下问题:C# EnemyState类的具体用法?C# EnemyState怎么用?C# EnemyState使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



EnemyState类属于命名空间,在下文中一共展示了EnemyState类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: Awake

 // Use this for initialization
 void Awake()
 {
     body = gameObject.GetComponent<Rigidbody2D> ();
     player = GameObject.FindGameObjectWithTag("Player").transform;
     enemyState = EnemyState.Chase;
     spriteRenderer = gameObject.GetComponent<SpriteRenderer> ();
 }
开发者ID:klaxorx,项目名称:TrippingBalls,代码行数:8,代码来源:Enemy.cs


示例2: Update

    /*In here there is a switch-statement which handles which method that is going
        * to be updating, this is chosen by the currentState of the enemy.
         It is in here that you will add your own EnemyState.yourState-case and call for your own method below*/
    public virtual void Update()
    {
        playerPosition = (GameObject.Find ("Player").transform.position);
        distance = Vector3.Distance(playerPosition, transform.position);
        switch (currentState) {
        case EnemyState.initializing:
            /*filling in the player reference for easier access*/
            /*playerReference = GameObject.Find ("Player");*/
            currentState = EnemyState.idle;
            break;
        case EnemyState.idle:
            Idle();
            break;
        case EnemyState.sawPlayer:
            SawPlayer();
            break;
        case EnemyState.chasing:
            Chasing();

            break;
        case EnemyState.attacking:
            Attacking();

            currentState = EnemyState.idle;
            break;
        case EnemyState.fleeing:
            Fleeing();

            currentState = EnemyState.idle;
            break;
        default:
            break;
        }
    }
开发者ID:Fenrigus,项目名称:JQVerticalSlice,代码行数:37,代码来源:EnemyBehaviour.cs


示例3: CheckState

    void CheckState()
    {
        if( bKnockBack )
        {
            state = EnemyState.KnockBack;
        }
        else  if( !bKnockBack && state == EnemyState.KnockBack)
        {
            state = EnemyState.Idle;
        }

        if( fAttackCurrent > fAttackTime + (fAttackWait*2) )
        {
            fAttackCurrent = 0;
            state = EnemyState.Idle;
            attack.SetActive(false);
        }
        else if( bAttacked != true && (state == EnemyState.Attack || ( state != EnemyState.Attack && Vector3.Distance( transform.position , manager.GetActivePlayer().transform.position ) < fAttackDistance) ) )
        {
            state = EnemyState.Attack;
        }

        if( state != EnemyState.KnockBack && state != EnemyState.Dead && state != EnemyState.Attack)
        {
            state = EnemyState.Move;
        }
        else if( state == EnemyState.Dead)
        {
            Die();
        }
        //		else
        //		{
        //			state = EnemyState.Idle;
        //		}
    }
开发者ID:patrick-ryan-aie,项目名称:TrickyNinja,代码行数:35,代码来源:GeneralNinjaScript.cs


示例4: FixedUpdate

        void FixedUpdate()
        {
            GetComponent<Animator>().SetBool("IsAttacking", false);

            switch (State)
            {
                case EnemyState.Idle:
                    if (CanSeePlayer())
                    {
                        State = EnemyState.Detect;
                        GetComponent<Animator>().SetBool("IsMoving", true);
                    }
                    break;
                case EnemyState.Patrolling:
                    if (CanSeePlayer())
                    {
                        State = EnemyState.Detect;
                        GetComponent<Animator>().SetBool("IsMoving", true);
                    }
                    break;
                case EnemyState.Searching:
                    SearchState();
                    break;
                case EnemyState.Detect:
                    AlertState();
                    break;
            }
        }
开发者ID:EricFreeman,项目名称:DungeonGame,代码行数:28,代码来源:EnemyMovement.cs


示例5: FixedUpdate

    // Update is called once per frame
    void FixedUpdate()
    {
        if (Cutscene.current != null) return;
        if (state == EnemyState.Patrolling) {
            // Reverse direction if at destination
            if ((Vector2)transform.position == patrolEnd) {
                Vector3 temp = patrolEnd;
                patrolEnd = patrolStart;
                patrolStart = temp;
            }

            transform.position = Vector2.MoveTowards(transform.position, patrolEnd, runSpeed * Time.deltaTime);

            if (canFollow) {
                if (Vector2.Distance(Player.S.transform.position, transform.position) < sightRange)
                    state = EnemyState.Following;
            }
        } else if (state == EnemyState.Following) {
            transform.position = Vector2.MoveTowards(transform.position, Player.S.transform.position, followSpeed * Time.deltaTime);
            if (Vector2.Distance(Player.S.transform.position, transform.position) > sightRange)
                state = EnemyState.Patrolling;
        }
        if (Vector2.Distance(Player.S.transform.position, transform.position) < attackRange) {
            if (Time.time > nextAttackTime) {
                Player.S.TakeDamage(attackDamage);
                nextAttackTime = Time.time + attackSpeed;
            }
        }
    }
开发者ID:syogesh,项目名称:Lights,代码行数:30,代码来源:Enemy.cs


示例6: Update

        /// <summary>
        /// Updates this enemy instance
        /// </summary>
        /// <param name="gameTime">The time elapsed since the last update</param>
        public override void Update(GameTime gameTime)
        {
            switch (_state)
            {
                case EnemyState.Entering:
                    if (Entering(gameTime))
                    {
                        _state = EnemyState.Attacking;
                        this.Velocity = (this.Position.X < ManicShooter.ScreenSize.Width / 2) ? new Vector2(_maxSpeed, 0) : new Vector2(-_maxSpeed, 0);
                    }
                    break;
                case EnemyState.Attacking:
                    if (HorizontalPasses(gameTime)) _state = EnemyState.Leaving;
                    break;
                case EnemyState.Leaving:
                    LeaveScreen(gameTime.ElapsedGameTime);

                    if (this.IsOffScreen()) this.Destroy();
                    break;
            }

            ApplyVelocity(gameTime.ElapsedGameTime);
            UpdateWeaponPositions();

            base.Update(gameTime);
        }
开发者ID:TheGameDevelopmentClub,项目名称:Manic-Shooter,代码行数:30,代码来源:DefaultEnemy.cs


示例7: Initialize

        private void Initialize(Vector2 entryPosition)
        {
            this.ScaleSize(0.5M);
            this.Visible = true;
            this.randomDropChance = 10;

            _maxSpeed = 150;

            _state = EnemyState.Entering;

            this.targetEntryPosition = entryPosition;
            this.exitPosition = new Vector2(-50, -50);

            this._maxShotTime = 1000;
            this._shotTimer = this._maxShotTime;
            this._shotCount = 0;

            this._lastPlayerPositions = new Queue<Vector2>();

            this._lifeTimer = 10000;

            this.Velocity = Vector2.Zero;

            _weapons = new List<IWeapon>();

            //Point pellet gun
            _weapons.Add(new PelletGun(this.centerPosition, new Vector2(0, this.Height / 2), new Vector2(0, 250), 300d));
        }
开发者ID:TheGameDevelopmentClub,项目名称:Manic-Shooter,代码行数:28,代码来源:HunterEnemy.cs


示例8: Reset

 public void Reset()
 {
     state = EnemyState.Idle;
     gs.Enemy.width = 100f;
     gs.Enemy.height = 160f;
     gs.Enemy.position = gs.startEnemyPos;
 }
开发者ID:KogaSilverDragon,项目名称:Ludum-Dare-27,代码行数:7,代码来源:EnemyScript.cs


示例9: Start

	void Start () {
		player = GameManager.instance.Player;
		spiral = new SpiralMotionEnemyState(this, player);

		currentState = spiral;
		currentState.StartState();
	}
开发者ID:sdomenici009,项目名称:Starfield,代码行数:7,代码来源:NeutralEnemy.cs


示例10: Die

 public void Die()
 {
     currentState = EnemyState.DEAD;
     isDead = true;
     audio.PlayDie();
     StartCoroutine(DieCoroutine());
 }
开发者ID:idaelDev,项目名称:Five-At-Home-LudumDare33,代码行数:7,代码来源:Enemy.cs


示例11: StopMoving

	public void StopMoving(){
		Animation ani = gameObject.GetComponent<Animation> ();
		if(ani){
			//ani.Stop();
			STATE = EnemyState.Stop;
		}
	}
开发者ID:kyo88,项目名称:runner,代码行数:7,代码来源:ZombieController.cs


示例12: SetState

 public void SetState(EnemyState state)
 {
     this.state = state;
     switch (state)
     {
         case EnemyState.IDLE:
             GetComponent<Animator>().SetBool("isHit", false);
             GetComponent<Animator>().SetBool("isKnock", false);
             transform.localScale = new Vector3(1, 1, 1);
             break;
         case EnemyState.HIT:
             GetComponent<Animator>().SetBool("isHit", true);
             if (attack)
                 attack.Play();
             break;
         case EnemyState.KNOCK:
             GetComponent<Animator>().SetBool("isKnock", true);
             transform.localScale = new Vector3(-1, 1, 1);
             if (attack)
                 attack.Play();
             break;
         case EnemyState.DEAD:
             GetComponent<Animator>().SetBool("isDead", true);
             GetComponent<TargetState>().IsDead = true;
             if (die)
                 die.Play();
             break;
     }
 }
开发者ID:dvsonic,项目名称:AmazingNinjia,代码行数:29,代码来源:EnemyController.cs


示例13: Enemy

 public Enemy(Texture2D loadedTexture, Vector2 position, int frameCount, int framesPerSec, Action<Enemy, double> ai)
     : base(loadedTexture, position, 0f, 1f, 1f, frameCount, framesPerSec)
 {
     this.Ai = ai;
     this.State = EnemyState.Idle;
     this.Direction = Directions.Left;
 }
开发者ID:josiah1888,项目名称:game-dev,代码行数:7,代码来源:Enemy.cs


示例14: Die

 public void Die()
 {
     ES = EnemyState.Dead;
     anim.CrossFade("Dead", 0.2f);
     //fade out and destroy?
     StartCoroutine("FadeOut");
 }
开发者ID:dighjd12,项目名称:Project_Escape,代码行数:7,代码来源:Enemy.cs


示例15: InitializeDefaultEnemy

        private void InitializeDefaultEnemy(Vector2 TargetEntryPoint)
        {
            this.ScaleSize(0.5M);

            _screenPasses = 0;
            _maxPasses = 3;
            this.Visible = true;

            _maxSpeed = 150;

            _state = EnemyState.Entering;

            this.targetEntryPoint = TargetEntryPoint;

            this.Velocity = Vector2.Zero;

            _weapons = new List<IWeapon>();

            //Top Left pellet gun
            _weapons.Add(new PelletGun(this.centerPosition, new Vector2(-this.Width / 2, -this.Height / 2), new Vector2(-250, -250), 300d));
            //Top Right pellet gun
            _weapons.Add(new PelletGun(this.centerPosition, new Vector2(this.Width / 2, -this.Height / 2), new Vector2(250, -250), 300d));
            //Bottom Left pellet gun
            _weapons.Add(new PelletGun(this.centerPosition, new Vector2(-this.Width / 2, this.Height / 2), new Vector2(-250, 250), 300d));
            //Bottom Right pellet gun
            _weapons.Add(new PelletGun(this.centerPosition, new Vector2(this.Width / 2, this.Height / 2), new Vector2(250, 250), 300d));
        }
开发者ID:TheGameDevelopmentClub,项目名称:Manic-Shooter,代码行数:27,代码来源:DefaultEnemy.cs


示例16: Enemy

 /// <summary>
 /// Construct new Enemy from EnemyData structure, a texture for the enemy, and a texture for its cannon balls
 /// </summary>
 /// <param name="e">EnemyData structure that holds all initialization data.  Loaded from the main game using the ContentPipeline</param>
 /// <param name="tex">Texture representing this enemy</param>
 /// <param name="cBTex">Texture representing enemy cannon balls</param>
 public Enemy(EnemyData e, Texture2D tex, Texture2D cBTex)
     : base(e,tex,cBTex)
 {
     range = e.range;
     score = e.score;
     state = EnemyState.Chasing;
 }
开发者ID:BlackCodeStudios,项目名称:Boats-Boats-Boats,代码行数:13,代码来源:Enemy.cs


示例17: InCombat

    public void InCombat()
    {
        PatrolPath enemyPatrol = GetComponent<PatrolPath>() as PatrolPath;

        // Turn towards player
        if (enemyState == EnemyState.ENEMY_PATROLLING)
        {
            // Stop the enemy from Patrolling
            enemyPatrol.Disable();

            enemyState = EnemyState.ENEMY_AGGRO;
        }

        if (enemyState == EnemyState.ENEMY_AGGRO)
        {
            // Change direction towards player
            if (ChangeDirection(playerTransform.position))
            {
                // Walk towards the player
                Vector3 faceDirection = playerTransform.position - transform.position;
                transform.position = transform.position + (faceDirection * (MovementSpeed * Time.smoothDeltaTime));

                if (Vector3.Distance(transform.position, playerTransform.position) <= AttackRadius)
                {
                    enemyState = EnemyState.ENEMY_ATTACKING;
                }
            }
        }

        if (enemyState == EnemyState.ENEMY_ATTACKING)
        {
            if (Vector3.Distance(transform.position, playerTransform.position) >= AttackRadius)
            {
                enemyState = EnemyState.ENEMY_AGGRO;
            }
        }

        if (enemyState == EnemyState.ENEMY_EVADE)
        {
            // Move back towards the disabled position
            if (ChangeDirection(enemyPatrol.GetDisabledPosition()))
            {
                Vector3 faceDirection = enemyPatrol.GetDisabledPosition() - transform.position;
                transform.position = transform.position + (faceDirection * (MovementSpeed * Time.smoothDeltaTime));

                if (Vector3.Distance(transform.position, enemyPatrol.GetDisabledPosition()) < 0.01f)
                {
                    enemyState = EnemyState.ENEMY_PATROLLING;
                    enemyPatrol.Enable();
                    inCombat = false;
                }
            }
        }

        if (Vector3.Distance(transform.position, enemyPatrol.GetDisabledPosition()) >= PlayerChaseRadius)
        {
            enemyState = EnemyState.ENEMY_EVADE;
        }
    }
开发者ID:paul-dawson,项目名称:Germz,代码行数:59,代码来源:MeleeEnemy.cs


示例18: Die

 public void Die()
 {
     state = EnemyState.Dying;
     timer = DYING_TIME;
     gs.Enemy.width = 160f;
     gs.Enemy.height = 120f;
     gameObject.audio.PlayOneShot ( gs.enemyDieSFX );
 }
开发者ID:KogaSilverDragon,项目名称:Ludum-Dare-27,代码行数:8,代码来源:EnemyScript.cs


示例19: Attack

 public void Attack()
 {
     state = EnemyState.Prepare;
     timer = PREPARE_TIME;
     gs.Enemy.width = 100f;
     gs.Enemy.height = 160f;
     gameObject.audio.PlayOneShot ( gs.attackSFX );
 }
开发者ID:KogaSilverDragon,项目名称:Ludum-Dare-27,代码行数:8,代码来源:EnemyScript.cs


示例20: Enemy

 public Enemy(Vector2 center, string type)
 {
     Center = center;
     Width = WIDTH;
     Height = HEIGHT;
     Color = Color.Green;
     CurrentState = EnemyState.Patrol;
 }
开发者ID:abflin2,项目名称:Princess_Penny_Game,代码行数:8,代码来源:Enemy+(ubuntu's+conflicted+copy+2012-01-21).cs



注:本文中的EnemyState类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# EnemyType类代码示例发布时间:2022-05-24
下一篇:
C# EnemyHealth类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap