Example #1
0
    void OnCollisionEnter2D(Collision2D col)
    {
        //if (col.gameObject.tag != "Player")
        //{
        //    Destroy(gameObject);
        //}

        switch (col.gameObject.tag)
        {
        case ("Player"):
            if (canHitPlayer)
            {
                Destroy(gameObject);
            }
            break;

        case ("Enemy"):
            EnemyBrain enemyBrain = col.gameObject.GetComponent <EnemyBrain>();
            enemyBrain.TakeDamage(damage, lethal);
            Destroy(gameObject);
            break;
        }

        //Debug.Log(col.gameObject.name);

        if (col.gameObject.layer == 8)
        {
            Destroy(gameObject);
        }
    }
Example #2
0
 void Awake()
 {
     animManager = GetComponent <SoldierAnimationManager>();
     timeUtils   = GetComponent <TimeUtils>();
     blink       = GetComponent <Blink>();
     brain       = GetComponent <EnemyBrain>();
 }
Example #3
0
 void Start()
 {
     flashRed     = GetComponent <FlashUsingMaterial>();
     animator     = GetComponent <Animator>();
     audioManager = GetComponent <SlugAudioManager>();
     brain        = GetComponent <MummyBrain>();
 }
    private IEnumerator UpdateNPCTalkingAfterBreakedBariier()
    {
        GameSceneTables.SectionData sectionData = MonoBehaviourSingleton <GameSceneManager> .I.GetCurrentSection().sectionData;

        Player hound_A  = MonoBehaviourSingleton <StageObjectManager> .I.nonplayerList[0] as Player;
        Player hound_B  = MonoBehaviourSingleton <StageObjectManager> .I.nonplayerList[1] as Player;
        Player beginner = MonoBehaviourSingleton <StageObjectManager> .I.nonplayerList[2] as Player;

        hound_B.uiPlayerStatusGizmo.SayChat(sectionData.GetText("STR_VORGON_HINT_9"));
        yield return((object)new WaitForSeconds(4f));

        hound_A.uiPlayerStatusGizmo.SayChat(sectionData.GetText("STR_VORGON_HINT_10"));
        yield return((object)new WaitForSeconds(4f));

        beginner.uiPlayerStatusGizmo.SayChat(sectionData.GetText("STR_VORGON_HINT_11"));
        yield return((object)new WaitForSeconds(20f));

        hound_B.uiPlayerStatusGizmo.SayChat(sectionData.GetText("STR_VORGON_HINT_12"));
        EnemyBrain brain = enemy.GetComponentInChildren <EnemyBrain>();

        for (int i = 0; i < brain.actionCtrl.actions.Count; i++)
        {
            brain.actionCtrl.actions[i].isForceDisable = (i != 14);
            finish = true;
        }
        yield return((object)new WaitForSeconds(5f));

        hound_A.uiPlayerStatusGizmo.SayChat(sectionData.GetText("STR_VORGON_HINT_13"));
        yield return((object)null);
    }
 private void UpdateVorgonBattle()
 {
     //IL_0018: Unknown result type (might be due to invalid IL or missing references)
     //IL_0055: Unknown result type (might be due to invalid IL or missing references)
     if (!npcStartedTalking)
     {
         npcStartedTalking = true;
         this.StartCoroutine("UpdateNPCTalking");
     }
     if (vorgonBarrierBrokenProc && !npcAnnouncedHint && !enemy.IsValidBarrier)
     {
         this.StopCoroutine("UpdateNPCTalking");
         this.StartCoroutine("UpdateNPCTalkingAfterBreakedBariier");
         npcAnnouncedHint = true;
     }
     if ((float)enemy.hp / (float)enemy.hpMax <= 0.5f || MonoBehaviourSingleton <InGameProgress> .I.remaindTime < 84f)
     {
         this.StopCoroutine("UpdateNPCTalking");
         this.StopCoroutine("UpdateNPCTalkingAfterBreakedBariier");
         EnemyBrain componentInChildren = enemy.GetComponentInChildren <EnemyBrain>();
         for (int i = 0; i < componentInChildren.actionCtrl.actions.Count; i++)
         {
             componentInChildren.actionCtrl.actions[i].isForceDisable = (i == 14);
             finish = true;
         }
     }
 }
Example #6
0
 private void DeActivateSwarm()
 {
     foreach (var swarm_member in SwarmMembers)
     {
         EnemyBrain eb = swarm_member.GetComponent <EnemyBrain>();
         eb.Reset();
     }
 }
 public void AlertOthers(EnemyBrain e, GameObject target)
 {
     for (int i = 0; i < enemys.Length; i++)
     {
         enemys[i].movement.moveTarget = target;
         enemys[i].alerted             = true;
         enemys[i].health.DamageEvent -= enemys[i].OnHitAlert;
     }
 }
Example #8
0
 public virtual void Awake()
 {
     AI      = GetComponent <EnemyBrain>();
     EnemyUI = GetComponent <EnemyUI>();
     EnemyUI.Initialize();
     Health = GetComponent <Health>();
     EnemyUI.UpdateHealthBar(Health);
     Attack = GetComponent <Attack>();
 }
 private void OnTriggerEnter(Collider other)
 {
     if (other.gameObject.CompareTag("Enemy"))
     {
         EnemyBrain b = other.GetComponent <EnemyBrain>();
         b.movement.GiveSlow(slowAmount, Mathf.Infinity);
         b.animHook.SetAnimSpeed(0.4f);
     }
 }
 private void OnTriggerExit(Collider other)
 {
     if (other.gameObject.CompareTag("Enemy"))
     {
         EnemyBrain b = other.GetComponent <EnemyBrain>();
         b.movement.slowDuration = 0;
         b.animHook.SetAnimSpeed(1f);
     }
 }
Example #11
0
 private void Awake()
 {
     if (_playersCombat)
     {
         _playerBrain = this.GetComponent <PlayerBrain>();
     }
     else
     {
         _enemyBrain = this.GetComponent <EnemyBrain>();
     }
 }
 public PiratePart(EnemyBehaviourFactory behaviourFactory, EnemyBrain brain, IPositionComponent Physical)
 {
     this.behaviourFactory = behaviourFactory;
     this.Brain            = brain;
     this.Physical         = Physical;
     behaviourTree         = CreateBehaviourTree();
     agent = new BehaviourTreeAgent(behaviourTree);
     Brain.LookDistance  = 20;
     Brain.ShootDistance = 5;
     Brain.ShootInterval = 2;
     Brain.GunDamage     = 20;
 }
 public ProximityChaseEnemyPart(EnemyBehaviourFactory behaviourFactory, EnemyBrain brain, IPositionComponent Physical)
 {
     BehaviourFactory    = behaviourFactory;
     behaviourTree       = CreateBehaviourTree();
     agent               = new BehaviourTreeAgent(behaviourTree);
     GunChargedTime      = -1;
     brain.LookDistance  = 20;
     brain.ShootDistance = 5;
     brain.ShootInterval = 2;
     brain.GunDamage     = 20;
     Brain               = brain;
     this.Physical       = Physical;
 }
Example #14
0
 // Use this for initialization
 void Start()
 {
     animator       = GetComponent <Animator>();
     enemyRigidBody = GetComponent <Rigidbody2D>();
     enemyBrain     = GetComponent <EnemyBrain>();
     enemyCollider  = GetComponent <BoxCollider2D>();
     animator       = GetComponent <Animator>();
     swordHBRight   = transform.Find("swordHBRight").gameObject;
     swordHBLeft    = transform.Find("swordHBLeft").gameObject;
     enemyStun      = false;
     gameManager    = GameObject.Find("GameManager").GetComponent <GameManager>();
     stepPlaying    = false;
 }
Example #15
0
    public static void MakeDecision(EnemyBrain brain)
    {
        Vector2Int playerPosition;

        if (EnemyPerception.IsPlayerVisible(brain.position, out playerPosition))
        {
            Chase(brain, playerPosition);
        }
        else
        {
            Patrol(brain);
        }
    }
    void OnTriggerExit2D(Collider2D other)
    {
        if (other.tag == "Enemy_Blindspot")
        {
            //Display a fun little icon
            EnemyBrain enemy = other.GetComponentInParent <EnemyBrain>();
            enemy.ToggleKnockoutIcon(false);
        }

        if (other.gameObject == m_currentObj)
        {
            m_currentObj = null;
        }
    }
    void OnTriggerStay2D(Collider2D other)
    {
        if (other.tag == "Enemy_Blindspot")
        {
            if (Input.GetKeyDown(KeyCode.Mouse1))
            {
                //PlayerPunch();
                EnemyBrain enemy = other.GetComponentInParent <EnemyBrain>();
                enemy.TakeDamage(10, false);
            }
        }

        //if(other.GetComponent<>)
    }
Example #18
0
    void Attack(EnemyBrain enemy)
    {
        int roll = DiceRoller.RollDice(1, 20);

        if ((roll + PlayerManager.stats.attackBonus) > MapManager.enemies[enemy.id].ac)
        {
            int damage = DiceRoller.RollDice(PlayerManager.stats.dicesDamage, PlayerManager.stats.sidesDamage);

            damage += PlayerManager.stats.bonusDamage;

            Debug.Log("Enemy got hit on " + damage + " hp!");

            enemy.gameObject.GetComponent <EnemyHealth>().DealDamage(damage);
        }
    }
Example #19
0
    static void Attack(EnemyBrain brain)
    {
        PlayerHealth player = GameObject.Find("Player(Clone)").GetComponent <PlayerHealth>();

        int roll = DiceRoller.RollDice(1, 20);

        if ((roll + MapManager.enemies[brain.id].baseAttack) > PlayerManager.stats.ac)
        {
            int damage = DiceRoller.RollDice(MapManager.enemies[brain.id].diceDamage, MapManager.enemies[brain.id].sidesDamage);

            damage += MapManager.enemies[brain.id].bonusDamage;

            Debug.Log("Player got hit on " + damage + " hp!");

            player.DealDamage(damage);
        }
    }
    public override void Enter(StateMachine fsm, Brain brain)
    {
        EnemyBrain enemyBrain = brain as EnemyBrain;

        EnemyActionController.ActionInfo nowAction = enemyBrain.actionCtrl.nowAction;
        if (nowAction.data.isRotate)
        {
            fsm.subFsm.ChangeState(STATE_TYPE.ROTATE);
        }
        else if (nowAction.data.isMove)
        {
            fsm.subFsm.ChangeState(STATE_TYPE.MOVE);
        }
        else
        {
            fsm.subFsm.ChangeState(STATE_TYPE.ATTACK);
        }
    }
    void OnCollisionEnter2D(Collision2D col)
    {
        if (col.gameObject.tag != "Player")
        {
            Destroy(gameObject);
        }

        switch (col.gameObject.tag)
        {
        case ("Player"):
            Destroy(gameObject);
            break;

        case ("Enemy"):
            EnemyBrain enemyBrain = col.gameObject.GetComponent <EnemyBrain>();
            enemyBrain.TakeDamage(m_Damage);
            Destroy(gameObject);
            break;
        }
    }
    //void OnCollisionStay(Collision collisionInfo)
    //{
    //    Debug.Log(collisionInfo.gameObject.tag);
    //}

    void OnTriggerEnter2D(Collider2D other)
    {
        if (other.tag == "Enemy_Blindspot")
        {
            //Display a fun little icon
            EnemyBrain enemy = other.GetComponentInParent <EnemyBrain>();
            enemy.ToggleKnockoutIcon(true);
        }

        if (other.GetComponent <IUseable>() != null)
        {
            m_currentObj = other.gameObject;
        }

        if (other.tag == "Key")
        {
            hasKey = true;
            Destroy(other.gameObject);
        }
    }
Example #23
0
    static void Patrol(EnemyBrain brain)
    {
        List <Vector2Int> potentialPositions = new List <Vector2Int>();

        foreach (Vector2Int pos in GetNeighboringPositions(brain.position))
        {
            if (MapManager.map[pos.x, pos.y].isWalkable && !MapManager.map[pos.x, pos.y].hasEnemy)
            {
                potentialPositions.Add(pos);
            }
        }

        if (potentialPositions.Count > 0)
        {
            int        roll   = Random.Range(0, potentialPositions.Count - 1);
            Vector2Int target = potentialPositions[roll];

            EnemyMovement.Move(target, brain);
        }
    }
Example #24
0
    public override void Process(StateMachine fsm, Brain brain)
    {
        EnemyBrain enemyBrain = brain as EnemyBrain;

        if (!(enemyBrain == null) && enemyBrain.opponentMem != null)
        {
            enemyBrain.opponentMem.Update();
            enemyBrain.actionCtrl.SelectAction();
            if (enemyBrain.actionCtrl.canUseCount <= 0)
            {
                fsm.processSpan.SetTempSpan(1f);
            }
            else if (enemyBrain.actionCtrl.totalWeight <= 0)
            {
                fsm.ChangeState(STATE_TYPE.SEARCH);
            }
            else
            {
                fsm.ChangeState(STATE_TYPE.ACTION);
            }
        }
    }
Example #25
0
    void Start()
    {
        sr                  = gameObject.AddComponent <SpriteRenderer>();
        sr.sprite           = enemyData.sprite;
        sr.material         = enemyData.material;
        sr.sortingLayerName = "Game";

        rb          = gameObject.AddComponent <Rigidbody2D>();
        rb.bodyType = RigidbodyType2D.Kinematic;

        bc = gameObject.AddComponent <BoxCollider2D>();

        hc = gameObject.AddComponent <HealthComponent>();
        hc.Setup(enemyData.MaxHealth);

        an = gameObject.AddComponent <Animator>();
        an.runtimeAnimatorController = enemyData.animatorController;

        InitPoint  = (Vector2)transform.position;
        enemyBrain = enemyData.enemyBrain;
        ChangeBehaviour(EnemyBehaviours.Idle);
    }
Example #26
0
    public void HateCtrl()
    {
        if (!object.ReferenceEquals(bulletData, null) && !object.ReferenceEquals(bulletData.dataDecoy, null) && !object.ReferenceEquals(MonoBehaviourSingleton <StageObjectManager> .I.boss, null))
        {
            EnemyBrain component = MonoBehaviourSingleton <StageObjectManager> .I.boss.GetComponent <EnemyBrain>();

            if (!object.ReferenceEquals(component, null))
            {
                float num = (float)skillParam.supportValue[0] * 0.01f;
                if (bulletData.dataDecoy.addDecoyHate.Length > 0)
                {
                    int i = 0;
                    for (int num2 = bulletData.dataDecoy.addDecoyHate.Length; i < num2; i++)
                    {
                        BulletData.BulletDecoy.HateInfo hateInfo = bulletData.dataDecoy.addDecoyHate[i];
                        HateInfo hateInfo2 = new HateInfo();
                        hateInfo2.target = this;
                        hateInfo2.value  = (int)((float)hateInfo.value * num);
                        hateInfo2.type   = hateInfo.type;
                        component.HandleEvent(BRAIN_EVENT.DECOY, hateInfo2);
                    }
                }
                if (!object.ReferenceEquals(ownerPlayer, null) && bulletData.dataDecoy.addOwnerHate.Length > 0)
                {
                    int j = 0;
                    for (int num3 = bulletData.dataDecoy.addOwnerHate.Length; j < num3; j++)
                    {
                        BulletData.BulletDecoy.HateInfo hateInfo3 = bulletData.dataDecoy.addOwnerHate[j];
                        HateInfo hateInfo4 = new HateInfo();
                        hateInfo4.target = ownerPlayer;
                        hateInfo4.value  = (int)((float)hateInfo3.value * num);
                        hateInfo4.type   = hateInfo3.type;
                        component.HandleEvent(BRAIN_EVENT.DECOY, hateInfo4);
                    }
                }
            }
        }
    }
Example #27
0
    public static void Move(Vector2Int target, EnemyBrain brain)
    {
        if (MapManager.map[target.x, target.y].isWalkable && !MapManager.map[target.x, target.y].hasPlayer && !MapManager.map[target.x, target.y].hasEnemy)
        {
            MapManager.map[brain.position.x, brain.position.y].hasEnemy    = false;
            MapManager.map[brain.position.x, brain.position.y].enemyID     = -1;
            MapManager.map[brain.position.x, brain.position.y].enemyObject = null;

            brain.position = target;

            MapManager.map[brain.position.x, brain.position.y].hasEnemy    = true;
            MapManager.map[brain.position.x, brain.position.y].enemyID     = brain.id;
            MapManager.map[brain.position.x, brain.position.y].enemyObject = brain.gameObject;

            DungeonGenerator dungeon = GameObject.Find("GameManager").GetComponent <DungeonGenerator>();
            brain.gameObject.transform.position = new Vector3(brain.position.x * dungeon.tileScaling, brain.position.y * dungeon.tileScaling, brain.gameObject.transform.position.z);
        }

        if (MapManager.map[target.x, target.y].hasPlayer)
        {
            Attack(brain);
        }
    }
 private IEnumerator Start()
 {
     while (enemy == null)
     {
         if (MonoBehaviourSingleton <StageObjectManager> .IsValid())
         {
             enemy = MonoBehaviourSingleton <StageObjectManager> .I.boss;
         }
         yield return((object)null);
     }
     if (MonoBehaviourSingleton <QuestManager> .IsValid())
     {
         questType = MonoBehaviourSingleton <QuestManager> .I.GetVorgonQuestType();
     }
     while (!MonoBehaviourSingleton <InGameProgress> .I.isBattleStart)
     {
         yield return((object)null);
     }
     if (questType == QuestManager.VorgonQuetType.BATTLE_WITH_VORGON)
     {
         EnemyBrain brain = enemy.GetComponentInChildren <EnemyBrain>();
         brain.actionCtrl.actions[14].isForceDisable = true;
     }
 }
Example #29
0
 public void IDied(EnemyBrain eb)
 {
     DeadSwarmMembersCount++;
 }
Example #30
0
 public virtual void Init(EnemyBrain brain)
 {
     this.brain    = brain;
     maxAttackRate = attackRate;
 }