/// <summary> /// Returns a random object pooler based on the given potential spawn data. /// </summary> /// <param name="potentialSpawnsDataArg"></param> /// <returns></returns> private NetworkObjectPooler GetRandomObjectPooler( List <SerializableDataFloatAndObjectPoolerContentType> potentialSpawnsDataArg) { // initialize tuple list as empty list List <(float, ObjectPoolerContentType)> tupleList = new List <(float, ObjectPoolerContentType)>(); // loop through all potential spawns foreach (SerializableDataFloatAndObjectPoolerContentType iterData in potentialSpawnsDataArg) { // add potential spawn data as tuple to tuple list tupleList.Add((iterData.value1, iterData.value2)); } // get random object pooler based on spawn chance ObjectPoolerContentType objPoolerContent = GeneralMethods. GetRandomEntryFromChanceToValueCouple(RollChancePickType.TargetRarest, tupleList); // inittialize return pooler as NULL NetworkObjectPooler objPooler = null; // if actually got a non-default value from the random entries if (objPoolerContent != ObjectPoolerContentType.None) { // set object pooler to associated pooler reference objPooler = _gameManager.SpawnManager.GetNetworkObjectPooler(objPoolerContent); } // return the retreived pooler return(objPooler); }
public NetworkObjectPooler GetNetworkObjectPooler(ObjectPoolerContentType poolerContentArg) { SerializableDataObjectPoolerContentTypeAndNetworkObjectPooler match = netObjectPoolers.FirstOrDefault(iterData => iterData.value1 == poolerContentArg); if (match != null) { return(match.value2); } else { return(null); } }
private void Setup(SerializableDataObjectPoolerContentTypeAndNetworkObjectPooler templateArg) { value1 = templateArg.value1; value2 = templateArg.value2; }
private void Setup(ObjectPoolerContentType value1Arg, NetworkObjectPooler value2Arg) { value1 = value1Arg; value2 = value2Arg; }
private void Setup() { value1 = ObjectPoolerContentType.None; value2 = null; }
public SerializableDataObjectPoolerContentTypeAndNetworkObjectPooler( ObjectPoolerContentType value1Arg, NetworkObjectPooler value2Arg) { Setup(value1Arg, value2Arg); }
private void Setup(SerializableDataFloatAndObjectPoolerContentType templateArg) { value1 = templateArg.value1; value2 = templateArg.value2; }
private void Setup(float value1Arg, ObjectPoolerContentType value2Arg) { value1 = value1Arg; value2 = value2Arg; }
private void Setup() { value1 = 0f; value2 = ObjectPoolerContentType.None; }
public SerializableDataFloatAndObjectPoolerContentType(float value1Arg, ObjectPoolerContentType value2Arg) { Setup(value1Arg, value2Arg); }