コード例 #1
0
    // Use this for initialization
    void Start()
    {
        stateMachine = new StateMachine();

        if (CameraObj != null)
        {
            camController = CameraObj.GetComponent <ThirdPersonCamera>();
        }
        else
        {
            camController = Camera.main.GetComponent <ThirdPersonCamera>();
        }

        camController.SetTarget(Ref_CamDefault.transform);
        camController.SetTargetCameraPos(defCamDist, defOffset);
        //camController.camTargetRef = Ref_CamDefault.transform;
        //camController.camAimingTargetRef = Ref_CamAiming.transform;

        probeController = Probe.GetComponent <ProbeBehavior>();
        charController  = GetComponent <CharacterController>();
        animator        = GetComponent <Animator>();
        dogBehaviour    = AIDogo.GetComponent <DogBehavior>();
        pickupBehaviour = ThrowingDogo.GetComponent <PickupBehavior>();
        Sound_bark      = GetComponent <AudioSource>();


        // Give stateMachine a state so that coroutine StateSwitch has something
        // to compare with
        stateMachine.ChangeState(new DefaultPlayer(this, animator));

        StartCoroutine(StateSwitch(stateMachine));
        StartCoroutine(DogSwitcher());

        Cursor.lockState = CursorLockMode.Locked;
    }
コード例 #2
0
    // Start is called before the first frame update
    void Start()
    {
        sentences = new Queue <string>();
        images    = new Queue <Sprite>();
        names     = new Queue <string>();

        //audios = new Queue<AudioSource>();

        o      = FindObjectOfType <Onion>();
        dog    = FindObjectOfType <DogBehavior>();
        player = FindObjectOfType <Playermovement>();
    }
コード例 #3
0
    private void MouseInteractions()
    {
        if (Input.GetMouseButtonDown(0))
        {
            Debug.Log("Mouse Down");

            Ray          ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit2D hit = Physics2D.Raycast(ray.origin, ray.direction, Mathf.Infinity);
            if (hit.transform != null)
            {
                GameObject Animal = hit.transform.gameObject;
                grabedDog = Animal;
                Debug.Assert(Animal != null);
                Debug.Log(Animal);

                Animal.layer = LayerMask.NameToLayer("Mouse");
                Debug.Log("layer :" + Animal.layer);
                DogBehavior db = grabedDog.GetComponent <DogBehavior>();
                if (db != null)
                {
                    db.grabbed = true;
                    Debug.Log("Dog grabbed");
                }

                Stats s = grabedDog.GetComponent <Stats>();
                Dog   d = grabedDog.GetComponent <Dog>();
                if (s != null)
                {
                    string breed, age, allergy, energy, maintenance, family, pet;

                    breed       = "Breed: " + d.breedText;
                    age         = "Age: " + d.ageText;
                    allergy     = "Allergies: " + d.allergyText;
                    energy      = "Energy: " + d.energyText;
                    maintenance = "Maintenance: " + d.upKeepText;
                    family      = "Family Friendly: " + d.familyText;
                    pet         = "Pet Friendly: " + d.petsText;


                    Sprite dogImage = d.GetComponent <SpriteRenderer>().sprite;
                    Debug.Log("Sprite to be rendered name is " + dogImage.name);

                    uiman.OnAnimalUpdate(breed, age, allergy, energy,
                                         maintenance, family, pet, dogImage);
                }
            }
        }
        if (Input.GetMouseButtonUp(0))
        {
            Debug.Log("Mouse Up");
            uiman.OnAnimalReleased();
            // TODO: put dog in proper location
            if (grabedDog != null)
            {
                grabedDog.GetComponent <Dog>().audioSrcs[1].Play();
                Ray     ray   = Camera.main.ScreenPointToRay(Input.mousePosition);
                Vector3 point = ray.GetPoint(0);
                point.z = 0;

                grabedDog.layer = LayerMask.NameToLayer("Animals");

                DogBehavior db = grabedDog.GetComponent <DogBehavior>();
                if (db != null)
                {
                    db.grabbed = false;
                }
                if (grabedDog.transform.position.y < minY && PeopleGenerator.peopleQ.Count != 0)
                {
                    GameObject person = PeopleGenerator.peopleQ[0];
                    PeopleGenerator.peopleQ.RemoveAt(0);
                    Debug.Log("REMOVE PEOPLE");
                    cuemanager.RemoveFromQueue();
                    uiman.OnPersonReleased();
                    float dif = Stats.StatDif(person.GetComponent <Stats>(), grabedDog.GetComponent <Stats>());

                    ShowUIAnimation(dif);

                    money += (1 - dif) * maxPayment;

                    DogGenerator.Dogs.Remove(grabedDog);
                    Destroy(grabedDog);

                    //IF we JUST removed a person from the queue
                    //show the next person's details in the UI IF count is NOT zero

                    if (PeopleGenerator.peopleQ.Count != 0)
                    {
                        uiman.OnPersonUpdate();
                    }
                }
                else if (PeopleGenerator.peopleQ.Count == 0)
                {
                    if (grabedDog.transform.position.y < minY)
                    {
                        grabedDog.transform.position = new Vector3(grabedDog.transform.position.x, GameStatusManager.minY, 0);
                    }
                }
            }
            grabedDog = null;
        }
    }