private void Update() { float l_delta = Time.deltaTime; Battle_Singletons._battleActionSelection.update(l_delta); Battle_Singletons._battleTargetSelection.update(l_delta); SceneGlobalObjects.PlayerTurnInputflow.update(l_delta); Battle_Singletons._battleResolutionStep.update(l_delta); this.AtbUI.Update(l_delta); // Handling damage applied events if (Battle_Singletons._battleResolutionStep.Out_DamageApplied_Events.Count > 0) { for (int i = 0; i < Battle_Singletons._battleResolutionStep.Out_DamageApplied_Events.Count; i++) { BQEOut_FinalDamageApplied l_event = Battle_Singletons._battleResolutionStep.Out_DamageApplied_Events[i]; BattleEntityComponent l_targetEntity = BattleEntityComponent_Container.ComponentsByHandle[l_event.Target]; RectTransform l_instanciatedDamageTextObject = GameObject.Instantiate(this.DamageTextPrefab, SceneGlobalObjects.MainCanvas.transform); Text l_instanciatedDamageText = l_instanciatedDamageTextObject.GetComponentInChildren <Text>(); l_instanciatedDamageText.text = l_event.FinalDamage.ToString(); ((RectTransform)l_instanciatedDamageTextObject.transform).position = SceneGlobalObjects.MainCamera.WorldToScreenPoint(l_targetEntity.DamageDisplay_Transform.transform.position); BattleAnimation.onDamageReceived(l_targetEntity); } } // On battle entity death if (Battle_Singletons._battleResolutionStep.Out_Death_Events.Count > 0) { for (int i = 0; i < Battle_Singletons._battleResolutionStep.Out_Death_Events.Count; i++) { BattleEntity l_deadEntity = Battle_Singletons._battleResolutionStep.Out_Death_Events[i]; BattleEntityComponent l_destroyedEntityComponent = BattleEntityComponent_Container.ComponentsByHandle[l_deadEntity]; SceneGlobalObjects.PlayerTurnInputflow.on_battleEntityDeath(l_destroyedEntityComponent); //handling selection Battle_Singletons._battleActionSelection.on_battleEntityDeath(l_destroyedEntityComponent.BattleEntityHandle); //handling target selection Battle_Singletons._battleTargetSelection.on_battleEntityDeath(i); //We update the BattleTargetSelectionUI is the _battleTargetSelection has changed by taking into account death SceneGlobalObjects.BattleTargetSelectionUI.update(Battle_Singletons._battleTargetSelection); l_destroyedEntityComponent.Dispose(); } // Battle_Singletons._battleResolutionStep.Out_Death_Events.Clear(); } BattleEntityComponent_Container.Update(l_delta); }