Beispiel #1
0
    public void AsyncEnemyPostion(EnemyPostionModel model)
    {
        Dictionary <byte, object> parameters = new Dictionary <byte, object>();

        ParameterTool.AddParameters <EnemyPostionModel>(parameters, ParameterCode.EnemyPostionModel, model);
        PhotonEngine.Instance.SendRequest(opCode, SubCode.AsyncPostionAndEularAngler, parameters);
    }
Beispiel #2
0
    public override void OnEvent(EventData eventData)
    {
        SubCode subCode = ParameterTool.GetParameters <SubCode>(eventData.Parameters, ParameterCode.SubCode, false);

        switch (subCode)
        {
        case SubCode.CreateEnemy:
            //Debug.Log("Get the response from server..");
            CreateEnemyModel model = ParameterTool.GetParameters <CreateEnemyModel>(eventData.Parameters, ParameterCode.CreateEnemyModel);
            if (OnCreateEnemy != null)
            {
                OnCreateEnemy(model);
            }
            break;

        case SubCode.AsyncPostionAndEularAngler:
            EnemyPostionModel enemyPosmodel = ParameterTool.GetParameters <EnemyPostionModel>(eventData.Parameters, ParameterCode.EnemyPostionModel);
            if (OnAsyncEnemyPostionRotation != null)
            {
                OnAsyncEnemyPostionRotation(enemyPosmodel);
            }
            break;

        case SubCode.SyncEnemyAnimation:
            EnemyAnimationModel enemyAnimmodel = ParameterTool.GetParameters <EnemyAnimationModel>(eventData.Parameters, ParameterCode.EnemyAnimationModel);
            if (OnSyncEnemyAnimation != null)
            {
                OnSyncEnemyAnimation(enemyAnimmodel);
            }
            break;
        }
    }
Beispiel #3
0
 void SyncEnemyPostionAndRotation()
 {
     if (enemyToSyncList != null && enemyToSyncList.Count > 0)
     {
         EnemyPostionModel model = new EnemyPostionModel();
         foreach (Enemy enemy in enemyToSyncList)
         {
             EnemyPostionProperty property = new EnemyPostionProperty()
             {
                 guid         = enemy.guid,
                 postion      = new Vector3Obj(enemy.transform.position),
                 eulerAnglers = new Vector3Obj(enemy.transform.eulerAngles)
             };
             model.list.Add(property);
         }
         if (bossToSync != null)
         {
             EnemyPostionProperty property = new EnemyPostionProperty()
             {
                 guid         = bossToSync.guid,
                 postion      = new Vector3Obj(bossToSync.transform.position),
                 eulerAnglers = new Vector3Obj(bossToSync.transform.eulerAngles)
             };
             model.list.Add(property);
         }
         enemyController.AsyncEnemyPostion(model);//导致另外两个客户端掉线。。。。
         enemyToSyncList.Clear();
     }
 }
Beispiel #4
0
 void OnSyncEnemyPostionRotation(EnemyPostionModel model)
 {
     foreach (var property in model.list)
     {
         GameObject enemyGo = null;
         if (enemyDic.TryGetValue(property.guid, out enemyGo))
         {
             enemyGo.transform.position    = property.postion.ToVector3();
             enemyGo.transform.eulerAngles = property.eulerAnglers.ToVector3();
         }
     }
 }
 void SyncEnemyPostionAndRotation() {
     if (enemyToSyncList != null && enemyToSyncList.Count > 0)
     {
         EnemyPostionModel model = new EnemyPostionModel();
         foreach (Enemy enemy in enemyToSyncList)
         {
             EnemyPostionProperty property = new EnemyPostionProperty()
             {
                 guid = enemy.guid,
                 postion = new Vector3Obj(enemy.transform.position),
                 eulerAnglers = new Vector3Obj(enemy.transform.eulerAngles)
             };
             model.list.Add(property);
         }
         if(bossToSync!=null)
         {
             EnemyPostionProperty property = new EnemyPostionProperty()
             {
                 guid = bossToSync.guid,
                 postion = new Vector3Obj(bossToSync.transform.position),
                 eulerAnglers = new Vector3Obj(bossToSync.transform.eulerAngles)
             };
             model.list.Add(property);
         }
         enemyController.AsyncEnemyPostion(model);//导致另外两个客户端掉线。。。。
         enemyToSyncList.Clear();
     }
 }
 void OnSyncEnemyPostionRotation(EnemyPostionModel model) {
     foreach (var property in model.list)
     {
         GameObject enemyGo = null;
         if (enemyDic.TryGetValue(property.guid, out enemyGo))
         {
             enemyGo.transform.position = property.postion.ToVector3();
             enemyGo.transform.eulerAngles = property.eulerAnglers.ToVector3();
         }
     }
 }
 public void AsyncEnemyPostion(EnemyPostionModel model) {
     Dictionary<byte, object> parameters = new Dictionary<byte, object>();
     ParameterTool.AddParameters<EnemyPostionModel>(parameters,ParameterCode.EnemyPostionModel, model);
     PhotonEngine.Instance.SendRequest(opCode, SubCode.AsyncPostionAndEularAngler, parameters);
 }