예제 #1
0
파일: Seg.cs 프로젝트: VenoMpie/DoomSharp
 public Seg(World world,Vertex start,Vertex end,Linedef linedef,bool isbackside,Angle angle,Fixed offset)
 {
     if (world == null)
         throw new ArgumentNullException("world");
     if (start == null)
         throw new ArgumentNullException("start");
     if (end == null)
         throw new ArgumentNullException("end");
     if (linedef == null)
         throw new ArgumentNullException("linedef");
     if (start.World != world)
         throw new ArgumentException("Start vertex is from another world.");
     if (end.World != world)
         throw new ArgumentException("End vertex is from another world.");
     if (linedef.World != world)
         throw new ArgumentException("Linedef is from another world.");
     this.world = world;
     // TODO :: start
     // TODO :: end
     // TODO :: linedef
     if (!isbackside)
     {
         this.front = linedef.Front;
         this.back = linedef.Back;
     }
     else
     {
         this.front = linedef.Back;
         this.back = linedef.Front;
     }
     // TODO :: angle
     // TODO :: offset
 }
예제 #2
0
 public Vertex(World world,Fixed x,Fixed y)
 {
     if (world == null)
         throw new ArgumentNullException("world");
     this.world = world;
     // TODO :: x
     // TODO :: y
 }
예제 #3
0
 public Blockmap(World world,Fixed xoffset,Fixed yoffset,int width,int height)
 {
     if (world == null)
         throw new ArgumentNullException("world");
     if (width < 0)
         throw new ArgumentOutOfRangeException("width");
     if (height < 0)
         throw new ArgumentOutOfRangeException("height");
     this.world = world;
     this.xoffset = xoffset;
     this.yoffset = yoffset;
     this.width = width;
     this.height = height;
     this.blocks = new Block [width,height];
     for (int x = 0;x < width;x++)
     {
         for (int y = 0;y < height;y++)
         {
             this.blocks[x,y] = new Block(this);
         }
     }
 }
예제 #4
0
파일: Actor.cs 프로젝트: VenoMpie/DoomSharp
 public Actor(World world) : base(world)
 {
     this.linked = false;
     this.block = null;
     this.nextinblock = null;
     this.previnblock = null;
     // TODO :: x
     // TODO :: y
     // TODO :: z
     // TODO :: angle
     // TODO :: spritenum
     // TODO :: spriteframe
     // TODO :: radius
     // TODO :: height
     // TODO :: xmomentum
     // TODO :: ymomentum
     // TODO :: zmomentum
     // TODO :: ticks
     // TODO :: statenum
     // TODO :: special
     // TODO :: solid
     // TODO :: shootable
     // TODO :: nosector
     // TODO :: noblockmap
     // TODO :: ambush
     // TODO :: justhit
     // TODO :: justattacked
     // TODO :: spawnceiling
     // TODO :: nogravity
     // TODO :: dropoff
     // TODO :: pickup
     // TODO :: noclip
     // TODO :: slide
     // TODO :: float
     // TODO :: teleport
     // TODO :: missile
     // TODO :: dropped
     // TODO :: shadow
     // TODO :: noblood
     // TODO :: corpse
     // TODO :: infloat
     // TODO :: countkill
     // TODO :: countitem
     // TODO :: skullfly
     // TODO :: notdmatch
     // TODO :: health
     // TODO :: movementdirection
     // TODO :: movementcount
     // TODO :: target
     // TODO :: reactiontime
     // TODO :: lastlook
     // TODO :: tracer
     this.speed = Fixed.Zero;
     this.mass = 100;
     this.damage = 0;
     this.painchance = 0;
     this.seesoundnum = 0;
     this.activesoundnum = 0;
     this.attacksoundnum = 0;
     this.painsoundnum = 0;
     this.deathsoundnum = 0;
     this.species = GetType();
     this.states = new Dictionary<string,int>();
     DefineState("Spawn",0);
 }
예제 #5
0
 public Seg(World world, Vertex start, Vertex end, Linedef linedef, bool isbackside, Angle angle, Fixed offset)
 {
     if (world == null)
     {
         throw new ArgumentNullException("world");
     }
     if (start == null)
     {
         throw new ArgumentNullException("start");
     }
     if (end == null)
     {
         throw new ArgumentNullException("end");
     }
     if (linedef == null)
     {
         throw new ArgumentNullException("linedef");
     }
     if (start.World != world)
     {
         throw new ArgumentException("Start vertex is from another world.");
     }
     if (end.World != world)
     {
         throw new ArgumentException("End vertex is from another world.");
     }
     if (linedef.World != world)
     {
         throw new ArgumentException("Linedef is from another world.");
     }
     this.world = world;
     // TODO :: start
     // TODO :: end
     // TODO :: linedef
     if (!isbackside)
     {
         this.front = linedef.Front;
         this.back  = linedef.Back;
     }
     else
     {
         this.front = linedef.Back;
         this.back  = linedef.Front;
     }
     // TODO :: angle
     // TODO :: offset
 }