public void SetUpTargets(TargetData targetData, GameEnums.TrackingGroup trackingGroup) { for (int i = 0; i < TrackingGroupsDictionary[trackingGroup].Count; i++) { TrackingGroupsDictionary[trackingGroup][i].SetTargetData(targetData); } }
public void SetUpTargets(Rigidbody targetRigidbody, GameEnums.TrackingGroup trackingGroup) { TrackingGroupsTargetsDictionary[trackingGroup].target_rigidbody = targetRigidbody; TrackingGroupsTargetsDictionary[trackingGroup].target_condition = targetRigidbody.GetComponent <EntityCondition>(); truck.firePoint.SetUpTargets(TrackingGroupsTargetsDictionary[trackingGroup], trackingGroup); StartListenTarget(trackingGroup); }
public void StopListenTargetCondition(GameEnums.TrackingGroup trackingGroup) { if (!ReferenceEquals(TrackingGroupsTargetsDictionary[trackingGroup].target_condition, null)) { TrackingGroupsTargetsDictionary[trackingGroup].target_condition.OnZeroCondition -= delegate { StopListenTargetCondition(trackingGroup); }; TrackingGroupsTargetsDictionary[trackingGroup].target_condition.OnZeroCondition -= PlayerSessionHandler.IncreaseDefeatedEnemiesCount; } }
public void StopListenTargetCondition(GameEnums.TrackingGroup trackingGroup) { if (!ReferenceEquals(TrackingGroupsTargetsDictionary[trackingGroup].target_condition, null)) { TrackingGroupsTargetsDictionary[trackingGroup].target_condition.OnZeroCondition -= delegate { AddHealthForEnemyDestroy(TrackingGroupsTargetsDictionary[trackingGroup].target_condition.maxCondition); }; TrackingGroupsTargetsDictionary[trackingGroup].target_condition.OnZeroCondition -= delegate { StopListenTargetCondition(trackingGroup); }; TrackingGroupsTargetsDictionary[trackingGroup].target_condition.OnCurrentConditionChanged -= PlayerSessionHandler.UpdateTargetConditionValue; TrackingGroupsTargetsDictionary[trackingGroup].target_condition.OnZeroCondition -= PlayerSessionHandler.IncreaseDefeatedEnemiesCount; targetPoint.gameObject.SetActive(false); } }
public void SetAllToRandomTrackingGroup() { for (int i = 0; i < gunsConfigurations.Length; i++) { int randomTrackingGroupNumber = Random.Range(0, System.Enum.GetNames(typeof(GameEnums.TrackingGroup)).Length); GameEnums.TrackingGroup randomTrackingGroup = (GameEnums.TrackingGroup)randomTrackingGroupNumber; gunsConfigurations[i].trackingGroup = randomTrackingGroup; if (gunsConfigurations[i].trackingGroup == GameEnums.TrackingGroup.StaticGroup) { gunsConfigurations[i].battleType = GameEnums.BattleType.Static; } } }
private void SetUpPlayersTarget(Touch touch, GameEnums.TrackingGroup trackingGroup) { Ray ray = playerCamera.ScreenPointToRay(touch.position); RaycastHit hit; if (Physics.Raycast(ray, out hit, 200, damageableMask)) { if (!ReferenceEquals(hit.rigidbody, null) && !ReferenceEquals(hit.rigidbody, player.truck._rigidbody)) { player.SetUpTargets(hit.rigidbody, trackingGroup); } } }
private void StartListenTarget(GameEnums.TrackingGroup trackingGroup) { if (!ReferenceEquals(TrackingGroupsTargetsDictionary[trackingGroup].target_condition, null)) { StopListenTargetCondition(trackingGroup); TrackingGroupsTargetsDictionary[trackingGroup].target_condition.OnZeroCondition += PlayerSessionHandler.IncreaseDefeatedEnemiesCount; TrackingGroupsTargetsDictionary[trackingGroup].target_condition.OnCurrentConditionChanged += PlayerSessionHandler.UpdateTargetConditionValue; TrackingGroupsTargetsDictionary[trackingGroup].target_condition.OnZeroCondition += delegate { StopListenTargetCondition(trackingGroup); }; TrackingGroupsTargetsDictionary[trackingGroup].target_condition.OnZeroCondition += delegate { AddHealthForEnemyDestroy(TrackingGroupsTargetsDictionary[trackingGroup].target_condition.maxCondition); }; GeneralGameUIHolder.Instance.otherUI.targetConditionValue.maxValue = TrackingGroupsTargetsDictionary[trackingGroup].target_condition.maxCondition; targetPoint.gameObject.SetActive(true); } }