示例#1
0
        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);
        }
示例#2
0
    /// <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();
        }
    }
示例#3
0
        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();
                }
            }
        }