Пример #1
0
    public void LaunchThorpede(MissleSide side, Object beh)
    {
        if (side == MissleSide.FRIENDLY)
        {
            friendlyInstance = (FriendlySpaceship)beh;
            misTmp           = getFreeThorpede(side);

            misTmp.gameObject.transform.position    = friendlyInstance.MisslesLaunchPoint.transform.position;
            misTmp.gameObject.transform.eulerAngles = new Vector3(270, friendlyInstance.transform.eulerAngles.y, 0);
            misTmp.Activate();
            misTmp.hideIcon();
            misTmp.gameObject.SetActive(true);
            activeFriendlyThorpedes.Add(misTmp);
        }
        if (side == MissleSide.ENEMY)
        {
            enemyInstance = (EnemySpaceship)beh;
            misTmp        = getFreeThorpede(side);
            misTmp.gameObject.transform.position    = enemyInstance.MissleLaunchPos.transform.position;
            misTmp.gameObject.transform.eulerAngles = new Vector3(270, enemyInstance.transform.eulerAngles.y, 0);
            misTmp.Activate();
            misTmp.gameObject.SetActive(true);
            activeEnemyThorpeds.Add(misTmp);
        }
    }
Пример #2
0
 public void createPoolObjects(MissleSide side, MissleType type, int count)
 {
     for (i = 0; i < count; i++)
     {
         createPoolObjects(side, type);
     }
 }
Пример #3
0
 public void LaunchGas(MissleSide side, Object beh)
 {
     if (side == MissleSide.FRIENDLY)
     {
         friendlyInstance = (FriendlySpaceship)beh;
         misTmp           = getFreeGas(side);
         misTmp.gameObject.transform.position    = friendlyInstance.transform.position;
         misTmp.gameObject.transform.eulerAngles = new Vector3(270, friendlyInstance.transform.eulerAngles.y, 0);
         misTmp.Activate();
         misTmp.gameObject.SetActive(true);
         activeFriendlyGasList.Add(misTmp);
     }
     if (side == MissleSide.ENEMY)
     {
         enemyInstance = (EnemySpaceship)beh;
         misTmp        = getFreeGas(side);
         misTmp.gameObject.transform.position    = enemyInstance.transform.position;
         misTmp.gameObject.transform.eulerAngles = new Vector3(270, enemyInstance.transform.eulerAngles.y, 0);
         misTmp.Activate();
         misTmp.gameObject.SetActive(true);
         activeEnemyGasList.Add(misTmp);
     }
 }
Пример #4
0
 private MissleBehaviour getFreeThorpede(MissleSide side)
 {
     if (side == MissleSide.FRIENDLY)
     {
         foreach (MissleBehaviour missle in friendlyThorpeds)
         {
             misTmp = missle;
             break;
         }
         friendlyThorpeds.Remove(misTmp);
         return(misTmp);
     }
     if (side == MissleSide.ENEMY)
     {
         foreach (MissleBehaviour missle in enemyThorpeds)
         {
             misTmp = missle;
             break;
         }
         enemyThorpeds.Remove(misTmp);
         return(misTmp);
     }
     return(null);
 }
Пример #5
0
	public void LaunchMine(MissleSide side, Object beh)
	{
		if(side==MissleSide.FRIENDLY)
		{
			friendlyInstance=(FriendlySpaceship) beh;
			misTmp=getFreeMine(side);
			misTmp.gameObject.transform.position=friendlyInstance.transform.position;
			misTmp.gameObject.transform.eulerAngles=new Vector3(270,friendlyInstance.transform.eulerAngles.y,0);
			misTmp.Activate();
			misTmp.gameObject.SetActive(true);
			activeFriendlyMinesList.Add(misTmp);
		}
		if(side==MissleSide.ENEMY)
		{
			enemyInstance=(EnemySpaceship) beh;
			misTmp=getFreeMine(side);
			misTmp.gameObject.transform.position=enemyInstance.transform.position;
			misTmp.gameObject.transform.eulerAngles=new Vector3(270,enemyInstance.transform.eulerAngles.y,0);
			misTmp.Activate();
			misTmp.gameObject.SetActive(true);
			activeEnemyMinesList.Add(misTmp);
		}
	}
Пример #6
0
	private MissleBehaviour getFreeThorpede(MissleSide side)
	{
		if(side==MissleSide.FRIENDLY)
		{
			foreach(MissleBehaviour missle in friendlyThorpeds)
			{
				misTmp=missle;
				break;
			}
			friendlyThorpeds.Remove(misTmp);
			return misTmp;
		}
		if(side==MissleSide.ENEMY)
		{
			foreach(MissleBehaviour missle in enemyThorpeds)
			{
				misTmp=missle;
				break;
			}
			enemyThorpeds.Remove(misTmp);
			return misTmp;
		}
		return null;
	}
Пример #7
0
	public void createPoolObjects(MissleSide side, MissleType type)
	{
		switch(type)
		{
			case MissleType.ROCKET:
				if(side==MissleSide.FRIENDLY)
				{
					tmp=(GameObject) GameObject.Instantiate(friendlyRocketPrefab,stackPos,Quaternion.identity);
					tmp.SetActive(false);
					friendlyRockets.Add(tmp.GetComponent<MissleBehaviour>());
				}
				else if(side==MissleSide.ENEMY)
				{
					tmp=(GameObject) GameObject.Instantiate(enemyRocketPrefab,stackPos,Quaternion.identity);
					tmp.SetActive(false);
					enemyRockets.Add(tmp.GetComponent<MissleBehaviour>());
				}
				break;
				
			case MissleType.THORPEDE:
				if(side==MissleSide.FRIENDLY)
				{
					tmp=(GameObject) GameObject.Instantiate(friendlyThorpedePrefab,stackPos,Quaternion.identity);
					tmp.SetActive(false);
					friendlyThorpeds.Add(tmp.GetComponent<MissleBehaviour>());
				}
				else if(side==MissleSide.ENEMY)
				{
					tmp=(GameObject) GameObject.Instantiate(enemyThorpedePrefab,stackPos,Quaternion.identity);
					tmp.SetActive(false);
					enemyThorpeds.Add(tmp.GetComponent<MissleBehaviour>());
				}
				break;
				
			case MissleType.GAS:
				tmp=(GameObject) GameObject.Instantiate(gasPrefab,stackPos,Quaternion.identity);
				tmp.SetActive(false);
				tmp.GetComponent<MissleBehaviour>().side=side;
				if(side==MissleSide.FRIENDLY)
					friendlyGasList.Add(tmp.GetComponent<MissleBehaviour>());
				else if(side==MissleSide.ENEMY)
					enemyGasList.Add(tmp.GetComponent<MissleBehaviour>());
				break;
				
			case MissleType.MINES:
				tmp=(GameObject) GameObject.Instantiate(minePrefab,stackPos,Quaternion.identity);
				tmp.SetActive(false);
				tmp.GetComponent<MissleBehaviour>().side=side;
				if(side==MissleSide.FRIENDLY)
					friendlyMinesList.Add(tmp.GetComponent<MissleBehaviour>());
				else if(side==MissleSide.ENEMY)
					enemyMinesList.Add(tmp.GetComponent<MissleBehaviour>());
				break;
		}
	}
Пример #8
0
	public void createPoolObjects(MissleSide side, MissleType type, int count)
	{
		for(i=0;i<count;i++)
			createPoolObjects(side,type);
	}
Пример #9
0
    public void createPoolObjects(MissleSide side, MissleType type)
    {
        switch (type)
        {
        case MissleType.ROCKET:
            if (side == MissleSide.FRIENDLY)
            {
                tmp = (GameObject)GameObject.Instantiate(friendlyRocketPrefab, stackPos, Quaternion.identity);
                tmp.SetActive(false);
                friendlyRockets.Add(tmp.GetComponent <MissleBehaviour>());
            }
            else if (side == MissleSide.ENEMY)
            {
                tmp = (GameObject)GameObject.Instantiate(enemyRocketPrefab, stackPos, Quaternion.identity);
                tmp.SetActive(false);
                enemyRockets.Add(tmp.GetComponent <MissleBehaviour>());
            }
            break;

        case MissleType.THORPEDE:
            if (side == MissleSide.FRIENDLY)
            {
                tmp = (GameObject)GameObject.Instantiate(friendlyThorpedePrefab, stackPos, Quaternion.identity);
                tmp.SetActive(false);
                friendlyThorpeds.Add(tmp.GetComponent <MissleBehaviour>());
            }
            else if (side == MissleSide.ENEMY)
            {
                tmp = (GameObject)GameObject.Instantiate(enemyThorpedePrefab, stackPos, Quaternion.identity);
                tmp.SetActive(false);
                enemyThorpeds.Add(tmp.GetComponent <MissleBehaviour>());
            }
            break;

        case MissleType.GAS:
            tmp = (GameObject)GameObject.Instantiate(gasPrefab, stackPos, Quaternion.identity);
            tmp.SetActive(false);
            tmp.GetComponent <MissleBehaviour>().side = side;
            if (side == MissleSide.FRIENDLY)
            {
                friendlyGasList.Add(tmp.GetComponent <MissleBehaviour>());
            }
            else if (side == MissleSide.ENEMY)
            {
                enemyGasList.Add(tmp.GetComponent <MissleBehaviour>());
            }
            break;

        case MissleType.MINES:
            tmp = (GameObject)GameObject.Instantiate(minePrefab, stackPos, Quaternion.identity);
            tmp.SetActive(false);
            tmp.GetComponent <MissleBehaviour>().side = side;
            if (side == MissleSide.FRIENDLY)
            {
                friendlyMinesList.Add(tmp.GetComponent <MissleBehaviour>());
            }
            else if (side == MissleSide.ENEMY)
            {
                enemyMinesList.Add(tmp.GetComponent <MissleBehaviour>());
            }
            break;
        }
    }