예제 #1
0
        private void LoadAssets(TerrainItem item)
        {
            foreach (int textureId in item._mTextureIds)
            {
                TerrainTextureConfigItem textureCfg = SingletonManager.Get <TerrainTextureConfigManager>().GetTextureById(textureId);
                if (null == textureCfg)
                {
                    continue;
                }
                TerrainTextureTypeConfigItem typeCfg =
                    SingletonManager.Get <TerrainTextureTypeConfigManager>().GetTextureTypeById(textureCfg.Type);
                if (null == typeCfg)
                {
                    continue;
                }

                //Sound
                LoadSoundAsset(typeCfg.SoundInfo.Normal);
                LoadSoundAsset(typeCfg.SoundInfo.Brake);
                foreach (int id in typeCfg.SoundInfo.WalkIds)
                {
                    LoadSoundAsset(id);
                }
                //Effects
                LoadEffectAsset(typeCfg.EffectInfo.Normal);
                LoadEffectAsset(typeCfg.EffectInfo.Brake);
                LoadEffectAsset(typeCfg.EffectInfo.BrokenBrake);
                //Material
                LoadMaterialAsset(typeCfg.MaterialInfo.Track);
                LoadMaterialAsset(typeCfg.MaterialInfo.Slippery);
            }
        }
예제 #2
0
        private static TerrainTextureTypeConfigItem GetTextureType(int textureId)
        {
            TerrainTextureConfigItem item = SingletonManager.Get <TerrainTextureConfigManager>().GetTextureById(textureId);

            if (null != item)
            {
                return(SingletonManager.Get <TerrainTextureTypeConfigManager>().GetTextureTypeById(item.Type));
            }
            return(null);
        }
예제 #3
0
        //Vehicle Friction
        public STFriction GetVehicleFriction(Vector3 worldPos, int vehicleId)
        {
            int textureId = GetId(worldPos);
            TerrainTextureConfigItem texture = SingletonManager.Get <TerrainTextureConfigManager>().GetTextureById(textureId);

            if (null != texture)
            {
                TerrainVehicleFrictionConfigItem item = SingletonManager.Get <TerrainVehicleFrictionConfigManager>().GetFrictionById(vehicleId, texture.Type);
                if (null != item)
                {
                    return(new STFriction(item.Grip, item.Drag));
                }
            }
            return(new STFriction(_defaultFrictionGrip, _defaultFrictionDrag));
        }