示例#1
0
 // Called when a graffiti is completed.
 private void OnCompleteGraffiti(Graffiti graffiti)
 {
     completed++;
     if (completed >= numGraffitis)
     {
         if (OnAllCompleted != null)
         {
             OnAllCompleted(this);
         }
     }
 }
示例#2
0
        // Spawn graffiti on this wall.
        public void SpawnGraffiti(int numGraffitis)
        {
            // Spawn graffiti.
            this.numGraffitis = numGraffitis;
            List <Transform> spawns = new List <Transform>(graffitiSpawnPoints);

            for (int i = 0; i < numGraffitis; i++)
            {
                // Pick random graffiti asset.
                int      ra       = UnityEngine.Random.Range(0, graffitiAssets.Length);
                Graffiti resource = graffitiAssets[ra];

                // Pick random spawn point.
                int       ri    = UnityEngine.Random.Range(0, spawns.Count);
                Transform spawn = spawns[ri];

                // Spawn graffiti.
                Graffiti graffiti = Instantiate(resource);
                graffiti.transform.SetParent(transform, false);
                graffiti.transform.position = spawn.transform.position;
                graffiti.OnCompleted       += OnCompleteGraffiti;
                spawns.RemoveAt(ri);
            }
        }