private void MoveToNextTerrain(TerrainSorcererStreet NextTerrain) { Map.MovementAnimation.Add(ActivePlayer.GamePiece.X, ActivePlayer.GamePiece.Y, ActivePlayer.GamePiece); Vector3 FinalPosition = NextTerrain.Position; ActivePlayer.GamePiece.SetPosition(FinalPosition); --Movement; }
public void FinishPhase() { TerrainSorcererStreet ActiveTerrain = Map.GetTerrain(ActivePlayer.GamePiece); ActiveTerrain.DefendingCreature = ActiveCard; ActiveTerrain.Owner = ActivePlayer; Map.ListActionMenuChoice.RemoveAllActionPanels(); Map.EndPlayerPhase(); }
public MapLayer(SorcererStreetMap Map, List <AnimationBackground> ListBackgrounds, List <AnimationBackground> ListForegrounds, BinaryReader BR) { this.Map = Map; ListSubLayer = new List <SubMapLayer>(); StartupDelay = BR.ReadInt32(); ToggleDelayOn = BR.ReadInt32(); ToggleDelayOff = BR.ReadInt32(); Depth = BR.ReadSingle(); if (StartupDelay == 0) { IsVisible = true; ToggleTimer = ToggleDelayOn; } else { IsVisible = false; ToggleTimer = StartupDelay; } ArrayTerrain = new TerrainSorcererStreet[Map.MapSize.X, Map.MapSize.Y]; for (int Y = 0; Y < Map.MapSize.Y; Y++) { for (int X = 0; X < Map.MapSize.X; X++) { int TerrainTypeIndex = BR.ReadInt32(); switch (Map.ListTerrainType[TerrainTypeIndex]) { case TerrainSorcererStreet.FireElement: case TerrainSorcererStreet.WaterElement: case TerrainSorcererStreet.EarthElement: case TerrainSorcererStreet.AirElement: ArrayTerrain[X, Y] = new ElementalTerrain(X, Y, TerrainTypeIndex); break; case TerrainSorcererStreet.EastGate: case TerrainSorcererStreet.WestGate: case TerrainSorcererStreet.SouthGate: case TerrainSorcererStreet.NorthGate: ArrayTerrain[X, Y] = new GateTerrain(X, Y, TerrainTypeIndex); break; default: ArrayTerrain[X, Y] = new TerrainSorcererStreet(X, Y, TerrainTypeIndex); break; } } } OriginalLayerGrid = new SorcererStreetMap2D(Map, BR); LayerGrid = new Map3D(Map, this, OriginalLayerGrid, GameScreen.GraphicsDevice); }
public MapLayer(SorcererStreetMap Map) { this.Map = Map; ListSubLayer = new List <SubMapLayer>(); ToggleTimer = StartupDelay; IsVisible = StartupDelay > 0; //Tiles ArrayTerrain = new TerrainSorcererStreet[Map.MapSize.X, Map.MapSize.Y]; for (int Y = 0; Y < Map.MapSize.Y; Y++) { for (int X = 0; X < Map.MapSize.X; X++) { ArrayTerrain[X, Y] = new TerrainSorcererStreet(X, Y); } } OriginalLayerGrid = new SorcererStreetMap2D(Map); LayerGrid = new Map3D(Map, this, OriginalLayerGrid, GameScreen.GraphicsDevice); }
public override void DoUpdate(GameTime gameTime) { if (DirectionPicker != null && DirectionPicker.ChosenTerrain != null) { MoveToNextTerrain(DirectionPicker.ChosenTerrain); DirectionPicker = null; } if (Map.MovementAnimation.Count == 0) { if (Movement > 0) { PrepareToMoveToNextTerrain(ActivePlayer.GamePiece.Position, (int)ActivePlayer.GamePiece.Position.Z, true); } else { RemoveFromPanelList(this); TerrainSorcererStreet ActiveTerrain = Map.GetTerrain(ActivePlayer.GamePiece); ActiveTerrain.OnSelect(Map, ActivePlayerIndex); } } }
public ActionPanelPayTollPhase(SorcererStreetMap Map, int ActivePlayerIndex, TerrainSorcererStreet ActiveTerrain) : base(PanelName, Map.ListActionMenuChoice, Map, ActivePlayerIndex, CreatureCard.CreatureCardType) { this.ActiveTerrain = ActiveTerrain; }
public ActionPanelPayTollPhase(SorcererStreetMap Map, Player ActivePlayer, TerrainSorcererStreet ActiveTerrain) : base(Map.ListActionMenuChoice, Map, ActivePlayer, CreatureCard.CreatureCardType) { this.ActivePlayer = ActivePlayer; this.ActiveTerrain = ActiveTerrain; }
public ActionPanelBattleLandModifierPhase(ActionPanelHolder ListActionMenuChoice, SorcererStreetMap Map, TerrainSorcererStreet ActiveTerrain) : base("Battle Land Modifier Phase", ListActionMenuChoice, false) { this.Map = Map; this.ActiveTerrain = ActiveTerrain; }