Example #1
0
    protected void RunActionControl(int nPlayIndex, int nTransIndex)
    {
        NgUtil.LogDevelop("RunActionControl() - nPlayIndex " + nPlayIndex);

        CancelInvoke("CreateInstanceEffect");
        m_bCalledDelayCreate = false;

        // チ、チ?オネ ステー霏マ ー豼?ソ?チ?タフオオキマ ヌリオホタレ...
        ResumeTimeScale();

        // Play ---------------------------------------
        m_bStartAliveAnimation = false;
        switch (nPlayIndex)
        {
        /*AutoRet*/
        case 0: break;

        case 1: break;

        /*OneShot*/
        case 2: SetTimeScale(m_fPlayToolbarTimes[nPlayIndex]);  break;

        /*Repeat*/
        case m_nRepeatIndex:
        case m_nRepeatIndex + 1:
        case m_nRepeatIndex + 2:
        case m_nRepeatIndex + 3:
        case m_nRepeatIndex + 4: {
            // repeatシアナテタフク?. タフオソー?キテ ソノシヌタサ イ?エル.
            if (nPlayIndex != m_nPlayIndex)
            {
                nTransIndex = 0;
            }
            break;
        }
        }

        // Trans ---------------------------------------
        if (0 < nTransIndex)
        {
            // init multishot
//          if (m_nTransIndex != nTransIndex && (m_nTransIndex != 0 && nTransIndex != 0))
//              m_nMultiShotCount = 1;
// 2016.10.07 長坂 メインカメラ固定になってうため、変更できるように修正.
#if __DRECOM_
            float fTransHalfDist = (NcUtility.Camera != null ? (Vector3.Magnitude(NcUtility.Camera.transform.position) * 0.65f) : 1) * m_fTransRate;
#else
            float fTransHalfDist = (Camera.main != null ? (Vector3.Magnitude(Camera.main.transform.position) * 0.65f) : 1) * m_fTransRate;
#endif
            GameObject      instEffectObject = FXMakerMain.inst.GetInstanceEffectObject();
            GameObject      simRoot          = NgObject.CreateGameObject(instEffectObject.transform.parent.gameObject, "simulate");
            FXMakerSimulate simComponent     = simRoot.AddComponent <FXMakerSimulate>();
            instEffectObject.transform.parent = simRoot.transform;
            FXMakerMain.inst.ChangeRoot_InstanceEffectObject(simRoot);
            simComponent.Init(this, m_nMultiShotCount);

            switch (nTransIndex)
            {
            case 1:                     // Move
            {
                simComponent.SimulateMove(m_nTransAxis, fTransHalfDist, FXMakerOption.inst.m_fScaleTransSpeed * m_fDistPerTime, (m_nRotateIndex == 0));
                break;
            }

            case 2:                     // scale
            {
                simComponent.SimulateScale(m_nTransAxis, fTransHalfDist * 0.3f, FXMakerOption.inst.m_fScaleTransSpeed * m_fDistPerTime, (m_nRotateIndex == 0));
                break;
            }

            case 3:                     // Arc
            {
                simComponent.SimulateArc(fTransHalfDist * 0.7f, FXMakerOption.inst.m_fScaleTransSpeed * m_fDistPerTime, (m_nRotateIndex == 0));
                break;
            }

            case 4:                     // fall
            {
                simComponent.SimulateFall(fTransHalfDist * 0.7f, FXMakerOption.inst.m_fScaleTransSpeed * m_fDistPerTime, (m_nRotateIndex == 0));
                break;
            }

            case 5:                     // raise
            {
                simComponent.SimulateRaise(fTransHalfDist * 0.7f, FXMakerOption.inst.m_fScaleTransSpeed * m_fDistPerTime, (m_nRotateIndex == 0));
                break;
            }

            case 6:                     // circle
            {
                simComponent.SimulateCircle(fTransHalfDist * 0.5f, FXMakerOption.inst.m_fScaleTransSpeed * m_fDistPerTime, (m_nRotateIndex == 0));
                break;
            }

            case 7:                     // tornado
            {
                simComponent.SimulateTornado(fTransHalfDist * 0.3f, fTransHalfDist * 0.7f, FXMakerOption.inst.m_fScaleTransSpeed * m_fDistPerTime, (m_nRotateIndex == 0));
                break;
            }
            }
        }

        // タフオソテウクョチ゚タフク?.. タレオソケンコケオヌケヌキホ ア簔クrepeatソノシヌタコ イ?エル.
        if (0 < nTransIndex)
        {
            if (m_nRepeatIndex <= nPlayIndex)
            {
                nPlayIndex = 0;
            }
        }

        // テヨチキ ー眞、ーェ タ?タ?
        m_nPlayIndex  = nPlayIndex;
        m_nTransIndex = nTransIndex;

        if (IsRepeat())
        {
            m_fCreateTime = Time.time;
        }
    }
Example #2
0
    protected void RunActionControl(int nPlayIndex, int nTransIndex)
    {
        NgUtil.LogDevelop("RunActionControl() - nPlayIndex " + nPlayIndex);

        CancelInvoke("CreateInstanceEffect");
        m_bCalledDelayCreate = false;

        // 정지된 시계일 경우 움직이도록 해두자...
        ResumeTimeScale();

        // Play ---------------------------------------
        m_bStartAliveAnimation = false;
        switch (nPlayIndex)
        {
        /*AutoRet*/
        case 0: break;

        case 1: break;

        /*OneShot*/
        case 2: SetTimeScale(m_fPlayToolbarTimes[nPlayIndex]);  break;

        /*Repeat*/
        case m_nRepeatIndex:
        case m_nRepeatIndex + 1:
        case m_nRepeatIndex + 2:
        case m_nRepeatIndex + 3:
        case m_nRepeatIndex + 4: {
            // repeat선택이면.. 이동관련 옵션을 끈다.
            if (nPlayIndex != m_nPlayIndex)
            {
                nTransIndex = 0;
            }
            break;
        }
        }

        // Trans ---------------------------------------
        if (0 < nTransIndex)
        {
            // init multishot
//          if (m_nTransIndex != nTransIndex && (m_nTransIndex != 0 && nTransIndex != 0))
//              m_nMultiShotCount = 1;
            float           fTransHalfDist   = (Camera.main != null ? (Vector3.Magnitude(Camera.main.transform.position) * 0.65f) : 1) * m_fTransRate;
            GameObject      instEffectObject = FXMakerMain.inst.GetInstanceEffectObject();
            GameObject      simRoot          = NgObject.CreateGameObject(instEffectObject.transform.parent.gameObject, "simulate");
            FXMakerSimulate simComponent     = simRoot.AddComponent <FXMakerSimulate>();
            instEffectObject.transform.parent = simRoot.transform;
            FXMakerMain.inst.ChangeRoot_InstanceEffectObject(simRoot);
            simComponent.Init(this, m_nMultiShotCount);

            switch (nTransIndex)
            {
            case 1:                     // Move
            {
                simComponent.SimulateMove(m_nTransAxis, fTransHalfDist, FXMakerOption.inst.m_fScaleTransSpeed * m_fDistPerTime, (m_nRotateIndex == 0));
                break;
            }

            case 2:                     // scale
            {
                simComponent.SimulateScale(m_nTransAxis, fTransHalfDist * 0.3f, FXMakerOption.inst.m_fScaleTransSpeed * m_fDistPerTime, (m_nRotateIndex == 0));
                break;
            }

            case 3:                     // Arc
            {
                simComponent.SimulateArc(fTransHalfDist * 0.7f, FXMakerOption.inst.m_fScaleTransSpeed * m_fDistPerTime, (m_nRotateIndex == 0));
                break;
            }

            case 4:                     // fall
            {
                simComponent.SimulateFall(fTransHalfDist * 0.7f, FXMakerOption.inst.m_fScaleTransSpeed * m_fDistPerTime, (m_nRotateIndex == 0));
                break;
            }

            case 5:                     // raise
            {
                simComponent.SimulateRaise(fTransHalfDist * 0.7f, FXMakerOption.inst.m_fScaleTransSpeed * m_fDistPerTime, (m_nRotateIndex == 0));
                break;
            }

            case 6:                     // circle
            {
                simComponent.SimulateCircle(fTransHalfDist * 0.5f, FXMakerOption.inst.m_fScaleTransSpeed * m_fDistPerTime, (m_nRotateIndex == 0));
                break;
            }

            case 7:                     // tornado
            {
                simComponent.SimulateTornado(fTransHalfDist * 0.3f, fTransHalfDist * 0.7f, FXMakerOption.inst.m_fScaleTransSpeed * m_fDistPerTime, (m_nRotateIndex == 0));
                break;
            }
            }
        }

        // 이동처리중이면... 자동반복되므로 기존repeat옵션은 끈다.
        if (0 < nTransIndex)
        {
            if (m_nRepeatIndex <= nPlayIndex)
            {
                nPlayIndex = 0;
            }
        }

        // 최족 결정값 저장
        m_nPlayIndex  = nPlayIndex;
        m_nTransIndex = nTransIndex;

        if (IsRepeat())
        {
            m_fCreateTime = Time.time;
        }
    }
Example #3
0
    bool IsAliveAnimation()
    {
        GameObject rootInstObj = NcEffectBehaviour.GetRootInstanceEffect();

        Transform[] tranComs = rootInstObj.GetComponentsInChildren <Transform>(true);
        foreach (Transform trans in tranComs)
        {
            int  bNcAni    = -1;                                        // -1:None, 0:End, 1:Alive
            int  bParticle = -1;
            bool bRen      = false;

            // Check Animation
            NcEffectBehaviour[] effList = trans.GetComponents <NcEffectBehaviour>();
            foreach (NcEffectBehaviour eff in effList)
            {
                switch (eff.GetAnimationState())
                {
                case 1: bNcAni = 1;    break;

                case 0: bNcAni = 0;    break;
                }
            }

            // Check ParticleSystem
            if (trans.GetComponent <ParticleSystem>() != null)
            {
                bParticle = 0;
                if (NgObject.IsActive(trans.gameObject) && ((trans.GetComponent <ParticleSystem>().emission.enabled&& trans.GetComponent <ParticleSystem>().IsAlive()) || 0 < trans.GetComponent <ParticleSystem>().particleCount))
                {
                    bParticle = 1;
                }
            }

            // Check ParticleSystem
            if (bParticle < 1)
            {
                if (trans.GetComponent <ParticleEmitter>() != null)
                {
                    bParticle = 0;
                    if (NgObject.IsActive(trans.gameObject) && (trans.GetComponent <ParticleEmitter>().emit || 0 < trans.GetComponent <ParticleEmitter>().particleCount))
                    {
                        bParticle = 1;
                    }
                }
            }

            // Check Renderer
            if (trans.GetComponent <Renderer>() != null)
            {
                if (trans.GetComponent <FXMakerWireframe>() == null && trans.GetComponent <Renderer>().enabled&& NgObject.IsActive(trans.gameObject))
                {
                    bRen = true;
                }
            }

//              Debug.Log("bNcAni " + bNcAni + ", bParticle " + bParticle + ", bRen " + bRen);
            if (0 < bNcAni)
            {
                return(true);
            }
            if (bParticle == 1)
            {
                return(true);
            }
            if (bRen && (trans.GetComponent <MeshFilter>() != null || trans.GetComponent <TrailRenderer>() != null || trans.GetComponent <LineRenderer>() != null))
            {
                return(true);
            }
        }
        return(false);
    }
Example #4
0
 public static GameObject CreateGameObject(MonoBehaviour parent, GameObject prefabObj)
 {
     return(NgObject.CreateGameObject(parent.get_transform(), prefabObj));
 }
Example #5
0
 public static GameObject CreateGameObject(MonoBehaviour parent, GameObject prefabObj, Vector3 pos, Quaternion rot)
 {
     return(NgObject.CreateGameObject(parent.get_transform(), prefabObj, pos, rot));
 }
Example #6
0
 public static Component CreateComponent(MonoBehaviour parent, Type type)
 {
     return(NgObject.CreateComponent(parent.get_gameObject(), type));
 }
Example #7
0
 public static GameObject CreateGameObject(MonoBehaviour parent, string name)
 {
     return(NgObject.CreateGameObject(parent.get_transform(), name));
 }
Example #8
0
 public static GameObject CreateGameObject(GameObject parent, GameObject prefabObj, Vector3 pos, Quaternion rot)
 {
     return(NgObject.CreateGameObject(parent.transform, prefabObj, pos, rot));
 }
Example #9
0
 public static Component CreateComponent(Transform parent, Type type)
 {
     return(NgObject.CreateComponent(parent.get_gameObject(), type));
 }
Example #10
0
 public static GameObject CreateGameObject(GameObject parent, string name)
 {
     return(NgObject.CreateGameObject(parent.transform, name));
 }
Example #11
0
 public static GameObject CreateGameObject(GameObject parent, GameObject prefabObj)
 {
     return(NgObject.CreateGameObject(parent.transform, prefabObj));
 }
Example #12
0
    protected void RunActionControl(int nPlayIndex, int nTransIndex)
    {
        NgUtil.LogDevelop("RunActionControl() - nPlayIndex " + nPlayIndex);
        base.CancelInvoke();
        this.m_bCalledDelayCreate = false;
        this.ResumeTimeScale();
        this.m_bStartAliveAnimation = false;
        switch (nPlayIndex)
        {
        case 2:
            this.SetTimeScale(this.m_fPlayToolbarTimes[nPlayIndex]);
            break;

        case 3:
        case 4:
        case 5:
        case 6:
        case 7:
            if (nPlayIndex != this.m_nPlayIndex)
            {
                nTransIndex = 0;
            }
            break;
        }
        if (0 < nTransIndex)
        {
            float           num = ((!(Camera.main != null)) ? 1f : (Vector3.Magnitude(Camera.main.transform.position) * 0.8f)) * this.m_fTransRate;
            GameObject      instanceEffectObject = FxmTestMain.inst.GetInstanceEffectObject();
            GameObject      gameObject           = NgObject.CreateGameObject(instanceEffectObject.transform.parent.gameObject, "simulate");
            FxmTestSimulate fxmTestSimulate      = gameObject.AddComponent <FxmTestSimulate>();
            instanceEffectObject.transform.parent = gameObject.transform;
            FxmTestMain.inst.ChangeRoot_InstanceEffectObject(gameObject);
            fxmTestSimulate.Init(this, this.m_nMultiShotCount);
            switch (nTransIndex)
            {
            case 1:
                fxmTestSimulate.SimulateMove(this.m_nTransAxis, num, this.m_fDistPerTime, this.m_nRotateIndex == 0);
                break;

            case 2:
                fxmTestSimulate.SimulateScale(this.m_nTransAxis, num * 0.3f, this.m_fStartPosition, this.m_fDistPerTime, this.m_nRotateIndex == 0);
                break;

            case 3:
                fxmTestSimulate.SimulateArc(num * 0.7f, this.m_fDistPerTime, this.m_nRotateIndex == 0);
                break;

            case 4:
                fxmTestSimulate.SimulateFall(num * 0.7f, this.m_fDistPerTime, this.m_nRotateIndex == 0);
                break;

            case 5:
                fxmTestSimulate.SimulateRaise(num * 0.7f, this.m_fDistPerTime, this.m_nRotateIndex == 0);
                break;

            case 6:
                fxmTestSimulate.SimulateCircle(num * 0.5f, this.m_fDistPerTime, this.m_nRotateIndex == 0);
                break;

            case 7:
                fxmTestSimulate.SimulateTornado(num * 0.3f, num * 0.7f, this.m_fDistPerTime, this.m_nRotateIndex == 0);
                break;
            }
        }
        if (0 < nTransIndex && 3 <= nPlayIndex)
        {
            nPlayIndex = 0;
        }
        this.m_nPlayIndex  = nPlayIndex;
        this.m_nTransIndex = nTransIndex;
        if (this.IsRepeat())
        {
            this.m_fCreateTime = Time.time;
        }
    }
Example #13
0
    private bool IsAliveAnimation()
    {
        GameObject rootInstanceEffect = NcEffectBehaviour.GetRootInstanceEffect();

        Transform[] componentsInChildren = rootInstanceEffect.GetComponentsInChildren <Transform>(true);
        Transform[] array = componentsInChildren;
        for (int i = 0; i < array.Length; i++)
        {
            Transform           transform  = array[i];
            int                 num        = -1;
            int                 num2       = -1;
            bool                flag       = false;
            NcEffectBehaviour[] components = transform.GetComponents <NcEffectBehaviour>();
            NcEffectBehaviour[] array2     = components;
            for (int j = 0; j < array2.Length; j++)
            {
                NcEffectBehaviour ncEffectBehaviour = array2[j];
                int animationState = ncEffectBehaviour.GetAnimationState();
                if (animationState != 0)
                {
                    if (animationState == 1)
                    {
                        num = 1;
                    }
                }
                else
                {
                    num = 0;
                }
            }
            if (transform.particleSystem != null)
            {
                num2 = 0;
                if (NgObject.IsActive(transform.gameObject) && ((transform.particleSystem.enableEmission && transform.particleSystem.IsAlive()) || 0 < transform.particleSystem.particleCount))
                {
                    num2 = 1;
                }
            }
            if (num2 < 1 && transform.particleEmitter != null)
            {
                num2 = 0;
                if (NgObject.IsActive(transform.gameObject) && (transform.particleEmitter.emit || 0 < transform.particleEmitter.particleCount))
                {
                    num2 = 1;
                }
            }
            if (transform.renderer != null && transform.renderer.enabled && NgObject.IsActive(transform.gameObject))
            {
                flag = true;
            }
            if (0 < num)
            {
                return(true);
            }
            if (num2 == 1)
            {
                return(true);
            }
            if (flag && (transform.GetComponent <MeshFilter>() != null || transform.GetComponent <TrailRenderer>() != null || transform.GetComponent <LineRenderer>() != null))
            {
                return(true);
            }
        }
        return(false);
    }
Example #14
0
    protected void RunActionControl(int nPlayIndex, int nTransIndex)
    {
        NgUtil.LogDevelop("RunActionControl() - nPlayIndex " + nPlayIndex);

        CancelInvoke();
        m_bCalledDelayCreate = false;

        // 沥瘤等 矫拌老 版快 框流捞档废 秦滴磊...
        ResumeTimeScale();

        // Play ---------------------------------------
        m_bStartAliveAnimation = false;
        switch (nPlayIndex)
        {
        /*AutoRet*/
        case 0: break;

        case 1: break;

        /*OneShot*/
        case 2: SetTimeScale(m_fPlayToolbarTimes[nPlayIndex]);  break;

        /*Repeat*/
        case m_nRepeatIndex:
        case m_nRepeatIndex + 1:
        case m_nRepeatIndex + 2:
        case m_nRepeatIndex + 3:
        case m_nRepeatIndex + 4: {
            // repeat急琶捞搁.. 捞悼包访 可记阑 馋促.
            if (nPlayIndex != m_nPlayIndex)
            {
                nTransIndex = 0;
            }
            break;
        }
        }

        // Trans ---------------------------------------
        if (0 < nTransIndex)
        {
            // init multishot
//          if (m_nTransIndex != nTransIndex && (m_nTransIndex != 0 && nTransIndex != 0))
//              m_nMultiShotCount = 1;

            float           fTransHalfDist   = (Camera.main != null ? (Vector3.Magnitude(Camera.main.transform.position) * 0.8f) : 1) * m_fTransRate;
            GameObject      instEffectObject = FxmTestMain.inst.GetInstanceEffectObject();
            GameObject      simRoot          = NgObject.CreateGameObject(instEffectObject.transform.parent.gameObject, "simulate");
            FxmTestSimulate simComponent     = simRoot.AddComponent <FxmTestSimulate>();
            instEffectObject.transform.parent = simRoot.transform;
            FxmTestMain.inst.ChangeRoot_InstanceEffectObject(simRoot);
            simComponent.Init(this, m_nMultiShotCount);

            switch (nTransIndex)
            {
            case 1:                     // Move
            {
                simComponent.SimulateMove(m_nTransAxis, fTransHalfDist, m_fDistPerTime, (m_nRotateIndex == 0));
                break;
            }

            case 2:                     // scale
            {
                simComponent.SimulateScale(m_nTransAxis, fTransHalfDist * 0.3f, m_fStartPosition, m_fDistPerTime, (m_nRotateIndex == 0));
                break;
            }

            case 3:                     // Arc
            {
                simComponent.SimulateArc(fTransHalfDist * 0.7f, m_fDistPerTime, (m_nRotateIndex == 0));
                break;
            }

            case 4:                     // fall
            {
                simComponent.SimulateFall(fTransHalfDist * 0.7f, m_fDistPerTime, (m_nRotateIndex == 0));
                break;
            }

            case 5:                     // raise
            {
                simComponent.SimulateRaise(fTransHalfDist * 0.7f, m_fDistPerTime, (m_nRotateIndex == 0));
                break;
            }

            case 6:                     // circle
            {
                simComponent.SimulateCircle(fTransHalfDist * 0.5f, m_fDistPerTime, (m_nRotateIndex == 0));
                break;
            }

            case 7:                     // tornado
            {
                simComponent.SimulateTornado(fTransHalfDist * 0.3f, fTransHalfDist * 0.7f, m_fDistPerTime, (m_nRotateIndex == 0));
                break;
            }
            }
        }

        // 捞悼贸府吝捞搁... 磊悼馆汗登骨肺 扁粮repeat可记篮 馋促.
        if (0 < nTransIndex)
        {
            if (m_nRepeatIndex <= nPlayIndex)
            {
                nPlayIndex = 0;
            }
        }

        // 弥练 搬沥蔼 历厘
        m_nPlayIndex  = nPlayIndex;
        m_nTransIndex = nTransIndex;

        if (IsRepeat())
        {
            m_fCreateTime = Time.time;
        }
    }
Example #15
0
    public GameObject[]    m_ReferenceObjects = new GameObject[FXMakerBackground.m_ReferenceTypeCount];                                         //  m_ModelPrefab1, m_ModelPrefab2,

    //	[HideInInspector]

    // Property -------------------------------------------------------------------------
    public void SetActive()
    {
        NgObject.SetActiveRecursively(gameObject, true);
    }
    // Loop Function --------------------------------------------------------------------
    void Update()
    {
        if (m_bStartDetach == false)
        {
            m_bStartDetach = true;

            if (transform.parent != null)
            {
                m_ParentGameObject = transform.parent.gameObject;
                NcDetachObject.Create(m_ParentGameObject, transform.gameObject);
            }

            // Detach Parent
            GameObject parentObj = GetRootInstanceEffect();

            if (m_bFollowParentTransform)
            {
                m_OriginalPos.SetLocalTransform(transform);
                ChangeParent(parentObj.transform, transform, false, null);
                m_OriginalPos.CopyToLocalTransform(transform);
            }
            else
            {
                ChangeParent(parentObj.transform, transform, false, null);
            }

            if (m_bParentHideToStartDestroy == false)
            {
                StartDestroy();
            }
        }

        // Live time
        if (0 < m_fStartDestroyTime)
        {
            if (0 < m_fSmoothDestroyTime)
            {
                if (m_bSmoothHide)
                {
                    float fRate = 1 - ((GetEngineTime() - m_fStartDestroyTime) / m_fSmoothDestroyTime);
                    if (fRate < 0)
                    {
                        fRate = 0;
                    }

                    // Recursively
                    Renderer[] rens = transform.GetComponentsInChildren <Renderer>(true);
                    for (int n = 0; n < rens.Length; n++)
                    {
                        Renderer ren     = rens[n];
                        string   colName = GetMaterialColorName(ren.material);

                        if (colName != null)
                        {
                            Color col = ren.material.GetColor(colName);
                            col.a = Mathf.Min(fRate, col.a);
                            ren.material.SetColor(colName, col);
                        }
                    }
                }
                if (m_fStartDestroyTime + m_fSmoothDestroyTime < GetEngineTime())
                {
                    Object.Destroy(gameObject);
                }
            }
        }
        else
        {
            if (m_bParentHideToStartDestroy)
            {
                if (m_ParentGameObject == null || NgObject.IsActive(m_ParentGameObject) == false)
                {
                    StartDestroy();
                }
            }
        }

        // follow parent transform
        if (m_bFollowParentTransform && m_ParentGameObject != null && m_ParentGameObject.transform != null)
        {
            NcTransformTool tmp = new NcTransformTool();
            tmp.SetTransform(m_OriginalPos);
            tmp.AddTransform(m_ParentGameObject.transform);
            tmp.CopyToLocalTransform(transform);
        }
    }