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); }
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; } }
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(); } } }
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); }