本文整理汇总了C#中Pool.Pull方法的典型用法代码示例。如果您正苦于以下问题:C# Pool.Pull方法的具体用法?C# Pool.Pull怎么用?C# Pool.Pull使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Pool
的用法示例。
在下文中一共展示了Pool.Pull方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Start
IEnumerator Start()
{
pauseUser = false;
pauseWait = true;
enabled = false;
Debug.Log("World begin start");
// if no pools wait for them.
if (!PoolBase.Instance)
{
Debug.Log("Waiting for PoolBase instance.");
while (!PoolBase.Instance)
{
yield return null;
}
}
// wait for UI.
yield return StartCoroutine(UIBase.WaitInstance());
UserEnergy = TotalUserEnergy;
Random = new System.Random(Startup.Seed);
sizeX = (int)transform.localScale.x;
sizeXhalf = sizeX / 2;
sizeZ = (int)transform.localScale.z;
sizeZhalf = sizeZ / 2;
if ((float)sizeX != transform.localScale.x || (float)sizeZ != transform.localScale.z)
{
Debug.LogWarning("World local scale should be a interger.");
}
// get pools
PoolBase pools = PoolBase.Instance;
cubers = pools.Cubers;
fourths = pools.Fourths;
energys = pools.Energys;
// spawn cubers
int infected = 0;
if (Startup.PrecentInfected > 0)
{
infected = (int)((float)Startup.Cubers * ((float)Startup.PrecentInfected / 100f));
if (infected <= 0)
infected = 1;
}
for (int i = 0; i < Startup.Cubers; ++i)
{
Vector3 position;
if (FindGround(new Ray(transform.position + new Vector3(-sizeXhalf + Random.Next(sizeX), 100f, -sizeZhalf + Random.Next(sizeZ)), Vector3.down), out position))
{
cubers.Pull().Init(position, --infected >= 0, 0.5f + (float)Random.NextDouble() * 0.6f);//, Color.black);
}
}
// startup energy
for (int i = 0; i < EnergyCount; ++i)
{
NewEnergy(EnergyMin, EnergyMax);
}
enabled = true;
pauseWait = false;
Debug.Log("World end start");
}