void OnAnimOver() { currentRole.UseItem(currentItem); if (!currentRole.isAI) { GameRuntimeData.Instance.AddItem(currentItem.Id, -1); } else { currentRole.AddItem(Int16.Parse(currentItem.Id), -1); Debug.Log(currentItem.Name); Debug.Log(currentItem.Id); } Dictionary <int, int> effects = UIHelper.GetItemEffect(currentItem); foreach (var effect in effects) { if (!GameConst.ProItemDic.ContainsKey(effect.Key.ToString())) { continue; } PropertyItem pro = GameConst.ProItemDic[effect.Key.ToString()]; if (effect.Key == 15 || effect.Key == 17) { currentRole.View.ShowBattleText($"{pro.Name}+{effect.Value}", Color.blue); } else if (effect.Key == 6 || effect.Key == 8 || effect.Key == 13 || effect.Key == 16 || effect.Key == 26) { currentRole.View.ShowBattleText($"{pro.Name}+{effect.Value}", Color.green); } } Observable.TimerFrame(Convert.ToInt32(castAnimLenght * 60), FrameCountType.FixedUpdate) .Subscribe(ms => { BattleStateMechine.Instance.SwitchState(BattleManager.BattleViewStates.WaitingForNextActiveBattleRole); }); }