private int AddQuailty(CrowdQuality q, bool isCheckExist) { if (m_Mgr == null) { return(-1); } int key = (int)q; int value; if (isCheckExist) { if (m_QualiyHash.TryGetValue(key, out value)) { return(value); } } CrowdAvoidanceParams param; switch (q) { case CrowdQuality.High: param = CrowdAvoidanceParams.CreateStandardHigh(); break; case CrowdQuality.Good: param = CrowdAvoidanceParams.CreateStandardGood(); break; case CrowdQuality.Mid: param = CrowdAvoidanceParams.CreateStandardMedium(); break; case CrowdQuality.Low: param = CrowdAvoidanceParams.CreateStandardLow(); break; default: return(-1); } int index = m_QualiyHash.Count; if (!m_Mgr.SetAvoidanceConfig(index, param)) { #if UNITY_EDITOR Debug.LogError("SetAvoidanceConfig error~!"); #endif return(-1); } if (!m_QualiyHash.ContainsKey(key)) { m_QualiyHash.Add(key, index); } return(index); }
/// <summary> /// Restores the object to its default state, releasing all references to existing /// configurations. /// </summary> public void Reset() { mConfigs = new CrowdAvoidanceParams[CrowdManager.MaxAvoidanceParams]; mConfigs[0] = CrowdAvoidanceParams.CreateStandardLow(); mConfigs[1] = CrowdAvoidanceParams.CreateStandardMedium(); mConfigs[2] = CrowdAvoidanceParams.CreateStandardGood(); mConfigs[3] = CrowdAvoidanceParams.CreateStandardHigh(); for (int i = 4; i < mConfigs.Length; i++) { mConfigs[i] = new CrowdAvoidanceParams(); } }
private void CheckCrowdAvoidanceSet() { if (CrowdAvoidanceConfig == null || CrowdAvoidanceConfig.Length != CrowdManager.MaxAvoidanceParams) { CrowdAvoidanceConfig = new CrowdAvoidanceParams[CrowdManager.MaxAvoidanceParams]; CrowdAvoidanceConfig[0] = CrowdAvoidanceParams.CreateStandardLow(); CrowdAvoidanceConfig[1] = CrowdAvoidanceParams.CreateStandardMedium(); CrowdAvoidanceConfig[2] = CrowdAvoidanceParams.CreateStandardGood(); CrowdAvoidanceConfig[3] = CrowdAvoidanceParams.CreateStandardHigh(); for (int i = 4; i < CrowdAvoidanceConfig.Length; i++) { CrowdAvoidanceConfig[i] = new CrowdAvoidanceParams(); } } }