Пример #1
0
    //private void TransferItem() { }
    private void PerformStateProcesses()
    {
        //change bed sprite
        SpriteRenderer spriteRenderer = bed.GetComponent <SpriteRenderer>();

        spriteRenderer.sprite = customer.profile.sleeping;
    }
Пример #2
0
    void StartSleep()
    {
        sleepState              = SleepState.GettingIntoBed;
        CurrentMoveSpeed        = 0;
        body.isKinematic        = true;
        ball.LockToGround       = false;
        FaceDirectionOfMovement = false;
        billboard.faceCamera    = false;
        walk.enabled            = false;

        spriteLerp.moveTransform = billboard.transform;
        if (TargetBed != null && Vector3.Distance(moveTransform.position, TargetBed.transform.position) < MaxBedLerpDistance)
        {
            Physics.IgnoreCollision(ball.Sphere, TargetBed.GetComponent <Collider>(), true);
            moveTransform.parent              = TargetBed.sleepTarget;
            moveTransformLerp.moveTransform   = moveTransform;
            moveTransformLerp.targetTransform = TargetBed.sleepTarget;
            moveTransformLerp.lerpType        = LerpToTarget.LerpType.Curve;
            moveTransformLerp.duration        = LerpDuration;
            moveTransformLerp.LerpRotation    = false;
            moveTransformLerp.OnLerpEnd       = null;
            moveTransformLerp.enabled         = true;
            spriteLerp.targetTransform        = TargetBed.sleepTarget;
            spriteLerp.WorldTarget            = false;
        }
        else
        {
            spriteLerp.WorldTarget           = true;
            spriteLerp.targetPositionWorld   = new Vector3(moveTransform.position.x, Global.Instance.GlobalSpriteOnGroundY, moveTransform.position.z);
            spriteLerp.targetRotationForward = Vector3.up;
            spriteLerp.targetRotationUp      = moveTransform.forward;
        }
        spriteLerp.lerpType     = LerpToTarget.LerpType.Curve;
        spriteLerp.duration     = LerpDuration;
        spriteLerp.LerpRotation = true;
        spriteLerp.enabled      = true;
        spriteLerp.OnLerpEnd    = delegate
        {
            if (!SleepInterrupt)
            {
                sleepState     = SleepState.Sleeping;
                SleepStartTime = Time.time;
                PlayFaceAnimation("sleep");
                if (isPlayerControlled)
                {
                    Time.timeScale = sleepTimescale;
                    start          = Time.unscaledTime;
                }
            }
        };



        if (isPlayerControlled)
        {
            Zone zone = Global.Instance.GetZone(gameObject);
            musicSource      = zone.GetComponent <AudioSource>();
            musicSource.clip = sleepyMusic;
            musicSource.Play();
            Global.Instance.AudioGoSleep(1);
            cam = Global.Instance.cameraController;
            cam.LookControlEnabled = false;
            start    = Time.unscaledTime;
            todStart = Global.Instance.CurrentTimeOfDay;
        }
    }