Exemplo n.º 1
0
    protected virtual void OnSpawned(GameObject obj)
    {
        if (obj == null)
        {
            return;
        }

        if (mReqFinish != null)
        {
            mReqFinish(obj);
        }

        mClone          = obj;
        mWaitForSpawned = false;
        //obj.transform.parent = AiManager.Manager.transform;

        mAiObject = clone.GetComponent <AiObject>();
        if (mAiObject != null)
        {
            if (mAiObject.motor != null && mAiObject.motor.gravity > PETools.PEMath.Epsilon)
            {
                if (!AiUtil.CheckPositionOnTerrainCollider(mAiObject.position))
                {
                    mAiObject.Activate(false);
                }
            }

            mAiObject.DeathHandlerEvent += OnDeath;
        }

        mAiGroup = clone.GetComponent <SPGroup>();
        if (mAiGroup != null)
        {
            mAiGroup.OnSpawndEvent += OnSpawnedChild;
        }
    }