Пример #1
0
    Arbiter_c FindArbiter(ref RigidBody_c rb1, ref RigidBody_c rb2)
    {
        ArbiterKey_c key = new ArbiterKey_c(ref rb1, ref rb2);

        for (int i = 0; i < arbiterArray.Count; i++)
        {
            if (arbiterArray[i].key.b1.id == key.b1.id &&
                arbiterArray[i].key.b2.id == key.b2.id)
            {
                return(arbiterArray[i].arbiter);
            }
        }

        arbiterArray.Add(new ArbiterItem_c(key, new Arbiter_c(ref rb1, ref rb2)));
        return(arbiterArray[arbiterArray.Count - 1].arbiter);
    }
Пример #2
0
 public ArbiterItem_c(ArbiterKey_c key, Arbiter_c arbiter)
 {
     this.key     = key;
     this.arbiter = arbiter;
 }