private void RegisterLowNeed(ENeedType needType) { int newNeedPriority = NeedsToolkit.GetNeedPriority(needType); int newIndex = GetNewIndexInListBasedOnPriority(newNeedPriority); m_lowNeedsSortedLowToHigh.Insert(newIndex, needType); }
public void InitializeWithNeedType(ENeedType needType) { m_associatedNeed = needType; FetchDataForNeedType(needType); InitIcon(); InitName(); }
public void UpdateNeeds() { foreach (KeyValuePair <ENeedType, Need> need in m_needs) { ENeedType needType = need.Key; DecayNeed(needType); if (ShouldRegisterNeedAsLow(needType)) { m_lowNeedsSortedLowToHigh.Add(needType); } } }
private ENeedType GetLeastSatisfiedNeed() { ENeedType lowestNeedType = ENeedType.NONE; float lowestSatisfaction = (float)ENeedState.SATISFIED; foreach (KeyValuePair <ENeedType, Need> need in m_needs) { ENeedType currentNeedType = need.Key; float currentNeedSatisfaction = m_needs[currentNeedType].Satisfaction; if (currentNeedSatisfaction < lowestSatisfaction) { lowestNeedType = currentNeedType; lowestSatisfaction = currentNeedSatisfaction; } } return(lowestNeedType); }
private void InitializeNeedsDisplayItems() { ENeedType[] allNeeds = Toolkit.GetEnumValues <ENeedType>(); for (int i = 0; i < allNeeds.Length; ++i) { ENeedType needType = allNeeds[i]; if (needType == ENeedType.NONE) { continue; } if (m_needsDisplayItems.Count <= i) { CreateNewNeedDisplayItem(); } m_needsDisplayItems[i].InitializeWithNeedType(needType); } }
private void CheckForNeedsReaction() { ENeedType needType = m_needsUpdater.GetHighestPriorityNeed(); DebugTools.Log("[Character] - Highest priority need = {0}", needType); }
public NeedStateInfo GetNeedStateInfo(ENeedType needType) { return(m_needs[needType].GetStateInfo()); }
private void DecayNeed(ENeedType needType) { float decayThisFrame = NEEDS_DECAY_IN_POINTS_PER_SECOND * Time.deltaTime; m_needs[needType].Decay(decayThisFrame); }
private bool IsNeedLowerInPriority(ENeedType needType, int priorityToCheckAgainst) { int currentNeedPriority = NeedsToolkit.GetNeedPriority(needType); return(currentNeedPriority < priorityToCheckAgainst); }
private bool ShouldRegisterNeedAsLow(ENeedType needType) { bool isNeedLow = m_needs[needType].State != ENeedState.SATISFIED; return(isNeedLow && !m_lowNeedsSortedLowToHigh.Contains(needType)); }
private void FetchDataForNeedType(ENeedType needType) { m_needTypeDisplayData = m_displayDataSet.GetDataForNeed(needType); m_needStateDisplayData = m_needTypeDisplayData.m_stateDisplayData; }
public Need(ENeedType needType) { m_needType = needType; Satisfaction = (float)ENeedState.SATISFIED; }
static public int GetNeedPriority(ENeedType need) { return((int)need); }
private NeedStateInfo GetNeedStateInfoFromDisplayItem(NeedDisplayItem item) { ENeedType associatedNeed = item.GetAssociatedNeed(); return(m_currentCharacter.GetNeedsUpdater().GetNeedStateInfo(associatedNeed)); }
public NeedTypesDisplayData GetDataForNeed(ENeedType needType) { return(m_dataSet[needType]); }