Exemplo n.º 1
0
	// Update is called once per frame
	void Update () {
        if (UnityEngine.Random.Range(1, 10001) > 9990)
        {
            AudioSource youreARascal = GetComponent<AudioSource>();
            youreARascal.Play();
        }

        if (myDoogooderJob == null)
            myDoogooderJob = JobQueue.TakeDoogooderJob(this);
        if (myDoogooderJob != null)
        {
            if (myDoogooderJob.target != null)
            {
                if (((int)myDoogooderJob.target.transform.position.y) != transform.position.y)
                {
                    base.MoveToFloor((int)myDoogooderJob.target.transform.position.y);
                }
                else if (transform.position.x < myDoogooderJob.target.transform.position.x - 0.5f
                        || transform.position.x > myDoogooderJob.target.transform.position.x + 0.5f)
                    base.MoveToX((int)myDoogooderJob.tile.Pos.x);
                else
                {
                    if ((watch.ElapsedMilliseconds / 1000) >= watchCooldown)
                    {
                        Attack();
                        watch.Reset();
                    }
                }
            }
        }
    }
Exemplo n.º 2
0
 public static void AddGoodyJob(DoogooderJob j)
 {
     InitOpenJobs();
     openDoogooderJobs.AddLast(j);
 }
Exemplo n.º 3
0
 public static void MaxDoogooderPriority(DoogooderJob j)
 {
     if (openDoogooderJobs.Contains(j))
     {
         openDoogooderJobs.Remove(j);
     }
     openDoogooderJobs.AddFirst(j);
 }