예제 #1
0
        protected Building(BuildingBlueprint blueprint, PositionedFootprint footprint)
        {
            if (!footprint.IsValid)
            {
                throw new ArgumentOutOfRangeException();
            }

            this.blueprint = blueprint;
            this.footprint = footprint;
            Health         = 1;
            BuildManager   = new BuildProcessManager(this, blueprint);
        }
예제 #2
0
 public PlayerBuilding(BuildingBlueprint blueprint, PositionedFootprint footprint)
     : base(blueprint, footprint)
 {
 }
예제 #3
0
 public void HandleClick(GameInstance game, PositionedFootprint footprint)
 {
     footprint.OccupiedTiles
     .Where(t => t.IsValid)
     .ForEach(tile => requestToggle(game, tile));
 }
예제 #4
0
 public void HandleHover(GameInstance game, PositionedFootprint footprint)
 {
 }
예제 #5
0
파일: Base.cs 프로젝트: Mattias1/td
 public Base(PositionedFootprint footprint) : base(Blueprint, footprint)
 {
     BuildManager.Progress(ResourceGrant.Infinite);
 }
예제 #6
0
파일: CursorState.cs 프로젝트: Mattias1/td
 public void Click(PositionedFootprint footprint)
 {
     ClickHandler?.HandleClick(game, footprint);
 }
예제 #7
0
 public void HandleClick(GameInstance game, PositionedFootprint footprint)
 {
     footprint.OccupiedTiles
     .Where(t => t.IsValid && t.Info.IsPassable)
     .ForEach(tile => game.State.Add(new EnemyUnit(new UnitBlueprint(100, 25, new Speed(2), 10), tile)));
 }
예제 #8
0
파일: CursorState.cs 프로젝트: Mattias1/td
 public void Hover(PositionedFootprint footprint)
 {
     ClickHandler?.HandleHover(game, footprint);
 }
예제 #9
0
 public void SetFootprint(PositionedFootprint footprint)
 {
     this.footprint = footprint;
 }
예제 #10
0
 public void HandleClick(GameInstance game, PositionedFootprint footprint)
 {
     game.Request(BuildBuilding.Request, blueprint, footprint);
 }
예제 #11
0
 public void HandleHover(GameInstance game, PositionedFootprint footprint)
 {
     ghost.SetFootprint(footprint);
 }
예제 #12
0
 public Implementation(GameState game, BuildingBlueprint blueprint, PositionedFootprint footprint)
 {
     this.game      = game;
     this.blueprint = blueprint;
     this.footprint = footprint;
 }
예제 #13
0
 public static IRequest Request(GameState game, BuildingBlueprint blueprint, PositionedFootprint footprint)
 => new Implementation(game, blueprint, footprint);