public void Update(float dtime) { MotionSimulation.Step(dtime); #if BETA_RELEASE ClientProfilers.NearestNeighbours.Start(); #endif inRangeAcc += dtime; if (inRangeAcc >= 0.4f) { if (Program.Settings.NearestNeighborsEnabled) { InRange.Update(); } inRangeAcc = 0; } #if BETA_RELEASE ClientProfilers.NearestNeighbours.Stop(); ClientProfilers.GameEntityUpdate.Start(); #endif foreach (var v in new List <Map.GameEntity>(objects)) { v.GameUpdate(dtime); } #if BETA_RELEASE ClientProfilers.GameEntityUpdate.Stop(); #endif UpdateActiveScripts(dtime); #if SEE_THROUGH if (lastSeeThroughs != null) { foreach (var v in new List <Map.GameEntity>(lastSeeThroughs)) { ((Graphics.Content.MetaModel)v.MainGraphic).Opacity = 1; /*((Graphics.Content.MetaModel)v.MainGraphic).Opacity += dtime; * if (((Graphics.Content.MetaModel)v.MainGraphic).Opacity >= 1) * { * lastSeeThroughs.Remove(v); * ((Graphics.Content.MetaModel)v.MainGraphic).HasAlpha = false; * }*/ } } var line = new Common.Bounding.Line(Game.Instance.Scene.Camera.Position, Game.Instance.Map.MainCharacter.Position); lastSeeThroughs = seeThroughables.Cull(line); foreach (var v in lastSeeThroughs) { ((Graphics.Content.MetaModel)v.MainGraphic).AlphaRef = 10; ((Graphics.Content.MetaModel)v.MainGraphic).Opacity = 0.3f; /*((Graphics.Content.MetaModel)v.MainGraphic).HasAlpha = true; * if(((Graphics.Content.MetaModel)v.MainGraphic).Opacity > 0.3f) * ((Graphics.Content.MetaModel)v.MainGraphic).Opacity -= dtime;*/ } #endif }