コード例 #1
0
 void Start()
 {
     collisionTest         = GetComponent <CollisionTest>();
     aisetter              = GetComponent <AIDestinationSetter>();
     collisionTest.enabled = true;
     aisetter.enabled      = false;
 }
コード例 #2
0
 void HitDamage(CollisionTest col)
 {
     if (col.gameObject.name == "Player1")
     {
         Destroy(col.gameObject);
     }
 }
コード例 #3
0
 public override bool LineOfSight(Vector3 start, Vector3 end)
 {
     for (var i = 0; i < bodyList.Count; i++)
     {
         if (CollisionTest.SegmentIntersects(bodyList[i].CollisionShape, start, end))
         {
             return(false);
         }
     }
     return(true);
 }
コード例 #4
0
        // Return a list of entities colliding with this entity.
        public IEnumerable <T> GetEntitiesMeeting <T>(Rectangle2I myCollisionBox, CollisionBoxType otherCollisionBoxType, int maxZDistance = 10) where T : Entity
        {
            CollisionTestSettings settings = new CollisionTestSettings(typeof(T), myCollisionBox, otherCollisionBoxType, maxZDistance);

            for (int i = 0; i < entity.RoomControl.Entities.Count; i++)
            {
                T other = entity.RoomControl.Entities[i] as T;
                if (other != null && CollisionTest.PerformCollisionTest(entity, other, settings).IsColliding)
                {
                    yield return(other);
                }
            }
        }
コード例 #5
0
    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown("k"))
        {
            GameObject[] allWalls;
            allWalls = GameObject.FindGameObjectsWithTag("wall");

            if (allWalls != null)
            {
                foreach (GameObject wall in allWalls)
                {
                    CollisionTest collisionCheck = wall.AddComponent <CollisionTest>();
                }
            }
        }
    }
コード例 #6
0
 public static bool BoxVsBox(BoxShape a, BoxShape b, ref CollisionResult result, bool twoD)
 {
     return(CollisionTest.TestAABB(a.Min, a.Max, b.Min, b.Max, ref result, twoD));
 }
コード例 #7
0
 public static void AddTest(CollisionTest _test)
 {
     Tests.Add(_test);
 }
コード例 #8
0
ファイル: Shape.cs プロジェクト: saltares/urbanrace
 public static void addCollisionTest(Shape.Type t1, Shape.Type t2, CollisionTest test)
 {
     collisionTests[new KeyValuePair<Type, Type>(t1, t2)] = new CollisionTest(test);
 }
コード例 #9
0
 public bool IsCollidingWith(Entity other, CollisionBoxType myBoxType, CollisionBoxType otherBoxType, int maxZDistance = 10)
 {
     return(CollisionTest.PerformCollisionTest(entity, other,
                                               new CollisionTestSettings(null, myBoxType, otherBoxType, maxZDistance)).IsColliding);
 }
コード例 #10
0
ファイル: Shape.cs プロジェクト: qiangqiang101/urbanrace
 public static void addCollisionTest(Shape.Type t1, Shape.Type t2, CollisionTest test)
 {
     collisionTests[new KeyValuePair <Type, Type>(t1, t2)] = new CollisionTest(test);
 }