コード例 #1
0
ファイル: WorldModel.cs プロジェクト: mygithome002/CypherCore
        public bool GetLocationInfo(Vector3 p, Vector3 down, out float dist, LocationInfo info)
        {
            dist = 0f;
            if (groupModels.Empty())
            {
                return(false);
            }

            WModelAreaCallback callback = new WModelAreaCallback(groupModels, down);

            groupTree.intersectPoint(p, callback);
            if (callback.hit != null)
            {
                info.hitModel = callback.hit;
                dist          = callback.zDist;
                return(true);
            }
            return(false);
        }
コード例 #2
0
ファイル: WorldModel.cs プロジェクト: mygithome002/CypherCore
        public bool IntersectPoint(Vector3 p, Vector3 down, out float dist, AreaInfo info)
        {
            dist = 0f;
            if (groupModels.Empty())
            {
                return(false);
            }

            WModelAreaCallback callback = new WModelAreaCallback(groupModels, down);

            groupTree.intersectPoint(p, callback);
            if (callback.hit != null)
            {
                info.rootId  = (int)RootWMOID;
                info.groupId = (int)callback.hit.GetWmoID();
                info.flags   = callback.hit.GetMogpFlags();
                info.result  = true;
                dist         = callback.zDist;
                return(true);
            }
            return(false);
        }