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); } }
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); }
//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)); }