コード例 #1
0
ファイル: clsViewInfo.cs プロジェクト: Zabanya/SharpFlame
        public clsViewInfo(clsMap Map, MapViewControl MapViewControl)
        {
            this.Map = Map;
            this.MapViewControl = MapViewControl;

            ViewPos = new sXYZ_int(0, 3072, 0);
            FOV_Multiplier_Set(SettingsManager.Settings.FOVDefault);
            ViewAngleSetToDefault();
            LookAtPos(new sXY_int((int)(Map.Terrain.TileSize.X * App.TerrainGridSpacing / 2.0D),
                (int)(Map.Terrain.TileSize.Y * App.TerrainGridSpacing / 2.0D)));
        }
コード例 #2
0
ファイル: frmCompile.cs プロジェクト: Zabanya/SharpFlame
        private frmCompile(clsMap Map)
        {
            InitializeComponent();

            Icon = App.ProgramIcon;

            this.Map = Map;
            Map.CompileScreen = this;

            UpdateControls();
        }
コード例 #3
0
ファイル: frmCompile.cs プロジェクト: Zabanya/SharpFlame
        public static frmCompile Create(clsMap Map)
        {
            if ( Map == null )
            {
                Debugger.Break();
                return null;
            }

            if ( Map.CompileScreen != null )
            {
                Debugger.Break();
                return null;
            }

            return new frmCompile(Map);
        }
コード例 #4
0
ファイル: clsMapChanges.cs プロジェクト: Zabanya/SharpFlame
 public void Deallocate()
 {
     Map = null;
 }
コード例 #5
0
ファイル: clsMapChanges.cs プロジェクト: Zabanya/SharpFlame
 public clsMapTileChanges(clsMap Map, sXY_int PointSize)
     : base(PointSize)
 {
     this.Map = Map;
     Terrain = Map.Terrain;
 }
コード例 #6
0
ファイル: clsMapChanges.cs プロジェクト: Zabanya/SharpFlame
 public clsSectorChanges(clsMap Map)
     : base(Map, Map.SectorCount)
 {
 }
コード例 #7
0
ファイル: clsMapChanges.cs プロジェクト: Zabanya/SharpFlame
 public clsAutoTextureChanges(clsMap Map)
     : base(Map, Map.Terrain.TileSize)
 {
 }
コード例 #8
0
            //private clsScriptPosition()
            //{
            //_ParentMapLink = new ConnectedListLink<clsScriptPosition, clsMap>(this);
            //}
            public static clsScriptPosition Create(clsMap Map)
            {
                clsScriptPosition Result = new clsScriptPosition();

                Result._Label = Map.GetDefaultScriptLabel("Position");

                Result._ParentMapLink.Connect(Map.ScriptPositions);

                return Result;
            }
コード例 #9
0
            //protected clsScriptArea()
            //{
            //_ParentMapLink = new ConnectedListLink<clsScriptArea, clsMap>(this);
            //}
            public static clsScriptArea Create(clsMap Map)
            {
                clsScriptArea Result = new clsScriptArea();

                Result._Label = Map.GetDefaultScriptLabel("Area");

                Result._ParentMapLink.Connect(Map.ScriptAreas);

                return Result;
            }
コード例 #10
0
ファイル: clsBrush.cs プロジェクト: Zabanya/SharpFlame
        private void PerformAction(clsMap.clsAction Action, sPosNum PosNum, sXY_int LastValidNum)
        {
            int XNum = 0;
            int X = 0;
            int Y = 0;
            sXY_int Centre = new sXY_int();

            if ( Action.Map == null )
            {
                Debugger.Break();
                return;
            }

            Centre = GetPosNum(PosNum);

            Action.Effect = 1.0D;
            for ( Y = MathUtil.Clamp_int(Tiles.YMin + Centre.Y, 0, LastValidNum.Y) - Centre.Y;
                Y <= MathUtil.Clamp_int(Tiles.YMax + Centre.Y, 0, LastValidNum.Y) - Centre.Y;
                Y++ )
            {
                Action.PosNum.Y = Centre.Y + Y;
                XNum = Y - Tiles.YMin;
                for ( X = MathUtil.Clamp_int(Tiles.XMin[XNum] + Centre.X, 0, LastValidNum.X) - Centre.X;
                    X <= MathUtil.Clamp_int(Convert.ToInt32(Tiles.XMax[XNum] + Centre.X), 0, LastValidNum.X) - Centre.X;
                    X++ )
                {
                    Action.PosNum.X = Centre.X + X;
                    if ( Action.UseEffect )
                    {
                        if ( Tiles.ResultRadius > 0.0D )
                        {
                            switch ( _Shape )
                            {
                                case enumShape.Circle:
                                    if ( _Alignment )
                                    {
                                        Action.Effect =
                                            Convert.ToDouble(1.0D -
                                                                    (new Position.XY_dbl(Action.PosNum.X, Action.PosNum.Y) -
                                                                     new Position.XY_dbl(Centre.X - 0.5D, Centre.Y - 0.5D)).GetMagnitude() /
                                                                    (Tiles.ResultRadius + 0.5D));
                                    }
                                    else
                                    {
                                        Action.Effect = Convert.ToDouble(1.0D - (Centre - Action.PosNum).ToDoubles().GetMagnitude() / (Tiles.ResultRadius + 0.5D));
                                    }
                                    break;
                                case enumShape.Square:
                                    if ( _Alignment )
                                    {
                                        Action.Effect = 1.0D -
                                                        Math.Max(Math.Abs(Action.PosNum.X - (Centre.X - 0.5D)), Math.Abs(Action.PosNum.Y - (Centre.Y - 0.5D))) /
                                                        (Tiles.ResultRadius + 0.5D);
                                    }
                                    else
                                    {
                                        Action.Effect = 1.0D -
                                                        Math.Max(Math.Abs(Action.PosNum.X - Centre.X), Math.Abs(Action.PosNum.Y - Centre.Y)) /
                                                        (Tiles.ResultRadius + 0.5D);
                                    }
                                    break;
                            }
                        }
                    }
                    Action.ActionPerform();
                }
            }
        }
コード例 #11
0
ファイル: clsBrush.cs プロジェクト: Zabanya/SharpFlame
 public void PerformActionMapVertices(clsMap.clsAction Tool, sPosNum Centre)
 {
     PerformAction(Tool, Centre, Tool.Map.Terrain.TileSize);
 }
コード例 #12
0
ファイル: clsBrush.cs プロジェクト: Zabanya/SharpFlame
 public void PerformActionMapTiles(clsMap.clsAction Tool, sPosNum Centre)
 {
     PerformAction(Tool, Centre, new sXY_int(Tool.Map.Terrain.TileSize.X - 1, Tool.Map.Terrain.TileSize.Y - 1));
 }
コード例 #13
0
ファイル: clsBrush.cs プロジェクト: Zabanya/SharpFlame
 public void PerformActionMapSectors(clsMap.clsAction Tool, sPosNum Centre)
 {
     PerformAction(Tool, Centre, new sXY_int(Tool.Map.SectorCount.X - 1, Tool.Map.SectorCount.Y - 1));
 }
コード例 #14
0
ファイル: frmCompile.cs プロジェクト: Zabanya/SharpFlame
 public void frmCompile_FormClosed(object sender, FormClosedEventArgs e)
 {
     Map.CompileScreen = null;
     Map = null;
 }