Exemple #1
0
 public override void SetDefaultData(Map.Object obj)
 {
     obj.NewDefaultExtraData();
     xfer = obj.GetExtraData <TriggerXfer>();
     if (ThingDb.Things[obj.Name].ExtentType != "BOX")
     {
         xfer.BackColor = Color.Black;
         xfer.EdgeColor = Color.Black;
     }
 }
Exemple #2
0
        private void nameBox_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            objPs = ((ThingDb.Thing)ThingDb.Things[nameBox.Text]);

            if (nameBox.Text != obj.Name)
            {
                obj.Name = nameBox.Text;
                obj.NewDefaultExtraData();
            }
            xtraBox.Checked = (obj.Terminator > 0);
        }
Exemple #3
0
        private void nameBox_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            objPs = ThingDb.Things[nameBox.Text];

            if (nameBox.Text != obj.Name)
            {
                obj.Name = nameBox.Text;
                XferEditor editor = XferEditors.GetEditorForXfer(ThingDb.Things[nameBox.Text].Xfer);
                if (editor != null)
                {
                    editor.SetDefaultData(obj);
                }
                else
                {
                    obj.NewDefaultExtraData();
                }
            }
            xtraBox.Checked = (obj.Terminator > 0);
        }
Exemple #4
0
        void ButtonMonsterPropsClick(object sender, EventArgs e)
        {
            int index = monstersListBox.SelectedIndex;

            if (index >= 0)
            {
                Map.Object  virtualObj;
                MonsterEdit monsterEditor = new MonsterEdit();
                if (Xfer.MonsterData[index] == null)
                {
                    // valid monster?
                    if (currentMonsterName.SelectedIndex < 0)
                    {
                        return;
                    }
                    // new monster slot
                    virtualObj           = new Map.Object(currentMonsterName.Text, PointF.Empty);
                    virtualObj.ReadRule1 = 0x40;
                    // default data
                    virtualObj.NewDefaultExtraData();
                    virtualObj.GetExtraData <MonsterXfer>().InitForMonsterName(currentMonsterName.Text);
                    monsterEditor.SetObject(virtualObj);
                }
                else
                {
                    // modify existing one
                    virtualObj = new Map.Object(currentMonsterName.Text, PointF.Empty);
                    BinaryReader br = new BinaryReader(new MemoryStream(Xfer.MonsterData[index]));
                    virtualObj.ReadRule1 = br.ReadInt16();
                    br.BaseStream.Seek(19, SeekOrigin.Current);
                    virtualObj.GetExtraData <MonsterXfer>().FromStream(br.BaseStream, virtualObj.ReadRule1, ThingDb.Things[virtualObj.Name]);
                    monsterEditor.SetObject(virtualObj);
                }
                if (monsterEditor.ShowDialog() == DialogResult.OK)
                {
                    virtualObj = monsterEditor.GetObject();
                    GenerateMonsterData(virtualObj);
                }
            }
        }
        /*
         * private void RenderPostTiles(Graphics g)
         * {
         *      if (MapInterface.CurrentMode == EditMode.FLOOR_PLACE && MapEditorSettings.DrawTextured)
         *      {
         *              Point point = MapView.GetNearestTilePoint(mapView.mouseLocation);
         *              // Render the tile being created
         *              if (!Map.Tiles.ContainsKey(point))
         *              {
         *              Map.Tile tile = mapView.TileMakeNewCtrl.GetTile(point,true);
         *              DrawTexturedTile(g, tile, true);
         *              }
         *      }
         * }
         */



        private void RenderPostObjects(Graphics g)
        {
            if (MapInterface.CurrentMode == EditMode.OBJECT_PLACE && !mapView.picking)
            {
                string obj = mapView.cboObjCreate.Text;
                if (ThingDb.Things.ContainsKey(obj))
                {
                    Point pt = mapView.mouseLocation;

                    Point ptAligned = pt;

                    if (EditorSettings.Default.Edit_SnapGrid || ThingDb.Things[obj].Xfer == "DoorXfer")
                    {
                        ptAligned = new Point((int)Math.Round((decimal)(pt.X / squareSize)) * squareSize, (int)Math.Round((decimal)(pt.Y / squareSize)) * squareSize);
                    }
                    if (EditorSettings.Default.Edit_SnapHalfGrid)
                    {
                        ptAligned = new Point((int)Math.Round((decimal)((pt.X / (squareSize)) * squareSize) + squareSize / 2), (int)Math.Round((decimal)((pt.Y / (squareSize)) * squareSize) + squareSize / 2));
                    }
                    if (EditorSettings.Default.Edit_SnapCustom)
                    {
                        int snap = (int)mapView.customSnapValue.Value;
                        ptAligned = new Point((int)Math.Round((decimal)(pt.X / snap)) * snap, (int)Math.Round((decimal)(pt.Y / snap)) * snap);
                    }

                    Map.Object result = new Map.Object();
                    result.Name     = obj;
                    result.Location = ptAligned;


                    if (ThingDb.Things[obj].Xfer == "DoorXfer")
                    {
                        //XferEditor editor = XferEditors.GetEditorForXfer(ThingDb.Things[obj].Xfer);
                        //if (editor != null) editor.SetDefaultData(result);
                        //else result.NewDefaultExtraData();
                        result.NewDefaultExtraData();
                        NoxShared.ObjDataXfer.DoorXfer door = result.GetExtraData <NoxShared.ObjDataXfer.DoorXfer>();
                        int delta = (int)mapView.delta;
                        door.Direction = (NoxShared.ObjDataXfer.DoorXfer.DOORS_DIR)delta;
                    }
                    else if (ThingDb.Things[obj].Xfer == "MonsterXfer")
                    {
                        result.NewDefaultExtraData();
                        NoxShared.ObjDataXfer.MonsterXfer monster = result.GetExtraData <NoxShared.ObjDataXfer.MonsterXfer>();
                        int delta = (int)mapView.delta;
                        monster.DirectionId = (byte)delta;
                    }
                    else if (ThingDb.Things[obj].Xfer == "NPCXfer")
                    {
                        result.NewDefaultExtraData();
                        NoxShared.ObjDataXfer.NPCXfer npc = result.GetExtraData <NoxShared.ObjDataXfer.NPCXfer>();
                        int delta = (int)mapView.delta;
                        npc.DirectionId = (byte)delta;
                    }
                    else if (ThingDb.Things[obj].Xfer == "SentryXfer")
                    {
                        result.NewDefaultExtraData();
                        NoxShared.ObjDataXfer.SentryXfer s = result.GetExtraData <NoxShared.ObjDataXfer.SentryXfer>();
                        float delta = mapView.delta;
                        s.BasePosRadian = (float)delta;
                    }
                    List <Map.Object> listone = new List <Map.Object>();
                    listone.Add(result);
                    objectRenderer.TheHell(g, listone);
                }
            }
        }
Exemple #6
0
 public virtual void SetDefaultData(Map.Object obj)
 {
     obj.NewDefaultExtraData();
 }