///<inheritdoc/>
        public override int GetHashCode()
        {
            int hash = 17;

            // Overflow is fine, just wrap
            unchecked
            {
                hash = (hash * 29) + PaintScheme.GetHashCode();
                hash = (hash * 29) + Mobility.GetHashCode();
                hash = (hash * 29) + Mission.GetHashCode();
                hash = (hash * 29) + Damage.GetHashCode();
                hash = (hash * 29) + Smoke.GetHashCode();
                hash = (hash * 29) + TrailingEffects.GetHashCode();
                hash = (hash * 29) + Lights.GetHashCode();
                hash = (hash * 29) + Flaming.GetHashCode();
                hash = (hash * 29) + Antenna.GetHashCode();
                hash = (hash * 29) + CamouflageType.GetHashCode();
                hash = (hash * 29) + Concealed.GetHashCode();
                hash = (hash * 29) + FrozenStatus.GetHashCode();
                hash = (hash * 29) + PowerPlantStatus.GetHashCode();
                hash = (hash * 29) + State.GetHashCode();
                hash = (hash * 29) + Tent.GetHashCode();
                hash = (hash * 29) + BlackoutLights.GetHashCode();
                hash = (hash * 29) + InteriorLights.GetHashCode();
            }

            return(hash);
        }
Ejemplo n.º 2
0
        public void Count()
        {
            antenna = new Antenna()
            {
                NumberOfMeasurement = NumberOfMeasurement,
                TimeUnit = TimeUnit,
                RealSpeed = RealSpeed,
                AbstractSpeed = AbstractSpeed,
                SignalPeriod = SignalPeriod,
                BasicSignals = BasicSignals,
                SamplingFrequency = SamplingFrequency,
                BuffersLength = BuffersLength,
                ReportingPeriod = ReportingPeriod
            };

            OriginalList = antenna.GetOriginalDistance();
            CountedList = antenna.CountDistances();
            DiffrenceList = antenna.CountDiffrence(OriginalList, CountedList);

            DrawCharts(antenna);

            OnPropertyChanged(nameof(OriginalList));
            OnPropertyChanged(nameof(CountedList));
            OnPropertyChanged(nameof(DiffrenceList));
        }
Ejemplo n.º 3
0
    public void SetTarget()
    {
        if (target != null && target.owners == ia.player.team && target.capturePoints >= Antenna.CAPTURE_POINTS_TARGET)
        {
            target = null;
        }

        if (target == null)
        {
            float prox = 50000f;

            foreach (Antenna a in ia.gameManager.antennas)
            {
                if (a.owners != ia.player.team || a.capturePoints < (9 * Antenna.CAPTURE_POINTS_TARGET / 10))
                {
                    float dist = Vector3.Distance(ia.gameObject.transform.position, a.gameObject.transform.position);
                    if (dist < prox)
                    {
                        target = a;
                        prox   = dist;
                    }
                }
            }
        }
        if (target != null)
        {
            ia.SetNavTarget(target.gameObject.transform.position);
        }
    }
Ejemplo n.º 4
0
        public void iAddAntenna(Antenna antenna) //向数据库中增加天线信息
        {
            string         cnStr = ConfigurationManager.ConnectionStrings["sqlProviderParallelTask"].ConnectionString;
            TransmitterLib tm    = new TransmitterLib(cnStr);

            try
            {
                bool     flag         = false;
                string[] antennaNames = tm.GetAntennaNames();
                if (antennaNames != null)
                {
                    foreach (string name in antennaNames)
                    {
                        if (name == antenna.Name)
                        {
                            flag = true;
                            break;
                        }
                    }
                }
                if (!flag)
                {
                    tm.AddAntenna(antenna);
                }
            }
            catch (SqlException e)
            {
                WcfException ex = new WcfException();
                ex.message = e.Message;
                throw new FaultException <WcfException>(ex, ex.message);
            }
        }
Ejemplo n.º 5
0
 private void R440OForm_FormClosing(object sender, FormClosingEventArgs e)
 {
     Antenna.StopServerPing();
     LearnMain.CloseHelper();
     TestMain.close -= Close;
     SetDefaultParameters();
 }
Ejemplo n.º 6
0
    public override void Update()
    {
        value = MIN_VALUE;

        Antenna closestOk = null;
        float   prox      = MAX_DISTANCE + 1f;
        int     count     = 0;

        foreach (Antenna a in ia.gameManager.antennas)
        {
            if (a.owners != ia.player.team || a.capturePoints < (9 * Antenna.CAPTURE_POINTS_TARGET / 10))
            {
                count++;
                float dist = Vector3.Distance(ia.gameObject.transform.position, a.gameObject.transform.position);
                if (dist < prox)
                {
                    closestOk = a;
                    prox      = dist;
                }
            }
        }

        value += Mathf.Max(0f, MAX_DISTANCE - prox) / DISTANCE_DIVIDER;
        value *= Mathf.Log(1 + count);
    }
Ejemplo n.º 7
0
        private void calculateLoSRH()
        {
            Antenna ant = new Antenna();

            ant.LoS(losrhbox, losout);
            ant.RH(losrhbox, rhout);
        }
Ejemplo n.º 8
0
        public IHttpActionResult PutAntenna(int id, Antenna antenna)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != antenna.AntennaID)
            {
                return(BadRequest());
            }

            db.Entry(antenna).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!AntennaExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
        //These methods are for edit pages
        public async Task <IActionResult> BeforeEdit(Guid id)
        {
            //get session id (we will use it when updating data and handling errors)
            String sessionID_s = HttpContext.Session.GetString("Session");
            Guid   sessionID   = Guid.Parse(sessionID_s);
            Data   current     = new Data();

            Program.data.TryGetValue(sessionID, out current);

            //control if current did not came
            if (current != null)
            {
                //Because we use the same view before and after edit process we should handle the view messages with the following conditions
                if (current.edited)
                {
                    ViewData["Message"] = "Update completed successfully";
                    current.edited      = false;
                }
                if (current.message != null)
                {
                    ViewData["Message"] = current.message;
                    current.message     = null;
                }
            }
            else
            {
                ViewData["Message"] = "An error occured please restart the program";
            }

            Antenna a = await _session.Antennas.Where(b => b.ID.Equals(id)).FirstOrDefaultAsync();

            return(View(a));
        }
Ejemplo n.º 10
0
 public void Antenna_Constructor_NoRoverEngine_ArgumentNullException()
 {
     Assert.Throws <ArgumentNullException>(() =>
     {
         var antenna = new Antenna(_mockNavigationConfig.Object, null);
     });
 }
Ejemplo n.º 11
0
        private void DrawCharts(Antenna antenna)
        {
            var mapper = Mappers.Xy<Point>()
                .X(value => value.X)
                .Y(value => value.Y);

            ChartValues<Point> values1 = new ChartValues<Point>();
            ChartValues<Point> values2 = new ChartValues<Point>();
            ChartValues<Point> values3 = new ChartValues<Point>();

            for (int i = 0; i < antenna.ProbingSignal.Count; i++)
                values1.Add(new Point(i, antenna.ProbingSignal[i]));

            for (int i = 0; i < antenna.FeedbackSignal.Count; i++)
                values2.Add(new Point(i, antenna.FeedbackSignal[i]));

            for (int i = 0; i < antenna.CorrelationSamples.Count; i++)
                values3.Add(new Point(i, antenna.CorrelationSamples[i]));

            Chart1 = new SeriesCollection(mapper)
            {
                new LineSeries()
                {
                    PointGeometry = null,
                    StrokeThickness = 2,
                    Values = values1,
                    Fill = Brushes.Transparent,
                    Stroke = (SolidColorBrush)(new BrushConverter().ConvertFrom("#26A0DA"))
                }
            };

            Chart2 = new SeriesCollection(mapper)
            {
                new LineSeries()
                {
                    PointGeometry = null,
                    StrokeThickness = 2,
                    Values = values2,
                    Fill = Brushes.Transparent,
                    Stroke = (SolidColorBrush)(new BrushConverter().ConvertFrom("#26A0DA"))
                }
            };

            Chart3 = new SeriesCollection(mapper)
            {
                new LineSeries()
                {
                    PointGeometry = null,
                    StrokeThickness = 2,
                    Values = values3,
                    Fill = Brushes.Transparent,
                    Stroke = (SolidColorBrush)(new BrushConverter().ConvertFrom("#26A0DA"))
                }
            };

            OnPropertyChanged(nameof(Chart1));
            OnPropertyChanged(nameof(Chart2));
            OnPropertyChanged(nameof(Chart3));
        }
Ejemplo n.º 12
0
 public void Antenna_Move_InvalidInstructionInSet_Exception()
 {
     Assert.Throws <Exception>(() =>
     {
         var antenna = new Antenna(_mockNavigationConfig.Object, _mockRoverEngine.Object);
         var result  = antenna.Move("FBWL");
     }, "There's an invalid instruction in set FBWL!");
 }
Ejemplo n.º 13
0
 private void R440OForm_FormClosed(object sender, FormClosedEventArgs e)
 {
     Antenna.StopServerPing();
     if (FormClosedEvent != null)
     {
         FormClosedEvent();
     }
 }
Ejemplo n.º 14
0
        public void Antenna_Move_InstructionsEmpty_Exception()
        {
            Assert.Throws <Exception>(() =>
            {
                var antenna = new Antenna(_mockNavigationConfig.Object, _mockRoverEngine.Object);

                var result = antenna.Move(" ");
            }, "The instructions cannot be empty!");
        }
        public async Task <IActionResult> Preliminary()
        {
            sessionID_s = HttpContext.Session.GetString("Session");
            sessionID   = Guid.Parse(sessionID_s);

            Data d = new Data();

            Program.data.TryGetValue(sessionID, out d);

            Antenna antenna = new Antenna();

            //control if current did not came
            if (d != null)
            {
                if (d.ComeFromAdd)
                {
                    antenna.IsFirstAntenna = false;
                    antenna.receiver_id    = d.Receiver.ID;
                    antenna.transmitter_id = d.Transmitter.ID;
                    antenna.ComeFromAdd    = true;
                }
                //not first antenna case
                else if (d.LastAntenna != null)
                {
                    //copy last added antenna's informations to this so we can arrange different values
                    antenna = d.LastAntenna;
                    antenna.IsFirstAntenna = false;
                    if (d.Transmitter != null)
                    {
                        antenna.transmitter_id = d.Transmitter.ID;
                    }
                    else
                    {
                        antenna.transmitter_id = Guid.Empty;
                    }
                }
                //first antenna case
                else
                {
                    antenna.transmitter_id = Guid.Empty;
                    antenna.IsFirstAntenna = true;
                    antenna.receiver_id    = d.Receiver.ID;
                }

                if (!string.IsNullOrEmpty(d.message))
                {
                    ViewData["message"] = d.message;
                }
            }
            else //error case
            {
                return(RedirectToAction("NewReceiver", "Receiver"));
            }

            return(View(antenna));
        }
Ejemplo n.º 16
0
        public void Antenna_Move_L_CallTurnLeft()
        {
            _mockRoverEngine.Setup(m => m.TurnLeft()).Returns(new MoveResult(new Position(1, 1, EDirection.W), false));

            var antenna = new Antenna(_mockNavigationConfig.Object, _mockRoverEngine.Object);

            antenna.Move("L");

            _mockRoverEngine.Verify(m => m.TurnLeft(), Times.Once);
        }
Ejemplo n.º 17
0
        public void Maintain()
        {
            Antenna antenna = new Antenna();

            antenna.Maintain();
            int expectedAction = (int)actions.Maintain;
            int actualAction   = (int)antenna.Action;

            Assert.AreEqual(expectedAction, actualAction);
        }
Ejemplo n.º 18
0
        public void ProductID()
        {
            Antenna antenna = new Antenna();

            antenna.ProductID = "firstid";
            string expectedProductID = "firstid";
            string actualProductID   = antenna.ProductID;

            Assert.AreEqual(expectedProductID, actualProductID);
        }
Ejemplo n.º 19
0
        public void Install()
        {
            Antenna antenna = new Antenna();

            antenna.Install();
            int expectedAction = (int)actions.Install;
            int actualAction   = (int)antenna.Action;

            Assert.AreEqual(expectedAction, actualAction);
        }
Ejemplo n.º 20
0
        public void Remove()
        {
            Antenna antenna = new Antenna();

            antenna.Remove();
            int expectedAction = (int)actions.Remove;
            int actualAction   = (int)antenna.Action;

            Assert.AreEqual(expectedAction, actualAction);
        }
Ejemplo n.º 21
0
            public override int GetHashCode()
            {
                const int prime  = 37;
                var       result = 17;

                result = result * prime + Epc.GetHashCode();
                result = result * prime + Antenna.GetHashCode();
                result = result * prime + ChannalIndex.GetHashCode();
                return(result);
            }
Ejemplo n.º 22
0
        public void InstallationID()
        {
            Antenna antenna = new Antenna();

            antenna.InstallationID = "firstid";
            string expectedInstallationID = "firstid";
            string actualInstallationID   = antenna.InstallationID;

            Assert.AreEqual(expectedInstallationID, actualInstallationID);
        }
Ejemplo n.º 23
0
        public async Task <IActionResult> ConfirmDeleteFromAntennas_list(int?id)
        {
            if (id != null)
            {
                Antenna find_part = await PartsContext.Antennas.FirstOrDefaultAsync(p => p.Id == id);

                return(DeleteView(find_part, "Antennas_list"));
            }
            return(NotFound());
        }
Ejemplo n.º 24
0
        public void CreateParametrizedAntennaTest()
        {
            Antenna testEl = new Antenna("Test", "SimpleTest", 2, 8);

            Assert.AreEqual("Test", testEl.Name);
            Assert.AreEqual("SimpleTest", testEl.Description);
            Assert.AreEqual(2, testEl.EntryPrice);
            Assert.AreEqual(8, testEl.Price);
            Assert.AreEqual(4, testEl.Coefficient);
        }
Ejemplo n.º 25
0
        /// <summary>
        /// Инициализирует новый экземпляр класса <see cref="R440OForm"/>
        /// </summary>
        public R440OForm()
        {
            this.InitializeComponent();
            Antenna.StartServerPing();
            Antenna.ErrorEvent += ServerError;
            TextHelperForm textHelper = new TextHelperForm();

            textHelper.Show();
            LearnMain.setHelpForms(this, textHelper);
            LearnMain.setIntent(ModulesEnum.openPowerCabeltoPower);
        }
Ejemplo n.º 26
0
        public IHttpActionResult GetAntenna(int id)
        {
            Antenna antenna = db.Antennae.Find(id);

            if (antenna == null)
            {
                return(NotFound());
            }

            return(Ok(antenna));
        }
Ejemplo n.º 27
0
 public override string ToString()
 {
     return(String.Join("", new string[] {
         "", "No.", SerialNumber.ToString(),
         " ", "EPC:", EPC,
         " ", "ant:", Antenna.ToString(),
         " ", "rssi:", RSSI.ToString(),
         " ", "count:", ReadCount.ToString(),
         " ", "time:", TimeStamp.ToString("yyyy-MM-dd'T'HH:mm:ss.fffK"),
     }));
 }
Ejemplo n.º 28
0
        public IHttpActionResult PostAntenna(Antenna antenna)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Antennae.Add(antenna);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = antenna.AntennaID }, antenna));
        }
Ejemplo n.º 29
0
 public void CreateEmptyElemetsTest()
 {
     Server      server      = new Server();
     SDU         sdu         = new SDU();
     Converter   converter   = new Converter();
     Receiver    receiver    = new Receiver();
     SedovServer sedovServer = new SedovServer();
     Clock       clock       = new Clock();
     Cable       cable       = new Cable();
     Antenna     antenna     = new Antenna();
     Misc        misc        = new Misc();
 }
Ejemplo n.º 30
0
    void Awake()
    {
        logging = GameObject.Find("Text").GetComponent <logging>();
        antenna = GameObject.Find("AntennaObject").GetComponent <Antenna>();
        antenna.DisplayNewGridEvent += OnDisplayNewGridEvent;
        antenna.WinEvent            += OnGameOverEvent;

        changeColor        = gameObject.GetComponent <changeColor>();
        changeColor.colors = antenna.colors;

        SetCoord();
    }
Ejemplo n.º 31
0
 public PhyConstellationData(Antenna ant, EqPosition eq, bool PLL_Debug)
 {
     this.antenna = ant;
     this.eqPosition = eq;
     this.baseAddress = baseAddr[(int)ant];
     if (eq == EqPosition.AFTER)
     {
         if (PLL_Debug)
         { this.baseAddress = baseAddr_PLL[(int)ant] + AFTER_EQ_OFFSET_PLL ; }
         else
         { this.baseAddress = baseAddr[(int)ant] + AFTER_EQ_OFFSET; }
     }
     this.dataCollected = 0;
     this.fileName = fileRoot[(int)ant] + fileSuffix[(int)eq];
     this.data = new UInt32[CONSTELLATION_ARRAY_LEN];
 }     
Ejemplo n.º 32
0
	void Update(){
		//have power and have tower need power
		if (TowerBuildManager._instance.GetCurrentPowerNum () >= 0) {
			foreach(Character chara in TowerBuildManager._instance.GetNeedPowerTowers()){
				//find the provider power tower in the range
				foreach(Antenna ant in TowerBuildManager._instance.GetAntennaList()){
					//in the range and the antenna have enough power to translate
					if(Vector3.Distance(ant.GetPos(),chara.GetPos()) <= ant.GetAttackRange()
				  	 && ((ant.GetMaxPower() - ant.GetCurrentPower()) >= chara.GetNeedPower() 
					    || chara.GetPowerProvider() != null)){
						currentProviderRemain = ant.GetMaxPower() - ant.GetCurrentPower();
						if(largestPowerProvider == -1){
							largestPowerProvider = currentProviderRemain;
							currentAntenna = ant;
						}
						//if equal, do not change current provider
						if(largestPowerProvider == currentProviderRemain && chara.GetPowerProvider() != null){
							currentAntenna = chara.GetPowerProvider();
						}
						//find the antenna with the most power
						if(largestPowerProvider < currentProviderRemain){
							largestPowerProvider = currentProviderRemain;
							currentAntenna = ant;
						}
					}
				}
				//see if there is a antenna can provider power
				if(currentAntenna != null && largestPowerProvider != -1){
					//have not been powered before
					if(chara.GetPowerProvider() == null){
						//use the power
						if(TowerBuildManager._instance.GetCurrentPowerNum () - chara.GetNeedPower() >= 0){
							//provide power to the tower
							//set to the antenna provide tower list
							currentAntenna.AddToProvidePowerTowerList(chara);
							TowerBuildManager._instance.UseCurrentPowerNum(chara.GetNeedPower());
							//antenna number decrease
							currentAntenna.UsePower(chara.GetNeedPower());
							//set the provider antenna
							chara.SetPowerProvider(currentAntenna);
						}
					}
					//have powered before
					else if(chara.GetPowerProvider() != null){
						//already powered before
						//just change the parent, no need to use power again
						//origin provider and current provider
					
							//give back the power to the original provider
							chara.GetPowerProvider().AddPower(chara.GetNeedPower());
							//remove from the original antenna provide power tower list
							chara.GetPowerProvider().RemoveFromProvidePowerTowerList(chara);
							//use the power in the new antenna
							currentAntenna.UsePower(chara.GetNeedPower());
							//set the provider to the new antenna
							chara.SetPowerProvider(currentAntenna);
							//set to the new antenna provide power tower list
							currentAntenna.AddToProvidePowerTowerList(chara);

					}
				}
				//no antenna in the range and if already powered need to return the power
				else if(currentAntenna == null && largestPowerProvider != -1){
					//if already powered need to return the power, set the provider null
					if(chara.GetPowerProvider() != null){
						//return the power to the generator
						TowerBuildManager._instance.AddPower(chara.GetNeedPower());
						//return power to the antenna
						chara.GetPowerProvider().AddPower(chara.GetNeedPower());
						//set the provider null
						chara.SetPowerProvider(null);
					} 
					//if not powered before and not antenna in the range, do nothing
					else if(chara.GetPowerProvider() == null){

					}
				}
				currentAntenna = null;
				largestPowerProvider = -1;
		}
//		if(TowerBuildManager._instance.GetAntennaList().Count > 0){
//			 TowerBuildManager._instance.GetCurrentPowerNum ();
//			//has enough power and the current antenna has got no power before
//			if( TowerBuildManager._instance.GetCurrentPowerNum () >= antennaNeedPower ){
//				((Antenna)TowerBuildManager._instance.GetAntennaList()[0]).SetCurrentPower(antennaNeedPower);
//				((Antenna)TowerBuildManager._instance.GetAntennaList()[0]).SetAniActive();
//				description = "this tower supply power to nearby towers\n"+"Current Power: "+((Antenna)TowerBuildManager._instance.GetAntennaList()[0]).GetCurrentPower();
//				//TowerBuildManager._instance.GetAntennaList()[0].Destroy();
//				hasPoweredAntenna.Add((TowerBuildManager._instance.GetAntennaList()[0]));
//				TowerBuildManager._instance.GetAntennaList().RemoveAt(0);
//				TowerBuildManager._instance.UseCurrentPowerNum (antennaNeedPower);
//				TowerBuildManager._instance.SetPanel(description);
//			} 
//		}
	}
}
Ejemplo n.º 33
0
	public Character SpawnCharacter(CharacterData.CharacterClassType classType, int charModeType, int camp, int level, Vector3 pos, Vector3 dir, CharacterStatus.Pose pose){
		this.START_METHOD("SpawnCharacter");
		Character tempChar = null;
		//create the enemies
		if (classType == CharacterData.CharacterClassType.CHARACTER) {
			//create the enemy
			if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.BOWMAN){
				Bowman chara = new Bowman();
				chara.SetArmor(armorList[0]);
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			}
//			} else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.GIANT){
//				Gaint chara = new Gaint("giant");
//				SetEnemy(chara,pos,dir,camp,pose,0.02f,20);
//				tempChar = chara;
//			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.VIKING){
				Viking chara = new Viking();
				chara.SetArmor(armorList[1]);
				SetEnemy(chara,pos,dir,camp,pose,0.02f,30);
				tempChar = chara;
			}
			//create enemy2
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY2){
				Gaint chara = new Gaint("enemy2");
				chara.SetArmor(armorList[2]);
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			//enemy3
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY3){
				Gaint chara = new Gaint("enemy3");
				chara.SetArmor(armorList[3]);
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			//enemy4
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY4){
				Gaint chara = new Gaint("enemy4");
				chara.SetArmor(armorList[4]);
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY5){
				Gaint chara = new Gaint("enemy5");
				chara.SetArmor(armorList[5]);
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY6){
				Gaint chara = new Gaint("enemy6");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY7){
				Gaint chara = new Gaint("enemy7");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY8){
				Gaint chara = new Gaint("enemy8");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY9){
				Gaint chara = new Gaint("enemy9");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY10){
				Gaint chara = new Gaint("enemy10");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY11){
				Gaint chara = new Gaint("enemy11");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY12){
				Gaint chara = new Gaint("enemy12");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY13){
				Gaint chara = new Gaint("enemy13");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY14){
				Gaint chara = new Gaint("enemy14");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY15){
				Gaint chara = new Gaint("enemy15");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY16){
				Gaint chara = new Gaint("enemy16");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY17){
				Gaint chara = new Gaint("enemy17");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 

			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY19){
				Gaint chara = new Gaint("enemy19");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY20){
				Gaint chara = new Gaint("enemy20");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY21){
				Gaint chara = new Gaint("enemy21");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY22){
				Gaint chara = new Gaint("enemy22");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 

			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY24){
				Gaint chara = new Gaint("enemy24");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY25){
				Gaint chara = new Gaint("enemy25");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 

			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY27){
				Gaint chara = new Gaint("enemy27");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY28){
				Gaint chara = new Gaint("enemy28");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY30){
				Gaint chara = new Gaint("enemy30");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY31){
				Gaint chara = new Gaint("enemy31");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY32){
				Gaint chara = new Gaint("enemy32");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY33){
				Gaint chara = new Gaint("enemy33");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY34){
				Gaint chara = new Gaint("enemy34");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY35){
				Gaint chara = new Gaint("enemy35");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY36){
				Gaint chara = new Gaint("enemy36");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY37){
				Gaint chara = new Gaint("enemy37");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY38){
				Gaint chara = new Gaint("enemy38");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY39){
				Gaint chara = new Gaint("enemy39");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 

			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY41){
				Gaint chara = new Gaint("enemy41");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 

			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY43){
				Gaint chara = new Gaint("enemy43");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY44){
				Gaint chara = new Gaint("enemy44");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY45){
				Gaint chara = new Gaint("enemy45");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY46){
				Gaint chara = new Gaint("enemy46");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.BOSS1){
				Gaint chara = new Gaint("boss1");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.BOSS2){
				Gaint chara = new Gaint("boss2");
				SetEnemy(chara,pos,dir,camp,pose,0.02f,10);
				tempChar = chara;
			} 


			//used enemies model
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY18){
				Gaint chara = new Gaint("enemy18");
				chara.SetArmor(armorList[0]);
				chara.SetIsPonsion(false);
				SetEnemy(chara,pos,dir,camp,pose,0.02f,hpList[0]);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY23){
				Gaint chara = new Gaint("enemy23");
				chara.SetArmor(armorList[1]);
				chara.SetIsPonsion(false);
				SetEnemy(chara,pos,dir,camp,pose,0.02f,hpList[1]);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY26){
				Gaint chara = new Gaint("enemy26");
				chara.SetArmor(armorList[2]);
				chara.SetIsPonsion(false);
				SetEnemy(chara,pos,dir,camp,pose,0.02f,hpList[2]);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY29){
				Gaint chara = new Gaint("enemy29");
				chara.SetArmor(armorList[3]);
				chara.SetIsPonsion(false);
				SetEnemy(chara,pos,dir,camp,pose,0.02f,hpList[3]);
				tempChar = chara;
			}
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY40){
				Gaint chara = new Gaint("enemy40");
				chara.SetArmor(armorList[4]);
				chara.SetIsPonsion(false);
				SetEnemy(chara,pos,dir,camp,pose,0.02f,hpList[4]);
				tempChar = chara;
			} 
			else if((CharacterData.CharacterModel)charModeType == CharacterData.CharacterModel.ENEMY42){
				Gaint chara = new Gaint("enemy42");
				chara.SetArmor(armorList[5]);
				chara.SetIsPonsion(false);
				SetEnemy(chara,pos,dir,camp,pose,0.02f,hpList[5]);
				tempChar = chara;
			} 


			if(tempChar != null){
				chars.Add(tempChar);
			} else {
				throw new UnityException("no current char type to spawn!");
			}
		}
		//create the building
		else if (classType == CharacterData.CharacterClassType.BUILDING) {
			//create the barrack to gather resources
			if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.BARRACK){
				TowerBarrack character = new TowerBarrack();
				character.SetPos(pos);
				character.SetDir(dir);
				character.SetCamp(camp);
				tempChar = character;
			} else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.CANNON){
				Cannon character = new Cannon();
				character.SetPos(pos);
				character.SetDir(dir);
				character.SetPose (pose);
				character.SetCamp(camp);
				//set attack power
				character.SetAttackPower(50);
				tempChar = character;
			}
			//Tower01
			else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.TOWER1){
				Tower1 character = new Tower1();
				character.SetAttackRange(2.25f);
				character.SetLevel(1);
				character.SetPos(pos);
				character.SetDir(dir);
				character.SetPose (pose);
				character.SetCamp(camp);
				character.SetAttackRate(1f);
				character.SetNeedPower(towerPowerList[0]);
				//set attack power
				character.SetAttackPower(tower1AttackNumber);
				tempChar = character;
			}
			//Tower02
			else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.TOWER2){
				Tower2 character = new Tower2();
				character.SetAttackRange(2);
				character.SetLevel(1);
				character.SetPos(pos);
				character.SetDir(dir);
				character.SetPose (pose);
				character.SetCamp(camp);
				character.SetAttackRate(1f);
				character.SetNeedPower(towerPowerList[1]);
				//set attack power
				character.SetAttackPower(tower2AttackNumber);
				tempChar = character;
			}
			//Tower4
			else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.TOWER4){
				Tower4 character = new Tower4();
				character.SetAttackRange(2);
				character.SetLevel(1);
				character.SetPos(pos);
				character.SetDir(dir);
				character.SetPose(pose);
				character.SetCamp(camp);
				character.SetNeedPower(towerPowerList[2]);
				tempChar = character;
			}
			//Tower7
			else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.TOWER7){
				Tower7 character = new Tower7();
				character.SetAttackRange(2.5f);
				character.SetLevel(1);
				character.SetPos(pos);
				character.SetDir(dir);
				character.SetPose(pose);
				character.SetCamp(camp);
				character.SetAttackPower(tower7AttackNumber);
				character.SetAttackRate(1f);
				character.SetNeedPower(towerPowerList[3]);
				tempChar = character;
			}
			//Tower10
			else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.TOWER10){
				Tower10 character = new Tower10();
				character.SetAttackRange(2.5f);
				character.SetLevel(1);
				character.SetPos(pos);
				character.SetDir(dir);
				character.SetPose(pose);
				character.SetCamp(camp);
				character.SetAttackPower(tower10AttackNumber);
				character.SetAttackRate(1f);
				character.SetNeedPower(towerPowerList[4]);
				tempChar = character;
			}
			//Research
			else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.LAB){
				Research character = new Research();
				character.SetLevel(1);
				character.SetPos(pos);
				character.SetPose(pose);
				character.SetCamp(camp);
				tempChar = character;
			}
			//Diamond Resource
			else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.DIAMOND){
				DiamondResource character = new DiamondResource();
				character.SetPos(pos);
				character.SetPose(pose);
				character.SetCamp(camp);
				tempChar = character;
			}
			//Small Mine
			else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.MINE1){
				SmallMine character = new SmallMine();
				character.SetPos(pos);
				character.SetPose(pose);
				character.SetCamp(camp);
				tempChar = character;
			}
			//Large Mine
			else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.MINE2){
				LargeMine character = new LargeMine();
				character.SetPos(pos);
				character.SetPose(pose);
				character.SetCamp(camp);
				tempChar = character;
			}
			//Small Geneator
			else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.GENERATOR1){
				SmallGeneator character = new SmallGeneator();
				character.SetPos(pos);
				character.SetPose(pose);
				character.SetCamp(camp);
				tempChar = character;
			}
			//Large Geneator
			else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.GENERATOR2){
				LargeGeneator character = new LargeGeneator();
				character.SetPos(pos);
				character.SetPose(pose);
				character.SetCamp(camp);
				tempChar = character;
			}
			//Targeting Facility
			else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.TARGETING){
				TargetingFacility character = new TargetingFacility();
				character.SetPos(pos);
				character.SetPose(pose);
				character.SetCamp(camp);
				character.SetAttackRange(1);
				character.SetNeedPower(towerPowerList[5]);
				tempChar = character;
			}
			//Super Capacitor
			else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.CAPACITOR){
				SuperCapacitor character = new SuperCapacitor();
				character.SetPos(pos);
				character.SetPose(pose);
				character.SetCamp(camp);
				character.SetAttackRange(1);
				character.SetNeedPower(towerPowerList[6]);
				tempChar = character;
			}
			//Alien Recovery
			else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.ALIEN){
				AlienRecovery character = new AlienRecovery();
				character.SetPos(pos);
				character.SetPose(pose);
				character.SetCamp(camp);
				character.SetAttackRange(2);
				tempChar = character;
			}
			//Antenna
			else if((CharacterData.buildingMode)charModeType == CharacterData.buildingMode.ANTENNA){
				Antenna character = new Antenna();
				character.SetPos(pos);
				character.SetPose(pose);
				character.SetCamp(camp);
				character.SetAttackRange(antennaRange);
				tempChar = character;
			}
			//created the tower, add to the building list
			if(tempChar != null){
				building.Add(tempChar);
			} else { 
				throw new UnityException("no current building type to spawn!");
			}
		}
		//add to the all character list
		allCharacter.Add (tempChar);
		this.END_METHOD("SpawnCharacter");
		return tempChar;
	}