예제 #1
0
        private void AddCollision(ctxs.general.delay.systems.GameEntity entity, int targetId)
        {
            var collisions = new List <int>();

            if (entity.hasCollision)
            {
                collisions = entity.collision.collisions;
            }

            if (collisions.IndexOf(targetId) == -1)
            {
                collisions.Add(targetId);
            }

            entity.ReplaceCollision(collisions);
        }
예제 #2
0
        public void RemoveCollision(ctxs.general.delay.systems.GameEntity entity, int targetId)
        {
            if (entity.hasCollision == false)
            {
                Debug.LogError("RemoveCollision::Tried to remove collision but Entity has no collisions");
                return;
            }

            var collisions = entity.collision.collisions;
            var index      = collisions.IndexOf(targetId);

            if (index == -1)
            {
                Debug.LogError("RemoveCollision [Entity Id: " + entity.id.value +
                               "]::Tried to remove collision that doesnt exist");
            }

            collisions.RemoveAt(index);
            entity.ReplaceCollision(collisions);
        }