Example #1
0
        public virtual bool Intersects(Unit unit)
        {
            if (unit == this)
                return false;

            if (Type.Model == null || unit.Type.Model == null)
                return false;

            //Проверка столкновения каждой сферы юнита с каждой сферой заданного юнита
            foreach (var mesh in Type.Model.Meshes)
            {
                foreach (var mesh1 in unit.Type.Model.Meshes)
                {
                    if (mesh.BoundingSphere.Transform(GetResultingTransformation(Transforms[mesh.ParentBone.Index])).Intersects(
                        mesh1.BoundingSphere.Transform(unit.GetResultingTransformation(Transforms[mesh1.ParentBone.Index]))))
                        return true;
                }
            }
            return false;
        }