示例#1
0
    private static void CheckPogTower(PogTower pt)
    {
        if (pt.PogList.Count == pt.PogCount)
        {
            return;
        }

        if (pt.PogCount < pt.PogList.Count)
        {
            int diff = pt.PogList.Count - pt.PogCount;

            for (int i = 0; i < diff; i++)
            {
                DestroyPog(pt);
            }
        }
        else
        {
            int diff = pt.PogCount - pt.PogList.Count;

            for (int i = 0; i < diff; i++)
            {
                CreatePog(pt);
            }
        }

        pt.InitTower();
    }
示例#2
0
    private static void CreatePog(PogTower pt)
    {
        GameObject pogObject = (GameObject)PrefabUtility
                               .InstantiatePrefab(PogManager.Instance.PogSettings.PogPrefab);

        Pog pog = pogObject.GetComponent <Pog>();

        pog.transform.SetParent(pt.transform);

        pt.AddPog(pog);
    }
示例#3
0
    private static void DestroyPog(PogTower pt)
    {
        if (pt.PogList.Count == 0)
        {
            return;
        }

        Pog pog = pt.PogList[pt.PogList.Count - 1];

        pt.RemovePog(pog);

        GameObject.DestroyImmediate(pog.gameObject);
    }
示例#4
0
 private static void OnPogCountUpdated(PogTower pt)
 {
     CheckPogTower(pt);
 }