Ejemplo n.º 1
0
 private void DeFocus(Stranger stranger)
 {
     UnBlockCamera();
     StopAllCoroutines();
     StartCoroutine(FieldOfViewAnimation(_baseFieldOfView));
     StartCoroutine(SmoothResetCameraRotation());
 }
Ejemplo n.º 2
0
 private void FocusOn(Stranger stranger)
 {
     BlockCamera();
     StopAllCoroutines();
     StartCoroutine(FieldOfViewAnimation(_targetFieldOfView));
     StartCoroutine(LookAtAnimation(stranger.transform.position + stranger.CameraLookAtPositionOffset));
 }
Ejemplo n.º 3
0
 // Update data method
 public void SetData(Stranger data)
 {
     this.strangerData           = data;
     this.strangerNickText.text  = data.nick;
     this.strangerNickText.color = data.fraction == (int)AppConstants.Fraction.NATURE ? natureColor : data.fraction == (int)AppConstants.Fraction.COMMERCY ? commercyColor : industryColor;
     MeshRenderer[] renderers = this.GetComponentsInChildren <MeshRenderer>();
     foreach (MeshRenderer render in renderers)
     {
         if (render.GetComponent <TextMesh>() == null)
         {
             render.material = data.fraction == (int)AppConstants.Fraction.NATURE ? natureMaterial : data.fraction == (int)AppConstants.Fraction.COMMERCY ? commercyMaterial : industryMaterial;
         }
     }
 }
Ejemplo n.º 4
0
    // Coroutine controlling stranger idle time
    IEnumerator StrangerExistanceCoroutine()
    {
        yield return(new WaitForEndOfFrame());

        while (true)
        {
            Stranger strangerDataTmp = strangerData;
            yield return(new WaitForSeconds(AppConstants.ServerSynchronizationIntervalInSeconds * 3));

            if (strangerDataTmp.updateTimestamp == strangerData.updateTimestamp)
            {
                StrangersController.instance.strangers.Remove(this);
                Destroy(this.gameObject);
                StopAllCoroutines();
            }
        }
    }
Ejemplo n.º 5
0
    // Adding stranger method
    public void AddStranger(Stranger stranger)
    {
        if (stranger.nick == PlayerPrefs.GetString(AppConstants.NickTag))
        {
            return;
        }
        Int32 currentTs = (Int32)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;

        if (Mathf.Abs(stranger.updateTimestamp - currentTs) < AppConstants.ServerSynchronizationIntervalInSeconds * 3)
        {
            if (strangers.FindIndex(x => x.strangerData.id.Equals(stranger.id)) > -1)
            {
                StrangerController foundStranger = strangers.Find(x => x.strangerData.id.Equals(stranger.id));
                foundStranger.SetData(stranger);
                return;
            }

            StrangerController strangerController = Instantiate(strangerPrefab, this.transform).GetComponent <StrangerController>();
            strangerController.SetData(stranger);
            strangers.Add(strangerController);
            strangerController.name = stranger.nick;
            strangerController.transform.position = stranger.position;
        }
    }
 private void Show(Stranger stranger) => Show();
 private void Hide(Stranger stranger) => Hide();