예제 #1
0
 public void SetUpTargets(TargetData targetData, GameEnums.TrackingGroup trackingGroup)
 {
     for (int i = 0; i < TrackingGroupsDictionary[trackingGroup].Count; i++)
     {
         TrackingGroupsDictionary[trackingGroup][i].SetTargetData(targetData);
     }
 }
예제 #2
0
    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);
    }
예제 #3
0
 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;
     }
 }
예제 #4
0
 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);
     }
 }
예제 #5
0
 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;
         }
     }
 }
예제 #6
0
    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);
            }
        }
    }
예제 #7
0
    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);
        }
    }