// MonoBehaviour's INTERFACE void Awake() { m_FilterX = new FilteredFloat(m_StepFactorX, m_StepFactorX); m_FilterY = new FilteredFloat(m_StepFactorY, m_StepFactorY); m_Cam = GetComponentInChildren <Camera>(); }
// CTOR public tnWiFiPlayerInputFiller(WiFiPlayerInput i_PlayerInput) { m_PlayerInput = i_PlayerInput; m_HorizontalFilter = new FilteredFloat(0.01f, 0.01f); m_VerticalFilter = new FilteredFloat(0.01f, 0.01f); }
private IEnumerator InternalSetHighlighted(int i_Id, Action i_OnCompleted = null) { if (m_GameCamera != null && m_MatchController != null) { GameObject character = m_MatchController.GetCharacterById(i_Id); if (character != null) { // Hide all characters' hud. for (int characterIndex = 0; characterIndex < m_MatchController.charactersCount; ++characterIndex) { GameObject characterGo = m_MatchController.GetCharacterByIndex(characterIndex); tnCharacterViewController controller = characterGo.GetComponent <tnCharacterViewController>(); if (controller != null) { controller.SetPlayerNameVisible(false); controller.SetEnergyBarVisible(false); controller.SetArrowVisible(false); controller.SetChargingForceBarVisible(false); } } // Animate camera. Vector3 originalPosition = m_GameCamera.position; float originalSize = m_GameCamera.size; m_FilterX = new FilteredFloat(m_StepFactorPosition, m_StepFactorPosition); m_FilterY = new FilteredFloat(m_StepFactorPosition, m_StepFactorPosition); m_FilterSize = new FilteredFloat(m_StepFactorSize, m_StepFactorSize); m_FilterX.position = originalPosition.x; m_FilterY.position = originalPosition.y; m_FilterSize.position = originalSize; m_GameCamera.SetAutoMove(false); float timer = 0f; while (timer < m_Duration) { Transform characterTransform = character.transform; Vector3 targetPosition = characterTransform.position; targetPosition += new Vector3(m_Offset.x, m_Offset.y, 0f); float newX = m_FilterX.Step(targetPosition.x, Time.deltaTime); float newY = m_FilterY.Step(targetPosition.y, Time.deltaTime); Vector3 newPosition = new Vector3(newX, newY, originalPosition.z); float newSize = m_FilterSize.Step(m_MinSize, Time.deltaTime); m_GameCamera.SetPosition(newPosition); m_GameCamera.SetSize(newSize); timer += Time.deltaTime; yield return(null); } m_GameCamera.SetPosition(originalPosition); m_GameCamera.SetSize(originalSize); m_GameCamera.SetAutoMove(true); // Restore hud visibily. for (int characterIndex = 0; characterIndex < m_MatchController.charactersCount; ++characterIndex) { GameObject characterGo = m_MatchController.GetCharacterByIndex(characterIndex); tnCharacterViewController controller = characterGo.GetComponent <tnCharacterViewController>(); if (controller != null) { controller.SetPlayerNameVisible(true); controller.SetEnergyBarVisible(true); controller.SetArrowVisible(true); controller.SetChargingForceBarVisible(true); } } } } // Notify caller. if (i_OnCompleted != null) { i_OnCompleted(); } }