Beispiel #1
0
        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;
        }
Beispiel #2
0
        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);
        }
Beispiel #5
0
        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;
 }
Beispiel #7
0
 public ActionPanelPayTollPhase(SorcererStreetMap Map, Player ActivePlayer, TerrainSorcererStreet ActiveTerrain)
     : base(Map.ListActionMenuChoice, Map, ActivePlayer, CreatureCard.CreatureCardType)
 {
     this.ActivePlayer  = ActivePlayer;
     this.ActiveTerrain = ActiveTerrain;
 }
Beispiel #8
0
 public ActionPanelBattleLandModifierPhase(ActionPanelHolder ListActionMenuChoice, SorcererStreetMap Map, TerrainSorcererStreet ActiveTerrain)
     : base("Battle Land Modifier Phase", ListActionMenuChoice, false)
 {
     this.Map           = Map;
     this.ActiveTerrain = ActiveTerrain;
 }