public void SyncEnemyAnim(EnemyAnimModel model) //同步敌人动画 { Dictionary <byte, object> parameters = new Dictionary <byte, object>(); ParameterTool.AddParameter(parameters, ParameterCode.EnemyAnim, model); PhotonEngine.Instance.SendRequest(OpCode, SubCode.SyncEnemyAnim, parameters); }
public void OnSyncEnemyAnim(EnemyAnimModel model) { foreach (EnemyAnimProperty property in model.list) { GameObject go; bool isSuccess = enemyDict.TryGetValue(property.guid, out go); if (isSuccess) { Animation anim = go.GetComponent <Animation>(); if (property.isIdle) { anim.Play("idle"); } if (property.isWalk) { anim.Play("walk"); } if (property.isAttack) { anim.Play("attack01"); } if (property.isTakeDamage) { anim.Play("takedamage"); } if (property.isDie) { anim.Play("die"); } } } }
public override void OnEventData(EventData data) { SubCode subCode = ParameterTool.GetSubCode(data.Parameters); switch (subCode) { case SubCode.SyncEnemyCreat: //Debug.Log("SubCode.CreatEnemy"); EnemyCreatModel model = ParameterTool.GetParameter <EnemyCreatModel>(data.Parameters, ParameterCode.CreatEnemy); OnSyncEnemyCreat(model); break; case SubCode.SyncPositionAndRotation: //Debug.Log("SubCode.SyncPositionAndRotation"); EnemyPositionModel model2 = ParameterTool.GetParameter <EnemyPositionModel>(data.Parameters, ParameterCode.EnemyPosition); OnSyncEnemyPosition(model2); break; case SubCode.SyncEnemyAnim: //Debug.Log("SubCode.SyncPositionAndRotation"); EnemyAnimModel model3 = ParameterTool.GetParameter <EnemyAnimModel>(data.Parameters, ParameterCode.EnemyAnim); OnSyncEnemyAnim(model3); break; } }
public void SyncEnemyAnim() { if (syncEnemyAnimList != null && syncEnemyAnimList.Count > 0) { EnemyAnimModel model = new EnemyAnimModel(); foreach (Enemy enemy in syncEnemyAnimList) { Animation anim = enemy.GetComponent <Animation>(); EnemyAnimProperty property = new EnemyAnimProperty { guid = enemy.guid, isIdle = anim.IsPlaying("idle"), isWalk = anim.IsPlaying("walk"), isAttack = anim.IsPlaying("attack01"), isTakeDamage = anim.IsPlaying("takedamage"), isDie = anim.IsPlaying("die") }; model.list.Add(property); } enemyController.SyncEnemyAnim(model); syncEnemyAnimList.Clear(); } }