コード例 #1
0
    private void UpdateHUD()
    {
        if (Input.GetKey(KeyCode.W) || Input.GetKey(KeyCode.A) || Input.GetKey(KeyCode.S) || Input.GetKey(KeyCode.D))
        {
            DisableCamera();
        }
        if (currentTarget == null)
        {
            return;
        }

        //Update
        UserDefault user = null;

        try
        {
            user = (UserDefault)currentTarget;
        } catch (Exception e) { }
        if (user != null)
        {
            userHUDVariables.SetActive(true);
            UpdateHUDVariables();
        }
        else
        {
            userHUDVariables.SetActive(false);
        }
        userHUDState.text = currentTarget.currentState;

        if (!currentTarget.gameObject.activeSelf)
        {
            noTargetHUD.SetActive(true);
        }
    }
コード例 #2
0
ファイル: Bath.cs プロジェクト: SrEstroncio38/ElParque
    IEnumerator TimeUsing(UserDefault user)
    {
        yield return(new WaitForSeconds(Random.Range(minTime, maxTime)));

        user.FinishPee(exitPosition);
        userRiding.Dequeue();
    }
コード例 #3
0
    // Update is called once per frame
    protected override void Update()
    {
        base.Update();

        if (readyFood.Count < maxStackedFood)
        {
            foodDelay -= Time.deltaTime;
        }

        if (foodDelay < 0)
        {
            readyFood.Enqueue(new Food());
            foodDelay = Random.Range(minFoodDelay, maxFoodDelay);
        }

        if (userQueue.Count > 0)
        {
            foreach (UserDefault user in userQueue)
            {
                user.LowerTolerance();
            }
            if (userRiding.Count < maxCapacity)
            {
                if (Mathf.Abs((userQueue.Peek().transform.position - queuePosition).magnitude) < 1)
                {
                    if (readyFood.Count > 0)
                    {
                        UserDefault customer = userQueue.Dequeue();
                        customer.GiveFood(readyFood.Dequeue());
                        ReajustQueue();
                    }
                }
            }
        }
    }
 /// <summary>
 /// Gets the hash code
 /// </summary>
 /// <returns>Hash code</returns>
 public override int GetHashCode()
 {
     unchecked // Overflow is fine, just wrap
     {
         var hashCode = 41;
         // Suitable nullity checks etc, of course :)
         if (UserMapping != null)
         {
             hashCode = hashCode * 59 + UserMapping.GetHashCode();
         }
         if (UserDefault != null)
         {
             hashCode = hashCode * 59 + UserDefault.GetHashCode();
         }
         if (UserEnableDefaultMapping != null)
         {
             hashCode = hashCode * 59 + UserEnableDefaultMapping.GetHashCode();
         }
         if (RequireValidation != null)
         {
             hashCode = hashCode * 59 + RequireValidation.GetHashCode();
         }
         return(hashCode);
     }
 }
        /// <summary>
        /// Returns true if OrgApacheSlingServiceusermappingImplServiceUserMapperImplProperties instances are equal
        /// </summary>
        /// <param name="other">Instance of OrgApacheSlingServiceusermappingImplServiceUserMapperImplProperties to be compared</param>
        /// <returns>Boolean</returns>
        public bool Equals(OrgApacheSlingServiceusermappingImplServiceUserMapperImplProperties other)
        {
            if (other is null)
            {
                return(false);
            }
            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            return
                ((
                     UserMapping == other.UserMapping ||
                     UserMapping != null &&
                     UserMapping.Equals(other.UserMapping)
                     ) &&
                 (
                     UserDefault == other.UserDefault ||
                     UserDefault != null &&
                     UserDefault.Equals(other.UserDefault)
                 ) &&
                 (
                     UserEnableDefaultMapping == other.UserEnableDefaultMapping ||
                     UserEnableDefaultMapping != null &&
                     UserEnableDefaultMapping.Equals(other.UserEnableDefaultMapping)
                 ) &&
                 (
                     RequireValidation == other.RequireValidation ||
                     RequireValidation != null &&
                     RequireValidation.Equals(other.RequireValidation)
                 ));
        }
コード例 #6
0
    public void AddUser(UserDefault user)
    {
        userQueue.Enqueue(user);
        Vector3 dest = queuePosition + queueDirection * (userQueue.Count - 1);

        Debug.Log(userQueue.Count);
        user.getAgent().SetDestination(dest);
    }
コード例 #7
0
ファイル: Attraction.cs プロジェクト: SrEstroncio38/ElParque
    // Update is called once per frame
    protected override void Update()
    {
        base.Update();

        if (quality < 0)
        {
            quality = 0;
        }

        // Decrementar tiempo
        if (waitTimer > 0)
        {
            waitTimer -= Time.deltaTime;
        }

        if ((quality < qualityThreshold) && (currentEngineer == null))
        {
            brokenAttraction();
        }
        // Actualizar cola
        if (userQueue.Count > 0)
        {
            foreach (UserDefault user in userQueue)
            {
                user.LowerTolerance();
            }
            if (!riding && (quality > qualityThreshold))
            {
                // Añadir a la atraccion
                if (userRiding.Count < maxCapacity)
                {
                    if (Mathf.Abs((userQueue.Peek().transform.position - queuePosition).magnitude) < 1)
                    {
                        UserDefault nextUser = userQueue.Dequeue();
                        userRiding.Enqueue(nextUser);
                        nextUser.EnterRide();
                        waitTimer = maxWait;
                        // Recolocar cola
                        ReajustQueue();
                    }
                }

                // Comenzar attraccion

                if (userRiding.Count >= maxCapacity)
                {
                    Ride();
                }
                else if (userRiding.Count > 0 && waitTimer < 0)
                {
                    Ride();
                }
            }
        }
    }
コード例 #8
0
 public void Leave(UserDefault user)
 {
     if (userQueue.Contains(user))
     {
         Queue <UserDefault> aux = new Queue <UserDefault>();
         while (userQueue.Count > 0)
         {
             UserDefault u = userQueue.Dequeue();
             if (!u.Equals(user))
             {
                 aux.Enqueue(u);
             }
         }
         foreach (UserDefault u in aux)
         {
             userQueue.Enqueue(u);
         }
         aux.Clear();
         ReajustQueue();
     }
 }
コード例 #9
0
ファイル: Bath.cs プロジェクト: SrEstroncio38/ElParque
    // Update is called once per frame
    protected override void Update()
    {
        base.Update();

        if (userQueue.Count > 0)
        {
            foreach (UserDefault user in userQueue)
            {
                user.LowerTolerance();
            }
            if (userRiding.Count < maxCapacity)
            {
                if (Mathf.Abs((userQueue.Peek().transform.position - queuePosition).magnitude) < 1)
                {
                    UserDefault user = userQueue.Dequeue();
                    userRiding.Enqueue(user);
                    ReajustQueue();
                    user.EnterToilet();
                    Use(user);
                }
            }
        }
    }
コード例 #10
0
    /*********************
    * Prefab Generators *
    *********************/

    public bool GenerateUser(int amount)
    {
        Bounds exitBounds = parkExit.GetComponent <BoxCollider>().bounds;

        if (userPrefab != null)
        {
            for (int i = 0; i < amount; i++)
            {
                float       spawnPosX = UnityEngine.Random.Range(exitBounds.min.x, exitBounds.max.x);
                float       spawnPosY = UnityEngine.Random.Range(exitBounds.min.z, exitBounds.max.z);
                Vector3     spawnPos  = new Vector3(spawnPosX, 0, spawnPosY);
                UserDefault u         = Instantiate(
                    userPrefab,
                    spawnPos,
                    Quaternion.Euler(0, UnityEngine.Random.Range(0, 359), 0),
                    userContainer.transform
                    );
                u.gameObject.SetActive(true);
            }
            return(true);
        }
        return(false);
    }
コード例 #11
0
ファイル: Bath.cs プロジェクト: SrEstroncio38/ElParque
 public void Use(UserDefault user)
 {
     StartCoroutine(TimeUsing(user));
 }