美文网首页
重写方法

重写方法

作者: 貪狼大人 | 来源:发表于2017-11-01 21:18 被阅读0次
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SubPool
{

    //子池子
    List<GameObject> mySubPool = new List<GameObject>();
    GameObject m_Prefab;
    public string Name
    {
        get
        {
            return m_Prefab.name;
        }
    }
    public SubPool(GameObject prefab)
    {
        m_Prefab = prefab;
    }
    public GameObject Spawn()
    {
        GameObject obj = null;
        foreach (GameObject item in mySubPool)
        {
            if (!item.activeSelf)
            {
                
                obj = item; break;
            }
        }
        //池中没有(不够)就新建
        if (obj == null)
        {
            obj = GameObject.Instantiate(m_Prefab);
            mySubPool.Add(obj);
        }
        //Debug.Log("111");
        obj.SetActive(true);
        IResuable ir = obj.GetComponent<IResuable>();
        if (ir != null)
            ir.Spawn();
        return obj;
    }
    public void UnSpawn(GameObject obj)
    {
        //看池中是否包含对象
        if (mySubPool.Contains(obj))
        {
            IResuable ir = obj.GetComponent<IResuable>();
            if (ir != null)
            {
                ir.UnSpawn();
            }
            obj.SetActive(false);
            
        }
    }
    public void UnSpawnAll()
    {
        foreach (GameObject item in mySubPool)
        {
            if (item.activeSelf)
            {
                UnSpawn(item);
            }
        }
    }
    public bool ContainObj(GameObject obj)
    {
        return mySubPool.Contains(obj);
    }
}

相关文章

  • GeekBand OC 7. 多态

    运行时多态 重写override 重写方法 没有重写的方法会被重写 没有重写的方法中调用已经重写的方法会调用重写后...

  • 继承UICollectionViewFlowLayout 重新

    重写prepareLayout方法 重写layoutAttributesForElementsInRect:方法 ...

  • 第三章所有对象的通用方法

    目录 重写equals方法时遵守通用约定 重写equals方法时同时也要重写hashcode方法 始终重写 toS...

  • Swift 重写override和重载overload

    1.重写override 重写是子类继承父类,重写父类的方法。 重写方法的参数列表必须完全与被重写的方法相同。重写...

  • swift overrid 跟 overload

    1.重写override 重写是子类继承父类,重写父类的方法。 重写方法的参数列表必须完全与被重写的方法相同。重写...

  • 自定义布局

    从 Panel 继承 重写 MeasureOverride 方法重写 ArrangeOverride 方法

  • Kotlin的重写

    Kotlin的重写 重写方法 在kotlin中如果一个方法可以重写覆盖,就需要用open字段修饰这个方法,同时重写...

  • 方法重载与方法重写(@Overload @Override)

    java方法重载和方法重写(方法覆盖)的区别: 方法重载: Overload 方法重写: Override 批判,...

  • 方法 Day0816

    重写方法override:用相同的签名重写所继承的虚方法 重写是对虚方法(virtua)进行override...

  • swift - 自定义view

    继承自uiview 重写初始化方法 重写布局方法

网友评论

      本文标题:重写方法

      本文链接:https://www.haomeiwen.com/subject/ywqnpxtx.html