static public BlockMissionObject DrawFBXMeshMissionObjectAt(Mission mission, Vec3 pos, string filename) { // if (prefab == null) GameEntity prefab = GameEntity.CreateEmpty(mission.Scene, false); prefab.EntityFlags |= EntityFlags.DontSaveToScene; //prefab.AddMesh(Mesh.GetFromResource("order_arrow_a"), true); // prefab.SetVisibilityExcludeParents(true); if (MeshListByFileName.ContainsKey(filename) == false) { MeshListByFileName.Add(filename, CreateMesh(filename)); } foreach (var mesh in MeshListByFileName[filename]) { prefab.AddMesh(mesh, false); } prefab.RecomputeBoundingBox(); PhysicsShape shape = prefab.GetBodyShape(); // shape. prefab.AddPhysics(1000, new Vec3(0, 0, 0), null, new Vec3(), new Vec3(), PhysicsMaterial.GetFromIndex(0), false, 0); GameEntity blockEntity = prefab; MatrixFrame identity2 = MatrixFrame.Identity; identity2.origin = pos; identity2.origin.x += 7.5f; identity2.origin.z = 7.5f; identity2.rotation.ApplyScaleLocal(1f); MatrixFrame frame2 = identity2; blockEntity.SetFrame(ref frame2); blockEntity.SetVisibilityExcludeParents(true); blockEntity.SetAlpha(1f); blockEntity.CreateAndAddScriptComponent("BlockMissionObject"); BlockMissionObject missionObject = blockEntity.GetFirstScriptOfType <BlockMissionObject>(); mission.AddActiveMissionObject(missionObject); return(missionObject); }