예제 #1
0
파일: MapView.cs 프로젝트: k-t/SharpHaven
        public void Place(ISprite sprite, bool snapToTile, int?radius)
        {
            if (Session == null)
            {
                throw new InvalidOperationException();
            }

            placeOnTile = snapToTile;
            placeRadius = radius ?? -1;
            placeGob    = new Gob(-1);
            placeGob.SetSprite(new Delayed <ISprite>(sprite));

            var mc = Geometry.ScreenToMap(ToAbsolute(Host.MousePosition));

            placeGob.Position = placeOnTile ? Geometry.Tilify(mc) : mc;

            Session.Objects.AddLocal(placeGob);
        }