コード例 #1
0
    // Control Function -----------------------------------------------------------------
    void CreateAttachPrefab(Vector3 position, float size)
    {
        if (m_AttachPrefab == null)
        {
            return;
        }
        GameObject createGameObject = (GameObject)CreateGameObject(m_AttachPrefab, m_AttachPrefab.transform.position + position, m_AttachPrefab.transform.rotation);

        if (createGameObject == null)
        {
            return;
        }
        // Change Parent
        ChangeParent(GetRootInstanceEffect().transform, createGameObject.transform, false, null);
        NcTransformTool.CopyLossyToLocalScale(createGameObject.transform.lossyScale * size, createGameObject.transform);

        // PrefabAdjustSpeed
        AdjustSpeedRuntime(createGameObject, m_fPrefabSpeed);

        // m_fPrefabLifeTime
        if (0 < m_fPrefabLifeTime)
        {
            NcAutoDestruct ncAd = createGameObject.GetComponent <NcAutoDestruct>();
            if (ncAd == null)
            {
                ncAd = createGameObject.AddComponent <NcAutoDestruct>();
            }
            ncAd.m_fLifeTime = m_fPrefabLifeTime;
        }
    }
コード例 #2
0
ファイル: NcDuplicator.cs プロジェクト: 1102736067/SushiNinja
    void CreateCloneObject()
    {
        if (m_ClonObject == null)
        {
            return;
        }

        GameObject createObj;

        if (transform.parent == null)
        {
            createObj = (GameObject)CreateGameObject(gameObject);
        }
        else
        {
            createObj = (GameObject)CreateGameObject(transform.parent.gameObject, m_ClonObject);
        }

#if (!UNITY_3_5)
        SetActiveRecursively(createObj, true);
#endif
        try
        {
            // m_fDuplicateLifeTime
            if (0 < m_fDuplicateLifeTime)
            {
                NcAutoDestruct ncAd = createObj.GetComponent <NcAutoDestruct>();
                if (ncAd == null)
                {
                    ncAd = createObj.AddComponent <NcAutoDestruct>();
                }
                ncAd.m_fLifeTime = m_fDuplicateLifeTime;
            }

            // Random pos
            Vector3 newPos = createObj.transform.position;
            createObj.transform.position = new Vector3(Random.Range(-m_RandomRange.x, m_RandomRange.x) + newPos.x, Random.Range(-m_RandomRange.y, m_RandomRange.y) + newPos.y, Random.Range(-m_RandomRange.z, m_RandomRange.z) + newPos.z);

            // AddStartPos
            createObj.transform.position += m_AddStartPos;

            // m_AccumStartRot
            createObj.transform.localRotation *= Quaternion.Euler(m_AccumStartRot.x * m_nCreateCount, m_AccumStartRot.y * m_nCreateCount, m_AccumStartRot.z * m_nCreateCount);
            createObj.name += " " + m_nCreateCount;

            m_nCreateCount++;
            if (m_bInvoke)
            {
                if (m_nDuplicateCount <= m_nCreateCount)
                {
                    CancelInvoke("CreateCloneObject");
                }
            }
        }
        catch (Exception)
        {
        }
    }
コード例 #3
0
    public void Awake()
    {
        // 如果是飞行特效, 不让特效自行销毁
        NcAutoDestruct des = GetComponent <NcAutoDestruct>();

        if (null != des)
        {
            des.enabled = false;
        }
    }
コード例 #4
0
    void CreateAttachGameObject()
    {
        m_CreateGameObject = (GameObject)CreateGameObject(GetTargetGameObject(), (GetTargetGameObject() == gameObject ? null : transform), m_AttachPrefab);
        if (m_CreateGameObject == null)
        {
            return;
        }

        // sync Layer
//		Ng_ChangeLayerWithChild(m_CreateGameObject, gameObject.layer);

        // Random pos, AddStartPos
        Vector3 newPos = m_CreateGameObject.transform.position;

        m_CreateGameObject.transform.position = m_AddStartPos + new Vector3(Random.Range(-m_RandomRange.x, m_RandomRange.x) + newPos.x, Random.Range(-m_RandomRange.y, m_RandomRange.y) + newPos.y, Random.Range(-m_RandomRange.z, m_RandomRange.z) + newPos.z);

        // m_AccumStartRot
        m_CreateGameObject.transform.localRotation *= Quaternion.Euler(m_AccumStartRot.x * m_nCreateCount, m_AccumStartRot.y * m_nCreateCount, m_AccumStartRot.z * m_nCreateCount);
        m_CreateGameObject.name += " " + m_nCreateCount;
        SetActiveRecursively(m_CreateGameObject, true);

        // PrefabAdjustSpeed
        AdjustSpeedRuntime(m_CreateGameObject, m_fPrefabSpeed);

        // m_fPrefabLifeTime
        if (0 < m_fPrefabLifeTime)
        {
            NcAutoDestruct ncAd = m_CreateGameObject.GetComponent <NcAutoDestruct>();
            if (ncAd == null)
            {
                ncAd = m_CreateGameObject.AddComponent <NcAutoDestruct>();
            }
            ncAd.m_fLifeTime = m_fPrefabLifeTime;
        }

        // m_bDetachParent
        if (m_bDetachParent)
        {
            NcDetachParent detachCom = m_CreateGameObject.GetComponent <NcDetachParent>();
            if (detachCom == null)
            {
                detachCom = m_CreateGameObject.AddComponent <NcDetachParent>();
            }
        }

        // m_nSpriteFactoryIndex
        if (0 <= m_nSpriteFactoryIndex)
        {
            NcSpriteFactory ncFactory = m_CreateGameObject.GetComponent <NcSpriteFactory>();
            if (ncFactory)
            {
                ncFactory.SetSprite(m_nSpriteFactoryIndex, false);
            }
        }
    }
コード例 #5
0
    // Control Function -----------------------------------------------------------------
    void CreateAttachPrefab()
    {
        m_nCreateCount++;

        m_CreateGameObject = (GameObject)CreateGameObject(GetTargetGameObject(), (GetTargetGameObject() == gameObject ? null : transform), m_AttachPrefab);
        if (m_CreateGameObject == null)
        {
            return;
        }

        // sync Layer
//		Ng_ChangeLayerWithChild(m_CreateGameObject, gameObject.layer);

        // Random pos
        Vector3 newPos = m_CreateGameObject.transform.position;

        m_CreateGameObject.transform.position = new Vector3(Random.Range(-m_RandomRange.x, m_RandomRange.x) + newPos.x, Random.Range(-m_RandomRange.y, m_RandomRange.y) + newPos.y, Random.Range(-m_RandomRange.z, m_RandomRange.z) + newPos.z);

        // AddStartPos
        m_CreateGameObject.transform.position += m_AddStartPos;

        // m_AccumStartRot
        m_CreateGameObject.transform.localRotation *= Quaternion.Euler(m_AccumStartRot.x * m_nCreateCount, m_AccumStartRot.y * m_nCreateCount, m_AccumStartRot.z * m_nCreateCount);
        m_CreateGameObject.name += " " + m_nCreateCount;
        NgObject.SetActiveRecursively(m_CreateGameObject, true);

        // PrefabAdjustSpeed
        AdjustSpeedRuntime(m_CreateGameObject, m_fPrefabSpeed);

        // m_fPrefabLifeTime
        if (0 < m_fPrefabLifeTime)
        {
            NcAutoDestruct ncAd = m_CreateGameObject.GetComponent <NcAutoDestruct>();
            if (ncAd == null)
            {
                ncAd = m_CreateGameObject.AddComponent <NcAutoDestruct>();
            }
            ncAd.m_fLifeTime = m_fPrefabLifeTime;
        }

        // m_bDetachParent
        if (m_bDetachParent)
        {
            NcDetachParent detachCom = m_CreateGameObject.GetComponent <NcDetachParent>();
            if (detachCom == null)
            {
                detachCom = m_CreateGameObject.AddComponent <NcDetachParent>();
            }
        }

        if ((0 == m_fRepeatTime || m_AttachType == AttachType.Destroy) && 0 < m_nRepeatCount && m_nCreateCount < m_nRepeatCount)
        {
            CreateAttachPrefab();
        }
    }
コード例 #6
0
    public static NcAutoDestruct CreateAutoDestruct(GameObject baseGameObject, float fLifeTime, float fDestroyTime, bool bSmoothHide)
    {
        NcAutoDestruct ncAutoDestruct = baseGameObject.AddComponent <NcAutoDestruct>();

        ncAutoDestruct.m_fLifeTime          = fLifeTime;
        ncAutoDestruct.m_fSmoothDestroyTime = fDestroyTime;
        ncAutoDestruct.m_bSmoothHide        = bSmoothHide;
        if (NcEffectBehaviour.IsActive(baseGameObject))
        {
            ncAutoDestruct.Start();
            ncAutoDestruct.Update();
        }
        return(ncAutoDestruct);
    }
コード例 #7
0
    private void CreateAttachPrefab()
    {
        this.m_nCreateCount++;
        this.m_CreateGameObject = base.CreateGameObject(this.GetTargetGameObject(), (!(this.GetTargetGameObject() == base.get_gameObject())) ? base.get_transform() : null, this.m_AttachPrefab);
        if (this.m_CreateGameObject == null)
        {
            return;
        }
        Vector3 position = this.m_CreateGameObject.get_transform().get_position();

        this.m_CreateGameObject.get_transform().set_position(new Vector3(Random.Range(-this.m_RandomRange.x, this.m_RandomRange.x) + position.x, Random.Range(-this.m_RandomRange.y, this.m_RandomRange.y) + position.y, Random.Range(-this.m_RandomRange.z, this.m_RandomRange.z) + position.z));
        Transform expr_F7 = this.m_CreateGameObject.get_transform();

        expr_F7.set_position(expr_F7.get_position() + this.m_AddStartPos);
        Transform expr_118 = this.m_CreateGameObject.get_transform();

        expr_118.set_localRotation(expr_118.get_localRotation() * Quaternion.Euler(this.m_AccumStartRot.x * (float)this.m_nCreateCount, this.m_AccumStartRot.y * (float)this.m_nCreateCount, this.m_AccumStartRot.z * (float)this.m_nCreateCount));
        GameObject expr_16C = this.m_CreateGameObject;

        expr_16C.set_name(expr_16C.get_name() + " " + this.m_nCreateCount);
        NcEffectBehaviour.SetActiveRecursively(this.m_CreateGameObject, true);
        NcEffectBehaviour.AdjustSpeedRuntime(this.m_CreateGameObject, this.m_fPrefabSpeed);
        if (0f < this.m_fPrefabLifeTime)
        {
            NcAutoDestruct ncAutoDestruct = this.m_CreateGameObject.GetComponent <NcAutoDestruct>();
            if (ncAutoDestruct == null)
            {
                ncAutoDestruct = this.m_CreateGameObject.AddComponent <NcAutoDestruct>();
            }
            ncAutoDestruct.m_fLifeTime = this.m_fPrefabLifeTime;
        }
        if (this.m_bDetachParent)
        {
            NcDetachParent ncDetachParent = this.m_CreateGameObject.GetComponent <NcDetachParent>();
            if (ncDetachParent == null)
            {
                ncDetachParent = this.m_CreateGameObject.AddComponent <NcDetachParent>();
            }
        }
        if ((this.m_fRepeatTime == 0f || this.m_AttachType == NcAttachPrefab.AttachType.Destroy) && 0 < this.m_nRepeatCount && this.m_nCreateCount < this.m_nRepeatCount)
        {
            this.CreateAttachPrefab();
        }
    }
コード例 #8
0
    private void CreateCloneObject()
    {
        if (this.m_ClonObject == null)
        {
            return;
        }
        GameObject gameObject;

        if (base.get_transform().get_parent() == null)
        {
            gameObject = base.CreateGameObject(base.get_gameObject());
        }
        else
        {
            gameObject = base.CreateGameObject(base.get_transform().get_parent().get_gameObject(), this.m_ClonObject);
        }
        if (0f < this.m_fDuplicateLifeTime)
        {
            NcAutoDestruct ncAutoDestruct = gameObject.GetComponent <NcAutoDestruct>();
            if (ncAutoDestruct == null)
            {
                ncAutoDestruct = gameObject.AddComponent <NcAutoDestruct>();
            }
            ncAutoDestruct.m_fLifeTime = this.m_fDuplicateLifeTime;
        }
        Vector3 position = gameObject.get_transform().get_position();

        gameObject.get_transform().set_position(new Vector3(Random.Range(-this.m_RandomRange.x, this.m_RandomRange.x) + position.x, Random.Range(-this.m_RandomRange.y, this.m_RandomRange.y) + position.y, Random.Range(-this.m_RandomRange.z, this.m_RandomRange.z) + position.z));
        Transform expr_11B = gameObject.get_transform();

        expr_11B.set_position(expr_11B.get_position() + this.m_AddStartPos);
        Transform expr_137 = gameObject.get_transform();

        expr_137.set_localRotation(expr_137.get_localRotation() * Quaternion.Euler(this.m_AccumStartRot.x * (float)this.m_nCreateCount, this.m_AccumStartRot.y * (float)this.m_nCreateCount, this.m_AccumStartRot.z * (float)this.m_nCreateCount));
        GameObject expr_186 = gameObject;

        expr_186.set_name(expr_186.get_name() + " " + this.m_nCreateCount);
        this.m_nCreateCount++;
        if (this.m_bInvoke && this.m_nDuplicateCount <= this.m_nCreateCount)
        {
            base.CancelInvoke("CreateCloneObject");
        }
    }
コード例 #9
0
    private void CreateCloneObject()
    {
        if (this.m_ClonObject == null)
        {
            return;
        }
        GameObject gameObject;

        if (base.transform.parent == null)
        {
            gameObject = base.CreateGameObject(base.gameObject);
        }
        else
        {
            gameObject = base.CreateGameObject(base.transform.parent.gameObject, this.m_ClonObject);
        }
        NcEffectBehaviour.SetActiveRecursively(gameObject, true);
        if (0f < this.m_fDuplicateLifeTime)
        {
            NcAutoDestruct ncAutoDestruct = gameObject.GetComponent <NcAutoDestruct>();
            if (ncAutoDestruct == null)
            {
                ncAutoDestruct = gameObject.AddComponent <NcAutoDestruct>();
            }
            ncAutoDestruct.m_fLifeTime = this.m_fDuplicateLifeTime;
        }
        Vector3 position = gameObject.transform.position;

        gameObject.transform.position       = new Vector3(UnityEngine.Random.Range(-this.m_RandomRange.x, this.m_RandomRange.x) + position.x, UnityEngine.Random.Range(-this.m_RandomRange.y, this.m_RandomRange.y) + position.y, UnityEngine.Random.Range(-this.m_RandomRange.z, this.m_RandomRange.z) + position.z);
        gameObject.transform.position      += this.m_AddStartPos;
        gameObject.transform.localRotation *= Quaternion.Euler(this.m_AccumStartRot.x * (float)this.m_nCreateCount, this.m_AccumStartRot.y * (float)this.m_nCreateCount, this.m_AccumStartRot.z * (float)this.m_nCreateCount);
        GameObject expr_18D = gameObject;

        expr_18D.name = expr_18D.name + " " + this.m_nCreateCount;
        this.m_nCreateCount++;
        if (this.m_bInvoke && this.m_nDuplicateCount <= this.m_nCreateCount)
        {
            base.CancelInvoke("CreateCloneObject");
        }
    }
コード例 #10
0
    private void CreateAttachPrefab()
    {
        this.m_nCreateCount++;
        this.m_CreateGameObject = base.CreateGameObject(this.GetTargetGameObject(), (!(this.GetTargetGameObject() == base.gameObject)) ? base.transform : null, this.m_AttachPrefab);
        if (this.m_CreateGameObject == null)
        {
            return;
        }
        Vector3 position = this.m_CreateGameObject.transform.position;

        this.m_CreateGameObject.transform.position       = new Vector3(UnityEngine.Random.Range(-this.m_RandomRange.x, this.m_RandomRange.x) + position.x, UnityEngine.Random.Range(-this.m_RandomRange.y, this.m_RandomRange.y) + position.y, UnityEngine.Random.Range(-this.m_RandomRange.z, this.m_RandomRange.z) + position.z);
        this.m_CreateGameObject.transform.position      += this.m_AddStartPos;
        this.m_CreateGameObject.transform.localRotation *= Quaternion.Euler(this.m_AccumStartRot.x * (float)this.m_nCreateCount, this.m_AccumStartRot.y * (float)this.m_nCreateCount, this.m_AccumStartRot.z * (float)this.m_nCreateCount);
        GameObject expr_16C = this.m_CreateGameObject;

        expr_16C.name = expr_16C.name + " " + this.m_nCreateCount;
        NcEffectBehaviour.SetActiveRecursively(this.m_CreateGameObject, true);
        NcEffectBehaviour.AdjustSpeedRuntime(this.m_CreateGameObject, this.m_fPrefabSpeed);
        if (0f < this.m_fPrefabLifeTime)
        {
            NcAutoDestruct ncAutoDestruct = this.m_CreateGameObject.GetComponent <NcAutoDestruct>();
            if (ncAutoDestruct == null)
            {
                ncAutoDestruct = this.m_CreateGameObject.AddComponent <NcAutoDestruct>();
            }
            ncAutoDestruct.m_fLifeTime = this.m_fPrefabLifeTime;
        }
        if (this.m_bDetachParent)
        {
            NcDetachParent x = this.m_CreateGameObject.GetComponent <NcDetachParent>();
            if (x == null)
            {
                x = this.m_CreateGameObject.AddComponent <NcDetachParent>();
            }
        }
        if ((this.m_fRepeatTime == 0f || this.m_AttachType == NcAttachPrefab.AttachType.Destroy) && 0 < this.m_nRepeatCount && this.m_nCreateCount < this.m_nRepeatCount)
        {
            this.CreateAttachPrefab();
        }
    }
コード例 #11
0
    void CreateCloneObject()
    {
        if (m_ClonObject == null)
        {
            return;
        }

        GameObject createObj;

        if (transform.parent == null)
        {
            createObj = (GameObject)CreateGameObject(gameObject);
        }
        else
        {
            createObj = (GameObject)CreateGameObject(transform.parent.gameObject, m_ClonObject);
        }
#if UNITY_EDITOR
        RenderHelper.RefreshShader(createObj);
        //    BattleManager.setTrueShaderToGameObject(createObj, ShaderCollection.shadersLink);
#endif
#if (UNITY_4_0 || UNITY_4_1 || UNITY_4_2 || UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_4_7 || UNITY_4_8 || UNITY_4_9)
        SetActiveRecursively(createObj, true);
#endif
        if (_eod != null)
        {
            _eod.cloneObjectList.Add(createObj);
        }
        // m_fDuplicateLifeTime
        if (0 < m_fDuplicateLifeTime)
        {
            NcAutoDestruct ncAd = createObj.GetComponent <NcAutoDestruct>();
            if (ncAd == null)
            {
                ncAd = createObj.AddComponent <NcAutoDestruct>();
            }
            ncAd.m_fLifeTime = m_fDuplicateLifeTime;
        }

        NcEffectBehaviour[] behaviourList = createObj.GetComponentsInChildren <NcEffectBehaviour>();
        for (int i = 0; i < behaviourList.Length; i++)
        {
            behaviourList[i].isReuse = false;
        }

        // Random pos
        Vector3 newPos = createObj.transform.position;
        createObj.transform.position = new Vector3(Random.Range(-m_RandomRange.x, m_RandomRange.x) + newPos.x, Random.Range(-m_RandomRange.y, m_RandomRange.y) + newPos.y, Random.Range(-m_RandomRange.z, m_RandomRange.z) + newPos.z);

        // AddStartPos
        createObj.transform.position += m_AddStartPos;

        // m_AccumStartRot
        createObj.transform.localRotation *= Quaternion.Euler(m_AccumStartRot.x * m_nCreateCount, m_AccumStartRot.y * m_nCreateCount, m_AccumStartRot.z * m_nCreateCount);
        createObj.name = m_ClonObject.name + " " + m_nCreateCount;
        if (_eod != null)
        {
            _eod.addDynamicEffectObject(createObj);
        }

        m_nCreateCount++;
        if (m_bInvoke)
        {
            if (m_nDuplicateCount <= m_nCreateCount)
            {
                CancelInvoke("CreateCloneObject");
            }
        }
    }
コード例 #12
0
 // Property -------------------------------------------------------------------------
 // Event Function -------------------------------------------------------------------
 void OnEnable()
 {
     m_Sel         = target as NcAutoDestruct;
     m_UndoManager = new FXMakerUndoManager(m_Sel, "NcAutoDestruct");
 }
コード例 #13
0
    void CreateAttachGameObject()
    {
        GameObject createObj = (GameObject)CreateGameObject(GetTargetGameObject(), (GetTargetGameObject() == gameObject ? null : transform), m_AttachPrefab);

        if (m_bReplayState)
        {
            NsEffectManager.SetReplayEffect(createObj);
        }

        if (createObj == null)
        {
            return;
        }

        if (m_AttachType == AttachType.Active)
        {
            if (m_CreateGameObjects == null)
            {
                m_CreateGameObjects = new GameObject[Mathf.Max(1, m_nRepeatCount)];
            }
            for (int n = 0; n < m_CreateGameObjects.Length; n++)
            {
                if (m_CreateGameObjects[n] == null)
                {
                    m_CreateGameObjects[n] = createObj;
                    break;
                }
            }
        }

        m_nCreateCount++;

        // sync Layer
//		Ng_ChangeLayerWithChild(createObj, gameObject.layer);

        // Random pos, AddStartPos
        Vector3 newPos = createObj.transform.position;

        createObj.transform.position = m_AddStartPos + new Vector3(Random.Range(-m_RandomRange.x, m_RandomRange.x) + newPos.x, Random.Range(-m_RandomRange.y, m_RandomRange.y) + newPos.y, Random.Range(-m_RandomRange.z, m_RandomRange.z) + newPos.z);

        // m_AccumStartRot
        createObj.transform.localRotation *= Quaternion.Euler(m_AccumStartRot.x * m_nCreateCount, m_AccumStartRot.y * m_nCreateCount, m_AccumStartRot.z * m_nCreateCount);
        createObj.name += " " + m_nCreateCount;
        SetActiveRecursively(createObj, true);

        // PrefabAdjustSpeed
        NsEffectManager.AdjustSpeedRuntime(createObj, m_fPrefabSpeed);

        // m_fPrefabLifeTime
        if (0 < m_fPrefabLifeTime)
        {
            NcAutoDestruct ncAd = createObj.GetComponent <NcAutoDestruct>();
            if (ncAd == null)
            {
                ncAd = AddNcComponentToObject <NcAutoDestruct>(createObj);
            }
            ncAd.m_fLifeTime = m_fPrefabLifeTime;
        }

        // m_bDetachParent
        if (m_bDetachParent)
        {
            NcDetachParent detachCom = createObj.GetComponent <NcDetachParent>();
            if (detachCom == null)
            {
                detachCom = AddNcComponentToObject <NcDetachParent>(createObj);
            }
        }

        // m_nSpriteFactoryIndex
        if (0 <= m_nSpriteFactoryIndex)
        {
            NcSpriteFactory ncFactory = createObj.GetComponent <NcSpriteFactory>();
            if (ncFactory)
            {
                ncFactory.SetSprite(m_nSpriteFactoryIndex, false);
            }
        }

        OnCreateAttachGameObject();
    }
コード例 #14
0
ファイル: NcAutoDestructEditor.cs プロジェクト: sylafrs/rugby
 // Property -------------------------------------------------------------------------
 // Event Function -------------------------------------------------------------------
 void OnEnable()
 {
     m_Sel = target as NcAutoDestruct;
      		m_UndoManager	= new FXMakerUndoManager(m_Sel, "NcAutoDestruct");
 }
コード例 #15
0
    private void CreateAttachGameObject()
    {
        GameObject gameObject = base.CreateGameObject(this.GetTargetGameObject(), (!(this.GetTargetGameObject() == base.gameObject)) ? base.transform : null, this.m_AttachPrefab);

        if (this.m_bReplayState)
        {
            NsEffectManager.SetReplayEffect(gameObject);
        }
        if (gameObject == null)
        {
            return;
        }
        if (this.m_AttachType == NcAttachPrefab.AttachType.Active)
        {
            if (this.m_CreateGameObjects == null)
            {
                this.m_CreateGameObjects = new GameObject[Mathf.Max(1, this.m_nRepeatCount)];
            }
            for (int i = 0; i < this.m_CreateGameObjects.Length; i++)
            {
                if (this.m_CreateGameObjects[i] == null)
                {
                    this.m_CreateGameObjects[i] = gameObject;
                    break;
                }
            }
        }
        this.m_nCreateCount++;
        Vector3 position = gameObject.transform.position;

        gameObject.transform.position       = this.m_AddStartPos + new Vector3(UnityEngine.Random.Range(-this.m_RandomRange.x, this.m_RandomRange.x) + position.x, UnityEngine.Random.Range(-this.m_RandomRange.y, this.m_RandomRange.y) + position.y, UnityEngine.Random.Range(-this.m_RandomRange.z, this.m_RandomRange.z) + position.z);
        gameObject.transform.localRotation *= Quaternion.Euler(this.m_AccumStartRot.x * (float)this.m_nCreateCount, this.m_AccumStartRot.y * (float)this.m_nCreateCount, this.m_AccumStartRot.z * (float)this.m_nCreateCount);
        GameObject expr_1B0 = gameObject;

        expr_1B0.name = expr_1B0.name + " " + this.m_nCreateCount;
        NcEffectBehaviour.SetActiveRecursively(gameObject, true);
        NsEffectManager.AdjustSpeedRuntime(gameObject, this.m_fPrefabSpeed);
        if (0f < this.m_fPrefabLifeTime)
        {
            NcAutoDestruct ncAutoDestruct = gameObject.GetComponent <NcAutoDestruct>();
            if (ncAutoDestruct == null)
            {
                ncAutoDestruct = base.AddNcComponentToObject <NcAutoDestruct>(gameObject);
            }
            ncAutoDestruct.m_fLifeTime = this.m_fPrefabLifeTime;
        }
        if (this.m_bDetachParent)
        {
            NcDetachParent x = gameObject.GetComponent <NcDetachParent>();
            if (x == null)
            {
                x = base.AddNcComponentToObject <NcDetachParent>(gameObject);
            }
        }
        if (0 <= this.m_nSpriteFactoryIndex)
        {
            NcSpriteFactory component = gameObject.GetComponent <NcSpriteFactory>();
            if (component)
            {
                component.SetSprite(this.m_nSpriteFactoryIndex, false);
            }
        }
        this.OnCreateAttachGameObject();
    }