Example #1
0
 public override void Init()
 {
     base.Init();
     //初始武器
     weapons.Add(weapon);
     aid           = GameObject.FindGameObjectWithTag("Aid").GetComponent <IAid>();
     status.master = "player";
     status.hp     = 3;
 }
        public void SwitchAid(ItemType type, CubeType matType)
        {
            currtType = type;
            GameObject newObj;
            string     itemName = Enum.GetName(typeof(ItemType), type);

            if (!BuildingManager.instance.currtItemIsPart)
            {
                newObj = GameObjectPool.instance.CreateObject("Cube", Resources.Load("Aid/CubeAid") as GameObject, transform.position, transform.rotation);
                if (newObj != prefabObj)
                {
                    GameObjectPool.instance.MyDestory(prefabObj);
                    prefabObj = newObj;
                }
                // 方块操作
                ChangeCubeMesh(itemName);
            }
            else
            {
                //配件操作
                newObj = GameObjectPool.instance.CreateObject(itemName, Resources.Load("Aid/" + itemName + "Aid") as GameObject, transform.position, transform.rotation);
                if (newObj != prefabObj)
                {
                    GameObjectPool.instance.MyDestory(prefabObj);
                    prefabObj = newObj;
                }
            }
            IObstacle = prefabObj.GetComponent <IAid>();

            //如果是第一次生成物体到对象池则进行归零化处理
            if (prefabObj.transform.parent == null)
            {
                prefabObj.transform.parent        = transform;
                prefabObj.transform.localPosition = Vector3.zero;
                prefabObj.transform.localRotation = Quaternion.identity;
            }
        }