Esempio n. 1
0
    private void LateUpdate()
    {
        Vector3 vector = base.get_transform().get_position() - this.lastPosition;

        if (vector != Vector3.get_zero())
        {
            int i = 0;
            while (i < this.passengers.get_Count())
            {
                PlatformRider platformRider        = this.passengers.get_Item(i);
                bool          flag                 = false;
                Collider[]    componentsInChildren = platformRider.get_transform().get_root().GetComponentsInChildren <Collider>();
                for (int j = 0; j < componentsInChildren.Length; j++)
                {
                    Collider other = componentsInChildren[j];
                    if (this.ContainsPoint(platformRider.get_transform().get_position()) || (Vector3.Dot(platformRider.get_transform().get_position() - base.get_transform().get_position(), base.get_transform().get_up()) > 0f && this.IntersectingTrigger(other)))
                    {
                        platformRider.UpdatePlatform(vector);
                        flag = true;
                        break;
                    }
                }
                if (!flag && platformRider.LeavePlatform(this))
                {
                    this.LeavePlatform(platformRider);
                }
                else
                {
                    i++;
                }
            }
        }
        this.lastPosition = base.get_transform().get_position();
    }
Esempio n. 2
0
    private void OnTriggerStay(Collider other)
    {
        PlatformRider componentInChildren = other.get_transform().get_root().GetComponentInChildren <PlatformRider>();

        if (componentInChildren == null || this.passengers.Contains(componentInChildren))
        {
            return;
        }
        if (componentInChildren.BoardPlatform(this))
        {
            this.BoardPlatform(componentInChildren);
        }
    }
Esempio n. 3
0
 public void LeavePlatform(PlatformRider passenger)
 {
     this.passengers.Remove(passenger);
 }
Esempio n. 4
0
 public void BoardPlatform(PlatformRider passenger)
 {
     this.passengers.Add(passenger);
 }