Пример #1
0
    // Boring start/update part

    void Start()
    {
        animator           = GetComponent <Animator>();
        eRigidBody         = GetComponent <Rigidbody2D> ();
        eSpriteRenderer    = GetComponent <SpriteRenderer> ();
        monster_attack_arc = Resources.Load <AttackArc> ("Prefabs/UI/monster-attack-arc");

        attackCooldownCounter = attackCooldown;

        roamCooldownCounter = UnityEngine.Random.Range((roamCooldown * 0.75f), roamCooldown * (1.25f));
        roamDurationCounter = UnityEngine.Random.Range((roamDuration * 0.75f), roamDuration * (1.25f));
    }
Пример #2
0
    // Attacking

    public void AttackPlayer(Player player)
    {
        if (attackCooldownCounter < 0)
        {
            /*Vector3 spawnPosition = new Vector3 (transform.position.x, transform.position.y, transform.position.z);
             * Quaternion direction = Quaternion.LookRotation (Vector3.forward, transform.position - player.transform.position);
             * Vector3 offset = direction * (new Vector3 (0f, 0.3f, 0f));*/
            AttackArc sweep = Instantiate(monster_attack_arc, new Vector3(player.transform.position.x, player.transform.position.y + 0.5f, 0), Quaternion.identity);
            sweep.origin          = "enemy";
            sweep.TTL             = 0.2f;
            sweep.pierceDamage    = UnityEngine.Random.Range(pierceMinDamage, pierceMaxDamage + 1);
            sweep.bluntDamage     = UnityEngine.Random.Range(bluntMinDamage, bluntMaxDamage + 1);
            attackCooldownCounter = attackCooldown;
        }
    }