Beispiel #1
0
        public void BeginPlacing(PlacementInformation info)
        {
            Clear();

            IoCManager.Resolve <IUserInterfaceManager>().CancelTargeting();
            IoCManager.Resolve <IUserInterfaceManager>().DragInfo.Reset();

            CurrentPermission = info;

            if (!_modeDictionary.Any(pair => pair.Key.Equals(CurrentPermission.PlacementOption)))
            {
                Clear();
                return;
            }

            Type modeType = _modeDictionary.First(pair => pair.Key.Equals(CurrentPermission.PlacementOption)).Value;

            CurrentMode = (PlacementMode)Activator.CreateInstance(modeType, this);

            if (info.IsTile)
            {
                PreparePlacementTile(info.TileType);
            }
            else
            {
                PreparePlacement(info.EntityType);
            }
        }
Beispiel #2
0
 public void Clear()
 {
     CurrentBaseSprite = null;
     CurrentTemplate   = null;
     CurrentPermission = null;
     CurrentMode       = null;
     if (PlacementCanceled != null && IsActive && !Eraser)
     {
         PlacementCanceled(this, null);
     }
     IsActive = false;
     Eraser   = false;
 }
Beispiel #3
0
 public void Clear()
 {
     CurrentBaseSprite = null;
     CurrentTemplate = null;
     CurrentPermission = null;
     CurrentMode = null;
     if (PlacementCanceled != null && IsActive && !Eraser) PlacementCanceled(this, null);
     IsActive = false;
     Eraser = false;
 }
Beispiel #4
0
        public void BeginPlacing(PlacementInformation info)
        {
            Clear();

            IoCManager.Resolve<IUserInterfaceManager>().CancelTargeting();
            IoCManager.Resolve<IUserInterfaceManager>().DragInfo.Reset();

            CurrentPermission = info;

            if (!_modeDictionary.Any(pair => pair.Key.Equals(CurrentPermission.PlacementOption)))
            {
                Clear();
                return;
            }

            Type modeType = _modeDictionary.First(pair => pair.Key.Equals(CurrentPermission.PlacementOption)).Value;
            CurrentMode = (PlacementMode) Activator.CreateInstance(modeType, this);

            if (info.IsTile)
                PreparePlacementTile(info.TileType);
            else
                PreparePlacement(info.EntityType);
        }