// Update is called once per frame
    void Update()
    {
        if (m_type == WeaponTypes.LieGenerator)
        {
            MeshRenderer iconRenderer = icon.GetComponent <MeshRenderer>();
            if (liesTimer + 10.0f < Time.time)
            {
                if (!lieHint)
                {
                    iconRenderer.material = (Material)Instantiate(Resources.Load("materials/liegeneratorhint"));
                    lieHint = true;
                }
            }
            else if (lieHint)
            {
                iconRenderer.material = (Material)Instantiate(Resources.Load("materials/liegenerator"));
                lieHint = false;
            }
            //print(iconRenderer.material.name);

            //iconRenderer.material = (Material) Instantiate(Resources.Load("materials/liegenerator"));
            //;
        }

        if (attackTimer + 1.0f < Time.time)
        {
            //float hitTime = Time.time;

            Collider[] hitColliders = Physics.OverlapSphere(transform.position, 5.0f);

            if (target != null)
            {
                int pos = Array.IndexOf(hitColliders, target.GetComponent <Collider>());
                if (pos == -1)
                {
                    target = null;
                    //targetPointer.Stop();
                    targetPointerLine.enabled = false;
                }
            }

            for (int i = 0; i < hitColliders.Length; ++i)
            {
                if (m_type != WeaponTypes.LieGenerator)
                {
                    if (ProcessCitizen(hitColliders[i]))
                    {
                        break;
                    }
                }
            }
        }

        if (target != null)
        {
            /*Vector3 dp = transform.position - target.transform.position;
             * float distance = Vector3.Distance(target.transform.position, transform.position);
             * //Mathf.Sqrt(dx * dx + dy * dy);
             * float angle = Mathf.Atan2(-dp.y, -dp.x) * Mathf.Rad2Deg;
             *
             * Quaternion rotation = new Quaternion();
             * //targetPointer.transform.rotation;
             * //rotation.SetLookRotation(target.transform.position);
             * rotation.eulerAngles = new Vector3(0, angle, 0);
             * //rotation.eulerAngles = new Vector3(0, angle, 0);
             * targetPointer.transform.localRotation = rotation;*/

            //targetPointerLine.transform.localRotation = rotation;
            //targetPointerLine.SetPosition(1, new Vector3(0, 0, distance));


            //targetPointer.startLifetime = distance / targetPointer.startSpeed;
            //targetPointer.Simulate(targetPointer.startLifetime);

            targetPointerLine.SetPosition(0, transform.position);
            targetPointerLine.SetPosition(1, target.transform.position);

            //targetPointerLine.enabled = true;
            //targetPointer.enabled = true;
        }
        //else
        //{
        //targetPointerLine.enabled = false;
        //}
    }