public void Start() { slider = GetComponent <Slider>(); slider.onValueChanged.AddListener(SliderChanged); value = statCog.FindStat(valueName); if (value == null) { Debug.LogError(name + ".StatSlider could not find stat '" + valueName + "'"); enabled = false; return; } value.onValueChanged.AddListener(UpdateStat); min = statCog.FindStat(minName); if (min) { min.onMinValueChanged.AddListener(UpdateStat); } max = statCog.FindStat(maxName); if (max) { max.onMaxValueChanged.AddListener(UpdateStat); } UpdateStat(0, 0); }
public void SetStatsCog(StatsCog statsCog) { ClearEffects(); StatMonitorTMP[] monitors = GetComponentsInChildren <StatMonitorTMP>(); for (int i = 0; i < monitors.Length; i++) { monitors[i].statsCog = statsCog; } EnemyInfoList[] infoLists = GetComponentsInChildren <EnemyInfoList>(); for (int i = 0; i < infoLists.Length; i++) { infoLists[i].statsCog = statsCog; } foreach (StatEffect effect in statsCog.Effects) { Instantiate(effectPrefab, effectsContainer).SetEffect(effect); } StatValue info = statsCog.FindStat(infoStat); if (info != null) { enemySprite.sprite = info.icon; enemyName.text = info.displayName; } // Subscribe to new effects statsCog.onEffectAdded.AddListener(AddEffect); }
public void LoadStat(StatsCog statsCog, string statName) { StatsCog = statsCog; StatValue = StatsCog.FindStat(statName); Subscribe(); UpdateUI(0, 0); }
public void Start() { StatValue stat = statCog.FindStat(statName); if (stat == null) { return; } stat.onValueChanged.AddListener(StatChanged); StatChanged(0, 0); }
private void Subscribe() { StatValue stat; List <string> req = SubscriptionRequirements(expression); foreach (string statName in req) { stat = statsCog.FindStat(statName); if (stat != null && !subs.Contains(stat)) { stat.onValueChanged.AddListener(Evaluate); subs.Add(stat); } } }
public void OnEnable() { text = GetComponent <TextMeshProUGUI>(); stat = statsCog.FindStat(statName); if (stat == null) { Debug.LogError(name + ".StatMonitorTMP could not find stat '" + statName + "'"); enabled = false; return; } stat.onMaxValueChanged.AddListener(UpdateStat); stat.onMinValueChanged.AddListener(UpdateStat); stat.onValueChanged.AddListener(UpdateStat); UpdateStat(0, 0); }
private void Start() { if (lockCursor) { Cursor.lockState = CursorLockMode.Locked; } m_Animator = GetComponent <Animator>(); m_Rigidbody = GetComponent <Rigidbody>(); m_Capsule = GetComponent <CapsuleCollider>(); m_CapsuleHeight = m_Capsule.height; m_CapsuleCenter = m_Capsule.center; m_Rigidbody.constraints = RigidbodyConstraints.FreezeRotationX | RigidbodyConstraints.FreezeRotationY | RigidbodyConstraints.FreezeRotationZ; m_OrigGroundCheckDistance = m_GroundCheckDistance; // get the transform of the main camera if (Camera.main != null) { m_Cam = Camera.main.transform; } else { Debug.LogWarning( "Warning: no main camera found. Third person character needs a Camera tagged \"MainCamera\", for camera-relative controls.", gameObject); // we use self-relative controls in this case, which probably isn't what the user wants, but hey, we warned them! } // get the third person character ( this should never be null due to require component ) m_Character = GetComponent <BasicPersonController>(); #if STATS_COG statsCog = GetComponentInChildren <Stats.StatsCog>(); if (statsCog != null) { health = statsCog.FindStat(healthStatName); } #endif #if INVENTORY_COG inventory = GetComponent <Inventory.InventoryCog>(); #endif }
/// <summary> /// Adds subscription and immediately evaluates for inital value /// </summary> /// <param name="statsCog"></param> public void Subscribe(StatsCog statsCog) { Unsubscribe(); StatsCog = statsCog; // Increment StatValue stat; Subscriptions = new List <StatValue>(); List <string> req = StatsCog.GetSubscriptionRequirements(Expression); foreach (string statName in req) { stat = StatsCog.FindStat(statName); if (stat != null && !Subscriptions.Contains(stat)) { stat.onValueChanged.AddListener(UpdateResult); Subscriptions.Add(stat); } } UpdateResult(0, 0); }
public void OnEnable() { text = GetComponent <Text>(); stat = statsCog.FindStat(statName); }