Data/Entity.m

00001 //
00002 //  Entity.m
00003 //  MacTrek
00004 //
00005 //  Created by Aqua on 27/04/2006.
00006 //  Copyright 2006 Luky Soft. All rights reserved.
00007 //
00008 
00009 #import "Entity.h"
00010 
00011 
00012 @implementation Entity
00013 
00014 - (id) init {
00015     self = [super init];
00016     if (self != nil) {
00017         dir = 0;
00018         speed = 0;
00019         position.x = -1000;
00020         position.y = -1000;
00021         showInfo = NO;
00022         fuse = 0;
00023         step = 1;
00024         maxfuse = 100;
00025     }
00026     return self;
00027 }
00028 
00029 - (void) setNetrekFormatCourse:(char)newDir {
00030     // netrek uses a byte 0-255 to represent a course
00031     // we use a float, 0-360
00032     dir = newDir * 360 / 255;
00033     if (dir < 0) {
00034         dir += 360;
00035     } 
00036 }
00037 
00038 - (void) setRequestedCourse:(int)newDir {
00039     requestedDir = newDir;
00040 }
00041 
00042 - (void) setRequestedSpeed:(int)fast {
00043     requestedSpeed = fast;
00044 }
00045 
00046 - (void) setCourse:(int)newDir {
00047     dir = newDir;
00048 }
00049 
00050 - (void) setSpeed:(int)fast {
00051     speed = fast;
00052 }
00053 
00054 - (void) setPosition:(NSPoint)pos {
00055     position = pos;
00056 }
00057 
00058 - (void) setShowInfo:(bool)show {
00059     showInfo = show;
00060 }
00061 
00062 - (NSPoint) predictedPosition {  // extend later
00063     return position;
00064 }
00065 
00066 - (NSPoint) position {
00067     return position;
00068 }
00069 
00070 - (char) netrekFormatCourse {
00071     return (dir * 255 / 360);
00072 }
00073 
00074 - (int) requestedCourse {
00075     return requestedDir;
00076 }
00077 
00078 - (int) requestedSpeed {
00079     return requestedSpeed;
00080 }
00081 
00082 - (int) course {
00083     return dir;
00084 }
00085 
00086 - (int) predictedCourse { // extend later
00087     return dir;
00088 }
00089 
00090 - (float) dirInRad {
00091     // int dir = 0..360 deg
00092     // radians are 0..2xpi
00093     return (dir * pi) / 180;    
00094 }
00095 
00096 - (int) speed {
00097     return speed;
00098 }
00099 
00100 - (bool)showInfo {
00101     return showInfo;
00102 }
00103 
00104 - (int)  fuse {
00105     return fuse;
00106 }
00107 
00108 - (int)  maxfuse {
00109     return maxfuse;
00110 }
00111 
00112 -(void) setMaxFuse:(int)newLevel {
00113     maxfuse = newLevel;
00114 }
00115 
00116 -(void) setFuseStep:(int)newLevel {
00117     step = newLevel;
00118 }
00119 
00120 -(void) setFuse:(int)newLevel {
00121     fuse = newLevel;
00122 }
00123 
00124 - (void) increaseFuse {
00125     fuse += step;
00126 }
00127 
00128 - (void) decreaseFuse {
00129     fuse -= step;
00130 }
00131 
00132 - (void) resetFuse {
00133     fuse = 0;
00134 }
00135 
00136 @end

Generated on Sat Aug 26 21:14:10 2006 for MacTrek by  doxygen 1.4.7