Beispiel #1
0
    // Update is called once per frame
    void Update()
    {
        FlatMovement();

        FixObject();
        if (fixableObject != null)
        {
            fixingHandler = fixableObject.GetComponent <FixingHandler>();
        }
    }
Beispiel #2
0
    private void OnTriggerEnter(Collider other)
    {
        if (other.GetComponent <FixingHandler>() != null && crntState != enemyState.Attacking)
        {
            FixingHandler handler = other.GetComponent <FixingHandler>();

            if (handler.crntEnemyCount < handler.maxAllowedEnemies)
            {
                crntState         = enemyState.Attacking;
                agent.destination = handler.transform.position + new Vector3(Random.Range(-5, 5), 0, Random.Range(-5, 5));
                handler.crntEnemyCount++;
                handler.attackingUnits.Add(this);
            }
        }
    }
Beispiel #3
0
    void FixObject()
    {
        if (Input.GetKey(KeyCode.Space) && fixableObject != null && Vector3.Distance(transform.position, fixableObject.transform.position) < distanceFromFixer)
        {
            animator.SetBool("isAttacking", true);
            if (fixingHandler == null)
            {
                fixingHandler = fixableObject.GetComponent <FixingHandler>();
            }

            fixingHandler.life++;
            if (!audioSource.isPlaying)
            {
                audioSource.clip = clips[1];
                audioSource.Play();
            }
        }
        if (Input.GetKeyUp(KeyCode.Space))
        {
            audioSource.Stop();
            animator.SetBool("isAttacking", false);
        }
    }
Beispiel #4
0
 // Start is called before the first frame update
 void Start()
 {
     fixingHandler = GetComponent <FixingHandler>();
 }