示例#1
0
    // Update is called once per frame
    void Update()
    {
        if (!cursedGirl.locked && cursedGirl.activation && cursedGirl.cursedGirlState == CursedGirlStates.ATTACKING)
        {
            cursedGirl.AimPlayer();
            if (!cursedGirl.enemyCanvas.activeInHierarchy)
            {
                GetComponent <CursedGirlTalk>().SetDialogueMode(false);
            }

            if (((!cursedGirl.canAttack && !attackInCurse) || cursedGirl.distToPlayer < cursedGirl.iniAttackDist || cursedGirl.distToPlayer > cursedGirl.endAttackDist) && GetPhase() != 3)
            {
                attackState = CursedGirlAttackStates.MOVING;
            }
            else if ((cursedGirl.canAttack || canTeleport || canCreateMonsters || GetPhase() == 4 || !FindObjectOfType <CheckBossPos>().IsInsideTheCrypt()) || attackInCurse)
            {
                attackState = CursedGirlAttackStates.ATTACKING;
            }

            if (attackState == CursedGirlAttackStates.MOVING)
            {
                cursedGirl.DetectPlayerInArea();
            }
            else if (attackState == CursedGirlAttackStates.ATTACKING)
            {
                ManageAttackStates();
            }
            cursedGirl.anim.SetFloat("Speed", cursedGirl.speed);
        }
        else if (cursedGirl.enemyCanvas.activeInHierarchy)
        {
            cursedGirl.enemyCanvas.SetActive(false);
        }
    }
示例#2
0
 // Start is called before the first frame update
 void Start()
 {
     cursedGirl  = GetComponent <CursedGirlEnemy>();
     attackState = CursedGirlAttackStates.ATTACKING;
 }