コード例 #1
0
    public override FlyingCube Clone(Transform parent, Vector3 pos, Vector3 vel)
    {
        StreamingCube cube = null;

        //Before we clone, let's see if we can recycle a clone...
        if (m_inactiveStreamingClones.Count > 0)
        {
            cube = m_inactiveStreamingClones[0];
            m_inactiveStreamingClones.Remove(cube);

            Transform cubeTrans = cube.transform;
            cubeTrans.SetParent(parent);
            cubeTrans.position = pos;
            cube.gameObject.SetActive(true);
        }
        else
        {
            cube = (StreamingCube)Instantiate(this,
                                              pos, Quaternion.identity, parent);
        }

        cube.Velocity = vel;

        return(cube);
    }
コード例 #2
0
    IEnumerator SpawnStreamingCube()
    {
        ClipPlanePoints clipPoints = ClipPlanePoints.Instance;
        Camera          camera     = clipPoints.Camera;
        Vector3         cubeVel    = camera.transform.up * m_streamCubeSpeed;

        do
        {
            for (int i = 0, count = m_spawnIndices.Length; i < count; ++i)
            {
                if (m_spawnIndices[i])
                {
                    SpawnStreamingCube(i, cubeVel);
                }
                else if (m_lastSpawnIndices[i])
                {
                    StreamingCube.CleanupAll(i);
                }

                m_lastSpawnIndices[i] = m_spawnIndices[i];
            }

            yield return(new WaitForSeconds(m_streamCubeSpawnTime));
        } while (AppManager.IsInAmbientMode);

        CLeanupAllStreamingCubes();
        ResetAllIndices();
        m_streamCubes = null;
    }
コード例 #3
0
 //Cubes that have already been streamed in...
 public void CLeanupAllStreamingCubes()
 {
     for (int i = 0, count = m_spawnIndices.Length; i < count; ++i)
     {
         StreamingCube.CleanupAll(i);
     }
 }
コード例 #4
0
    void SpawnStreamingCube(int index, Vector3 vel)
    {
        Vector3       cubePos = m_streamCubePositions[index];
        StreamingCube cube    = (StreamingCube)m_streamCubePref.Clone(
            transform, cubePos, vel);

        cube.SectionIndex = index;
    }
コード例 #5
0
    public override void InitPool(Transform parent)
    {
        if (m_inactiveStreamingClones == null)
        {
            StreamingCube cube = null;

            //First time initialize to number of twitter feeds...
            m_inactiveStreamingClones = new List <StreamingCube>();
            for (int i = 0, count = TwitterManager.Instance.NumImgTweets;
                 i < count; ++i)
            {
                cube = (StreamingCube)Instantiate(this, parent);
                cube.Recycle();
            }
        }
    }