void StopWoohoo()
    {
        if (!protectionApplied)
        {
            GameObject.Find("Master").GetComponent <ComplaintManager>().AddComplaint(new ComplaintManager.Complaint(occupants.first.gameObject.GetComponent <GuestMain>(), ComplaintManager.Reasons.Unsafe_sex));
        }
        Particles.SetActive(false);

        GameObject firstGuest  = occupants.first.gameObject;
        GameObject secondGuest = occupants.second.gameObject;

        firstGuest.GetComponent <CircleCollider2D>().enabled  = true;
        secondGuest.GetComponent <CircleCollider2D>().enabled = true;

        GuestMain firstMain  = firstGuest.GetComponent <GuestMain>();
        GuestMain secondMain = secondGuest.GetComponent <GuestMain>();

        SpriteRenderer[] firstSrs = firstGuest.GetComponentsInChildren <SpriteRenderer>();
        foreach (var sr in firstSrs)
        {
            ShowSprites(firstMain, sr);
        }
        secondGuest.GetComponent <CircleCollider2D>().enabled = false;
        SpriteRenderer[] secondSrs = secondGuest.GetComponentsInChildren <SpriteRenderer>();
        foreach (var sr in secondSrs)
        {
            ShowSprites(secondMain, sr);
        }
        firstMain.ChangeBehavior(typeof(GBIdle));
        secondMain.ChangeBehavior(typeof(GBIdle));


        occupied = false;
        cooldown = 5;
    }
Пример #2
0
    public void Update()
    {
        TimerDrinking -= Time.deltaTime;
        if (TimerDrinking < 0)
        {
            SpawnDrink();
            GuestMain guestMain = GetComponent <GuestMain>();
            guestMain.Drunkness += 2;

            if (guestMain.Drunkness == GuestMain.maxDrunkness)
            {
                ChangeBehavior(typeof(GBPuking));
            }
            else
            {
                ChangeBehavior(typeof(GBIdle));
            }
        }

        if (Ai.reachedDestination)
        {
            if (Random.Range(1, 4) == 1)
            {
                Ai.destination = Helpers.SpotToHangOut();
            }
            else
            {
                Ai.destination = Random.insideUnitSphere + transform.position;
            }
        }
    }
Пример #3
0
    private void Start()
    {
        gm             = gameObject.GetComponent <GuestMain>();
        Ai             = GetComponent <IAstarAI>();
        Ai.destination = Helpers.SpotToHangOut();

        TimerIdle = Random.Range(15, 30);
    }
Пример #4
0
    private void SpawnMinor(int num)
    {
        GameObject go    = Instantiate(MinorGameObject, new Vector3(-10, (num + 1) * 0.3f, 0), Quaternion.identity);
        GuestMain  minor = go.GetComponent <GuestMain>();

        minor.MakeMinor();
        SpriteRenderer sr = go.GetComponentInChildren <SpriteRenderer>();

        sr.color = Helpers.GenerateColor();
    }
Пример #5
0
    private void SpawnDriver()
    {
        GameObject go     = Instantiate(GuestGameObject, new Vector3(-10, 0, 0), Quaternion.identity);
        GuestMain  driver = go.GetComponent <GuestMain>();

        driver.MakeDriver();
        SpriteRenderer sr = go.GetComponentInChildren <SpriteRenderer>();

        sr.color = Helpers.GenerateColor();
    }
 void ShowSprites(GuestMain guest, SpriteRenderer sr)
 {
     if (sr.gameObject.name == "Key")
     {
         sr.enabled = guest.HasKeys;
     }
     else
     {
         sr.enabled = true;
     }
 }
Пример #7
0
    public void Update()
    {
        if (transform.position.x < -10)
        {
            GuestMain guest = gameObject.GetComponent <GuestMain>();

            if (!guest.isMinor)
            {
                GameObject.Find("Master").GetComponent <ComplaintManager>().AddComplaint(new ComplaintManager.Complaint(guest, ComplaintManager.Reasons.Kickout));
            }
            Destroy(gameObject);
        }
    }
Пример #8
0
    // Start is called before the first frame update
    void Start()
    {
        gm             = gameObject.GetComponent <GuestMain>();
        timerNoPartner = Random.Range(15, 20);
        Ai             = GetComponent <IAstarAI>();
        List <GuestMain> horny = GameObject.FindGameObjectsWithTag("Guest").ToList().Select(x => x.GetComponent <GuestMain>()).Where(x => x.GetComponent <GBHorny>() != null && x != gm && x.partner == null).ToList();

        if (horny.Count > 0)
        {
            gm.partner         = horny[UnityEngine.Random.Range(0, horny.Count)];
            gm.partner.partner = gm;
            timerCantReach     = Random.Range(15, 20);
            gm.partner.GetComponent <GBHorny>().timerCantReach = timerCantReach;
            Ai.destination = FrontOfCabanon();
            gm.partner.GetComponent <GBHorny>().Ai.destination = FrontOfCabanon();
        }
    }
Пример #9
0
    public void Update()
    {
        TimerIdle       -= Time.deltaTime;
        ChillingInPlace -= Time.deltaTime;
        if (TimerIdle < 0)
        {
            if (!isLeaving)
            {
                Ai.destination = new Vector3(-11, 0, 0);
            }


            if (transform.position.x < -10)
            {
                GuestMain guest = gameObject.GetComponent <GuestMain>();
                GameObject.Find("Master").GetComponent <ComplaintManager>().AddComplaint(new ComplaintManager.Complaint(guest, ComplaintManager.Reasons.Minor));
                Destroy(gameObject);
            }
        }
        else if (Ai.reachedDestination && ChillingInPlace < 0)
        {
            if (Random.Range(1, 2) == 1)
            {
                //Chill in place
                ChillingInPlace = Random.Range(5, 7);
            }
            else
            {
                if (Random.Range(1, 6) == 1)
                {
                    Ai.destination = Helpers.SpotToHangOut();
                }
                else
                {
                    Ai.destination = Random.insideUnitSphere + transform.position;
                }
            }
        }
    }
 public Couple(GuestMain first, GuestMain second)
 {
     this.first  = first;
     this.second = second;
 }
Пример #11
0
 public static float RandomRebelliousChoice(GuestMain gm)
 {
     return(1 - (1 - gm.rebelliousness * Random.value));
 }