flagflag  If you want to see English page, please click "English" Button at Left.
1: 2009-08-31 (月) 17:53:53 iseki ソース 現: 2009-08-31 (月) 18:16:43 iseki ソース
Line 1: Line 1:
-*** [#nd8db2af+*** SIMの境界で,座標な不正になった場合に,強制的に ''emergencyPos'' [すなわち(128,128,128)] へ移動させられる件 [#v18a1226] 
-          // Fumi.Iseki +- OpenSim/Region/Framework/Scenes/ScenePre​sence.cs 
-            if (pos.X < 0 || pos.X >= (int)Constants.RegionSize || pos.Y < 0 || pos.Y >= (int)Constants.RegionSize || pos.Z < 0) { +- MakeRootAgent() 
-                m_log.WarnFormat("[SCENE PRESENCE]: MakeRootAgent() was given an illegal position of {0} for avatar {1}, {2}.", pos, Name, UUID);+ if (pos.X < 0 || pos.X >= (int)Constants.RegionSize || pos.Y < 0 || pos.Y >= (int)Constants.RegionSize || pos.Z < 0) { 
 +     m_log.WarnFormat("[SCENE PRESENCE]: MakeRootAgent() was given an illegal position of {0} for avatar {1}, {2}.", pos, Name, UUID); 
 +  
 +     if (pos.X < 0) pos.X = 0; 
 +     else if (pos.X >= (int)Constants.RegionSize) pos.X = (int)Constants.RegionSize - 1; 
 +     if (pos.Y < 0) pos.Y = 0; 
 +     else if (pos.Y >= (int)Constants.RegionSize) pos.Y = (int)Constants.RegionSize - 1; 
 +     if (pos.Z < 0) pos.Z = 0; 
 + } 
 + /* 
 + if (pos.X < 0 || pos.X >= (int)Constants.RegionSize || pos.Y < 0 || pos.Y >= (int)Constants.RegionSize || pos.Z < 0) 
 + 
 +    Vector3 emergencyPos = new Vector3(((int)Constants.RegionSize * 0.5f), ((int)Constants.RegionSize * 0.5f), 128); 
 +  
 +     m_log.WarnFormat( 
 +         "[SCENE PRESENCE]: MakeRootAgent() was given an illegal position of {0} for avatar {1}, {2}. Substituting {3}", 
 +         pos, Name, UUID, emergencyPos); 
 +  
 +     pos = emergencyPos; 
 + } 
 + */
-               if (pos.X < 0) pos.X = 0; 
-               else if (pos.X >= (int)Constants.RegionSize) pos.X = (int)Constants.RegionSize - 1; 
-               if (pos.Y < 0) pos.Y = 0; 
-               else if (pos.Y >= (int)Constants.RegionSize) pos.Y = (int)Constants.RegionSize - 1; 
-               if (pos.Z < 0) pos.Z = 0; 
-           } 
-/* 
-           if (pos.X < 0 || pos.X >= (int)Constants.RegionSize || pos.Y < 0 || pos.Y >= (int)Constants.RegionSize || pos.Z < 0) 
-           { 
-               Vector3 emergencyPos = new Vector3(((int)Constants.RegionSize * 0.5f), ((int)Constants.RegionSize * 0.5f), 128); 
-                m_log.WarnFormat( +*** 上記の様に変更した場合,CrossToNewRegion() でエラーが出る場合があるので修正する. [#j48d41ec] 
-                    "[SCENE PRESENCE]: MakeRootAgent() was given an illegal position of {0} for avatar {1}, {2}. Substituting {3}", +- OpenSim/Region/Framework/Scenes/ScenePre​sence.cs 
-                    pos, Name, UUID, emergencyPos); +- CrossToNewRegion() 
- + /// <summary> 
-                pos = emergencyPos+ /// Moves the agent outside the region bounds 
-            } + /// Tells neighbor region that we're crossing to it 
-*/ [#cf17a76c]+ /// If the neighbor accepts, remove the agent's viewable avatar from this scene 
 + /// set them to a child agent
 + /// </summary> 
 + protected void CrossToNewRegion() 
 + { 
 +     // Fumi.Iseki 
 +    if (m_scene==null || m_physicsActor==null) return
 +     InTransit(); 
 +    m_scene.CrossAgentToNewRegion(this, m_physicsActor.Flying)
 + }


トップ   新規 ページ一覧 単語検索 最終更新   ヘルプ   最終更新のRSS 1.0 最終更新のRSS 2.0 最終更新のRSS Atom

サイト内 検索

ログイン

ユーザー名:

パスワード:


パスワード紛失
新規登録

サブ メニュー

ミニカレンダー

前月2024年 4月翌月
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
<今日>

オンライン状況

95 人のユーザが現在オンラインです。 (10 人のユーザが xpwiki を参照しています。)

登録ユーザ: 0
ゲスト: 95

もっと...

アクセスカウンタ

今日 : 1792017920179201792017920
昨日 : 1406514065140651406514065
総計 : 2335894223358942233589422335894223358942233589422335894223358942
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com