Exemplo n.º 1
0
    IEnumerator SpawnEnemy()
    {
        yield return(new WaitForSeconds(time));

        //发送消息 让其他客户端产生敌人 ,包括数量和类型
        foreach (GameObject go in enemyPrefabs)
        {
            List <CreateEnemyProperty> propertylist = new List <CreateEnemyProperty>();
            foreach (Transform t in spawnPosArray)
            {
                GameObject temp         = GameObject.Instantiate(go, t.position, Quaternion.identity) as GameObject;
                string     guidStr      = Guid.NewGuid().ToString();       //guidStr=GUID
                int        targetRoleId = GameController.Instance.GetRandomRoleID();
                if (temp.GetComponent <Enemy>() != null)
                {
                    Enemy enemy = temp.GetComponent <Enemy>();
                    enemy.guid = guidStr;                                //为每一个新生产的敌人创建一个GUID
                    //temp.GetComponent<Enemy>().enabled = true;
                    enemy.targetRoleId = targetRoleId;
                }
                else
                {
                    BossOrc bossOrc = temp.GetComponent <BossOrc>();
                    bossOrc.guid         = guidStr;                     //为新生产的Boss敌人创建一个GUID
                    bossOrc.targetRoleId = targetRoleId;
                }

                CreateEnemyProperty property = new CreateEnemyProperty()
                {
                    guid         = guidStr,
                    position     = new Vector3Obj(t.position),
                    prefabName   = go.name,
                    targetRoleID = targetRoleId
                };
                propertylist.Add(property);
            }
            if (GameController.Instance.battleType == BattleType.Team && GameController.Instance.isMaster)
            {
                CreateEnemyModel model = new CreateEnemyModel()
                {
                    List = propertylist
                };
                enemyController.SendCreateEnemy(model);
            }
            yield return(new WaitForSeconds(repeateRate));
        }
    }
Exemplo n.º 2
0
	IEnumerator SpawnEnemy()
	{
		yield return new WaitForSeconds(time);
        //发送消息,让其他客户端产生相应的敌人(位置,敌人类型)
		foreach(GameObject go in enemyPrefabs)
		{
            List<CreateEnemyProperty> propertylist = new List<CreateEnemyProperty>( );
			foreach(Transform t in spawnPosArray)
			{
			 	GameObject temp = GameObject.Instantiate(go,t.position,Quaternion.identity) as GameObject;
			    string GUID = Guid.NewGuid().ToString();
                int targetRoleId = GameController.Instance.GetRandomRoleID();
			    if (temp.GetComponent<Enemy>() != null)
			    {
			        Enemy enemy = temp.GetComponent<Enemy>();
			        enemy.guid = GUID; //为每一个新生成的敌人创建一个GUID
			        enemy.targetRoleId =targetRoleId ;
			    }
			    else
			    {
                    Boss boss = temp.GetComponent<Boss>();		       
                    boss.guid = GUID;
                    boss.targetRoleId = targetRoleId;

			    }
               
			    CreateEnemyProperty property = new CreateEnemyProperty()
                {
                    guid = GUID,
                    position = new Vector3Obj(t.position),
                    prefabName = go.name,
                    targetRoleID = targetRoleId
                };
                propertylist.Add(property);
			}

		    if (GameController.Instance.battleType == BattleType.Team && GameController.Instance.isMaster)
		    {
                CreateEnemyModel model = new CreateEnemyModel(){list = propertylist};
                enemyController.SendCreateEnemy(model);
		    }
		    yield return new WaitForSeconds(repeateRate);
		}
	}
Exemplo n.º 3
0
    IEnumerator SpawnEnemy()
    {
        yield return(new WaitForSeconds(time));

        foreach (GameObject go in enemyPrefabs)
        {
            List <CreateEnemyProperty> list = new List <CreateEnemyProperty>();
            foreach (Transform t in spawnPoint)
            {
                GameObject enemy = GameObject.Instantiate(go, t.position, Quaternion.identity) as GameObject;
                string     guid  = Guid.NewGuid().ToString();
                if (enemy.GetComponent <Enemy>() != null)
                {
                    enemy.GetComponent <Enemy>().guid = guid;
                }
                else if (enemy.GetComponent <Boss>() != null)
                {
                    enemy.GetComponent <Boss>().guid = guid;
                }
                CreateEnemyProperty enemyProperty = new CreateEnemyProperty()
                {
                    GUID       = guid,
                    PrefabName = go.name,
                    Postion    = new Vector3Obj(t.position)
                };
                list.Add(enemyProperty);
                TranscriptManager._instance.AddEnemy(enemy);
                yield return(new WaitForSeconds(repeateTime));
            }
            if (GameManger._instance.battleType == BattleType.Team && GameManger._instance.isMaster)
            {
                Debug.Log("this is master");
                CreateEnemyModel model = new CreateEnemyModel();
                model.list = list;
                enemyController.SendCreateEnemy(model);
            }
        }
        yield return(new WaitForSeconds(repeateTime));
    }
Exemplo n.º 4
0
 IEnumerator SpawnEnemy()
 {
     yield return new WaitForSeconds(time);
     foreach(GameObject go in enemyPrefabs)
     {
         List<CreateEnemyProperty> list = new List<CreateEnemyProperty>();
         foreach(Transform t in spawnPoint)
         {
             GameObject enemy=GameObject.Instantiate(go, t.position, Quaternion.identity) as GameObject;
             string guid = Guid.NewGuid().ToString();
             if (enemy.GetComponent<Enemy>() != null)
             {
                 enemy.GetComponent<Enemy>().guid = guid;
             }
             else if (enemy.GetComponent<Boss>() != null)
             {
                 enemy.GetComponent<Boss>().guid = guid;
             }
             CreateEnemyProperty enemyProperty = new CreateEnemyProperty() {
                 GUID = guid,
                 PrefabName = go.name, 
                 Postion = new Vector3Obj(t.position)
             };
             list.Add(enemyProperty);
             TranscriptManager._instance.AddEnemy(enemy);
             yield return new WaitForSeconds(repeateTime);
         }
         if(GameManger._instance.battleType==BattleType.Team && GameManger._instance.isMaster)
         {
             Debug.Log("this is master");
             CreateEnemyModel model = new CreateEnemyModel();
             model.list = list;
             enemyController.SendCreateEnemy(model);
         }
     }
     yield return new WaitForSeconds(repeateTime);
 }