private void DeFocus(Stranger stranger) { UnBlockCamera(); StopAllCoroutines(); StartCoroutine(FieldOfViewAnimation(_baseFieldOfView)); StartCoroutine(SmoothResetCameraRotation()); }
private void FocusOn(Stranger stranger) { BlockCamera(); StopAllCoroutines(); StartCoroutine(FieldOfViewAnimation(_targetFieldOfView)); StartCoroutine(LookAtAnimation(stranger.transform.position + stranger.CameraLookAtPositionOffset)); }
// 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; } } }
// 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(); } } }
// 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();