private GlobalTargetInfo CurrentTargetUnderMouse()
        {
            GlobalTargetInfo result;

            if (!this.IsTargeting)
            {
                result = GlobalTargetInfo.Invalid;
            }
            else
            {
                List <WorldObject> list = GenWorldUI.WorldObjectsUnderMouse(UI.MousePositionOnUI);
                if (list.Any <WorldObject>())
                {
                    result = list[0];
                }
                else if (this.canTargetTiles)
                {
                    int num = GenWorld.MouseTile(false);
                    if (num >= 0)
                    {
                        result = new GlobalTargetInfo(num);
                    }
                    else
                    {
                        result = GlobalTargetInfo.Invalid;
                    }
                }
                else
                {
                    result = GlobalTargetInfo.Invalid;
                }
            }
            return(result);
        }
        public static int MouseTile(bool snapToExpandableWorldObjects = false)
        {
            int result;

            if (snapToExpandableWorldObjects)
            {
                if (GenWorld.cachedFrame_snap == Time.frameCount)
                {
                    result = GenWorld.cachedTile_snap;
                }
                else
                {
                    GenWorld.cachedTile_snap  = GenWorld.TileAt(UI.MousePositionOnUI, true);
                    GenWorld.cachedFrame_snap = Time.frameCount;
                    result = GenWorld.cachedTile_snap;
                }
            }
            else if (GenWorld.cachedFrame_noSnap == Time.frameCount)
            {
                result = GenWorld.cachedTile_noSnap;
            }
            else
            {
                GenWorld.cachedTile_noSnap  = GenWorld.TileAt(UI.MousePositionOnUI, false);
                GenWorld.cachedFrame_noSnap = Time.frameCount;
                result = GenWorld.cachedTile_noSnap;
            }
            return(result);
        }
Beispiel #3
0
 public static int MouseTile(bool snapToExpandableWorldObjects = false)
 {
     if (GenWorld.cachedFrame == Time.frameCount)
     {
         return(GenWorld.cachedTile);
     }
     GenWorld.cachedTile  = GenWorld.TileAt(UI.MousePositionOnUI, snapToExpandableWorldObjects);
     GenWorld.cachedFrame = Time.frameCount;
     return(GenWorld.cachedTile);
 }
Beispiel #4
0
        private GlobalTargetInfo CurrentTargetUnderMouse()
        {
            if (!IsTargeting)
            {
                return(GlobalTargetInfo.Invalid);
            }
            List <WorldObject> list = GenWorldUI.WorldObjectsUnderMouse(UI.MousePositionOnUI);

            if (list.Any())
            {
                return(list[0]);
            }
            if (canTargetTiles)
            {
                int num = GenWorld.MouseTile();
                if (num >= 0)
                {
                    return(new GlobalTargetInfo(num));
                }
                return(GlobalTargetInfo.Invalid);
            }
            return(GlobalTargetInfo.Invalid);
        }