Ejemplo n.º 1
0
        public bool Take(CoverSearch search, Vector3 observer)
        {
            Observer = observer;

            var wasIn        = In;
            var closest      = search.FindClosest();
            var previousMain = Main;

            if (Main == null && closest != null)
            {
                Main          = closest;
                LeftAdjacent  = Main.LeftAdjacent;
                RightAdjacent = Main.RightAdjacent;
            }
            else
            {
                Clear();
            }

            if (Main != previousMain)
            {
                MainChangeAge = 0;
            }

            if (In && !wasIn)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Ejemplo n.º 2
0
        public void Maintain(CoverSearch search, Vector3 observer)
        {
            Observer = observer;

            var closest      = search.FindClosest();
            var previousMain = Main;

            if (Main != null && Main != closest)
            {
                if (closest != null)
                {
                    if (closest == LeftAdjacent)
                    {
                        StandLeft();
                        Main = closest;
                    }
                    else if (closest == RightAdjacent)
                    {
                        StandRight();
                        Main = closest;
                    }
                    else
                    {
                        Main = null;
                    }
                }
                else
                {
                    Main = null;
                }
            }

            if (Main != null)
            {
                LeftAdjacent  = Main.LeftAdjacent;
                RightAdjacent = Main.RightAdjacent;
            }
            else
            {
                LeftAdjacent  = null;
                RightAdjacent = null;
            }

            if (Main != previousMain)
            {
                MainChangeAge = 0;
            }
        }