コード例 #1
0
 public Cell(Cell cell, SeenState seenState, int controlledByFaction, byte borders)
 {
     Index               = cell.Index;
     TerrainId           = cell.TerrainId;
     Texture             = cell.Texture;
     SeenState           = seenState;
     ControlledByFaction = controlledByFaction;
     Borders             = borders;
 }
コード例 #2
0
ファイル: CellGrid.cs プロジェクト: gmoller/Phoenix
        public void SetCell(Cell cell, SeenState seenState, int controlledByFaction)
        {
            if (cell.Equals(Cell.Empty))
            {
                return;
            }

            var newCell = new Cell(cell, seenState, controlledByFaction, cell.Borders);

            if (cell.SeenState != newCell.SeenState)
            {
                // raise event
                var args = new EventArgs();
                OnNewCellSeen(args);
            }

            Cells[cell.Column, cell.Row] = newCell;
        }
コード例 #3
0
ファイル: MinimapHandler.cs プロジェクト: gmoller/Phoenix
        private static Color[,] GetHexColors(Color seenColor, Color unseenColor, SeenState seenState)
        {
            Color[,] colors = new Color[7, 8];
            for (var row = 0; row < 8; row++)
            {
                for (var column = 0; column < 7; column++)
                {
                    Color colorToSet;
                    if (seenState == SeenState.NeverSeen)
                    {
                        colorToSet = unseenColor;
                    }
                    else if (row >= 2 && row <= 5)
                    {
                        colorToSet = seenColor;
                    }
                    else if (row == 0 || row == 7)
                    {
                        colorToSet = column == 3 ? seenColor : Color.Transparent;
                    }
                    else if (row == 1 || row == 6)
                    {
                        if (column == 0 || column == 6)
                        {
                            colorToSet = Color.Transparent;
                        }
                        else
                        {
                            colorToSet = seenColor;
                        }
                    }
                    else
                    {
                        throw new Exception();
                    }

                    colors[column, row] = colorToSet;
                }
            }

            return(colors);
        }
コード例 #4
0
ファイル: CellGrid.cs プロジェクト: gmoller/Phoenix
 public void SetCell(Cell cell, SeenState seenState)
 {
     SetCell(cell, seenState, cell.ControlledByFaction);
 }
コード例 #5
0
 public override int GetHashCode()
 {
     return(Index.GetHashCode() ^ TerrainId.GetHashCode() ^ Texture.GetHashCode() ^ SeenState.GetHashCode() ^ ControlledByFaction.GetHashCode());
 }