// MonoBehaviour's interface void Awake() { // Cache components. { m_CharacterController = GetComponent <tnCharacterController>(); m_CharacterInput = GetComponent <tnCharacterInput>(); m_StatsContainer = GetComponent <tnStatsContainer>(); m_Energy = GetComponent <tnEnergy>(); m_Respawn = GetComponent <tnRespawn>(); } // Force values refresh. { ComputeRadius(FP.Zero); ComputeEnergyCost(FP.Zero); ComputeCooldown(FP.Zero); ComputeKickForce(FP.Zero); ComputeTackleForce(FP.Zero); } // Compute charging layer. m_ChargingLayer = LayerMask.NameToLayer("Charging"); // Set sort order. sortOrder = BehaviourSortOrder.s_SortOrder_Kick; }
// MonoBehaviour's interface void Awake() { m_Energy = GetComponentInParent <tnEnergy>(); if (m_SlotPrefab == null || m_SlotsRoot == null) { return; } m_SlotsCount = Mathf.Max(1, m_SlotsCount); m_Slots = new tnUIEnergySlot[m_SlotsCount]; // Spawn slots. for (int slotIndex = 0; slotIndex < m_Slots.Length; ++slotIndex) { tnUIEnergySlot slotInstance = Instantiate <tnUIEnergySlot>(m_SlotPrefab); slotInstance.Clear(); slotInstance.transform.SetParent(m_SlotsRoot, false); slotInstance.SetColor(m_StartingBarColor); m_Slots[slotIndex] = slotInstance; } // Spawn separators if (m_SeparatorsRoot == null || m_SeparatorPrefab == null) { return; } m_Separators = new tnUIEnergySlotSeparator[m_SlotsCount - 1]; float barLenght = m_SlotsRoot.rect.width; float slotLenght = barLenght / m_Slots.Length; for (int separatorIndex = 0; separatorIndex < m_Separators.Length; ++separatorIndex) { tnUIEnergySlotSeparator separatorInstance = Instantiate <tnUIEnergySlotSeparator>(m_SeparatorPrefab); separatorInstance.transform.SetParent(m_SeparatorsRoot, false); RectTransform separatorTransform = (RectTransform)separatorInstance.transform; separatorTransform.anchoredPosition = new Vector2(slotLenght * (separatorIndex + 1), 0f); m_Separators[separatorIndex] = separatorInstance; } }
// UTILS private void SetEnergyRecoveryEnabled(bool i_Enabled) { for (int index = 0; index < charactersCount; ++index) { GameObject character = GetCharacterByIndex(index); if (character == null) { continue; } tnEnergy energy = character.GetComponent <tnEnergy>(); if (energy != null) { energy.SetAutorecoveryEnabled(i_Enabled); } } }
// MonoBehaviour's INTERFACE void Awake() { // Cache components. { m_Rigidbody2D = GetComponent <TSRigidBody2D>(); m_Collider2D = GetComponent <TSCollider2D>(); m_CharacterInput = GetComponent <tnCharacterInput>(); m_StatsContainer = GetComponent <tnStatsContainer>(); m_Energy = GetComponent <tnEnergy>(); m_Respawn = GetComponent <tnRespawn>(); } // Init data. { m_OriginalLayer = gameObject.layer; m_DashLayer = LayerMask.NameToLayer("Charging"); } // Force values refresh. { ComputeAppliedForce(FP.Zero); ComputeMass(FP.Zero); ComputeDrag(FP.Zero); ComputeMaxSpeed(FP.Zero); ComputeDashMass(FP.Zero); ComputeDashDrag(FP.Zero); ComputeDashAppliedForce(FP.Zero); ComputeDashCooldown(FP.Zero); ComputeDashDuration(FP.Zero); ComputeDashEnergyCost(FP.Zero); } // Set sort order. sortOrder = BehaviourSortOrder.s_SortOrder_CharacterController; }
// MonoBehaviour's interface void Awake() { // Cache components. { m_CharacterInput = GetComponent <tnCharacterInput>(); m_StatsContainer = GetComponent <tnStatsContainer>(); m_Energy = GetComponent <tnEnergy>(); m_Respawn = GetComponent <tnRespawn>(); } // Force values refresh. { ComputeEnergyCostRate(FP.Zero); ComputeForceMagnitude(FP.Zero); ComputeRadius(FP.Zero); } // Set sort order. sortOrder = BehaviourSortOrder.s_SortOrder_Attract; }
// CTOR public tnStandardAIInputFillerBase(GameObject i_Self) : base(i_Self) { m_Energy = i_Self.GetComponent <tnEnergy>(); }