Exemple #1
0
 private void SetSpawnClear(Seed seed)
 {
     for (int i = 0; i < transformStatus.Count; i++)
     {
         if (transformStatus[i].spawn == seed.spawnTransform)
         {
             Transform       currentTransform        = transformStatus[i].spawn;
             TransformStatus currentTransformStatus1 = new TransformStatus();
             currentTransformStatus1.spawn  = currentTransform;
             currentTransformStatus1.isBusy = false;
             transformStatus.Remove(transformStatus[i]);
             transformStatus.Add(currentTransformStatus1);
             break;
         }
     }
 }
Exemple #2
0
    private void Start()
    {
        currentSeed = 0;
        SetValues();
        transformStatus = new List <TransformStatus>();

        foreach (Transform currentRegion in regions)
        {
            TransformStatus currentTransformStatus = new TransformStatus();
            currentTransformStatus.spawn  = currentRegion;
            currentTransformStatus.isBusy = false;
            transformStatus.Add(currentTransformStatus);
        }

        _audioSource = GetComponent <AudioSource>();
        _seedList    = new List <Seed>();
    }
Exemple #3
0
    private void SpawnSeed()
    {
        List <Transform> avalibleTransforms = new List <Transform>();

        foreach (TransformStatus currentTransformStatus in transformStatus)
        {
            if (!currentTransformStatus.isBusy)
            {
                avalibleTransforms.Add(currentTransformStatus.spawn);
            }
        }

        if (avalibleTransforms.Count == 0)
        {
            return;
        }

        int transformStatusIdx = Random.Range(0, avalibleTransforms.Count);

        for (int i = 0; i < transformStatus.Count; i++)
        {
            if (transformStatus[i].spawn == avalibleTransforms[transformStatusIdx])
            {
                Transform       currentTransform        = transformStatus[i].spawn;
                TransformStatus currentTransformStatus1 = new TransformStatus();
                currentTransformStatus1.spawn  = currentTransform;
                currentTransformStatus1.isBusy = true;
                transformStatus.Remove(transformStatus[i]);
                transformStatus.Add(currentTransformStatus1);
                break;
            }
        }

        Seed currentSeed = Instantiate(seedPrefab, avalibleTransforms[transformStatusIdx].position, Quaternion.identity, null).GetComponent <Seed>();

        currentSeed.spawnTransform = avalibleTransforms[transformStatusIdx];

        _seedList.Add(currentSeed);
    }
Exemple #4
0
 void Awake()
 {
     transformStatus    = new TransformStatus(transform);
     originalParent     = transform.parent;
     CurrentBindingInfo = null;
 }