Exemple #1
0
    // Update is called once per frame
    void Update()
    {
        if (player != null)
        {
            Vector2 direction = new Vector2(player.position.x - transform.position.x,
                                            player.position.y - transform.position.y);
            float distance = Vector3.Distance(transform.position, player.transform.position);
            if (distance < 20)
            {
                transform.up = direction;
                if (distance > 5)
                {
                    rb.AddRelativeForce(Vector2.up * tankEntity.speed);
                }

                if (Time.timeSinceLevelLoad - lastFired > 1f)
                {
                    foreach (TankPart part in tankEntity.parts)
                    {
                        if (part is WeaponPart)
                        {
                            WeaponPart weapon = (WeaponPart)part;
                            if (part != null)
                            {
                                weapon.Fire();
                            }
                        }
                    }
                    lastFired = Time.timeSinceLevelLoad;
                }
            }
        }
    }