Ejemplo n.º 1
0
    /**
     * <summary>Update is called once per frame.</summary>
     *
     * <remarks>Kazuyuki,.</remarks>
     */

    void Update()
    {
        for (int i = 0; i < m_commonDirtyCreatersOfArea1.Length; i++)
        {
            DirtyCreater creater = m_commonDirtyCreatersOfArea1[i];
            creater.CheckDistance(player.transform.position);
        }


        for (int i = 0; i < m_commonDirtyCreatersOfArea2.Length; i++)
        {
            DirtyCreater creater = m_commonDirtyCreatersOfArea2[i];
            creater.CheckDistance(player.transform.position);
        }


        for (int i = 0; i < m_commonDirtyCreatersOfArea3.Length; i++)
        {
            DirtyCreater creater = m_commonDirtyCreatersOfArea3[i];
            creater.CheckDistance(player.transform.position);
        }

        for (int i = 0; i < m_commonDirtyCreatersOfArea4.Length; i++)
        {
            DirtyCreater creater = m_commonDirtyCreatersOfArea4[i];
            creater.CheckDistance(player.transform.position);
        }

        // 着地
        for (int i = 0; i < m_landingDirtyCreatersOfArea1.Length; i++)
        {
            DirtyCreater creater = m_landingDirtyCreatersOfArea1[i];
            creater.CheckDistance(player.transform.position);
        }


        for (int i = 0; i < m_landingDirtyCreatersOfArea2.Length; i++)
        {
            DirtyCreater creater = m_landingDirtyCreatersOfArea2[i];
            creater.CheckDistance(player.transform.position);
        }


        for (int i = 0; i < m_landingDirtyCreatersOfArea3.Length; i++)
        {
            DirtyCreater creater = m_landingDirtyCreatersOfArea3[i];
            creater.CheckDistance(player.transform.position);
        }

        for (int i = 0; i < m_landingDirtyCreatersOfArea4.Length; i++)
        {
            DirtyCreater creater = m_landingDirtyCreatersOfArea4[i];
            creater.CheckDistance(player.transform.position);
        }
        // 壁

        for (int i = 0; i < m_wallDirtyCreatersOfArea1.Length; i++)
        {
            DirtyCreater creater = m_wallDirtyCreatersOfArea1[i];
            creater.CheckDistance(player.transform.position);
        }


        for (int i = 0; i < m_wallDirtyCreatersOfArea2.Length; i++)
        {
            DirtyCreater creater = m_wallDirtyCreatersOfArea2[i];
            creater.CheckDistance(player.transform.position);
        }


        for (int i = 0; i < m_wallDirtyCreatersOfArea3.Length; i++)
        {
            DirtyCreater creater = m_wallDirtyCreatersOfArea3[i];
            creater.CheckDistance(player.transform.position);
        }

        for (int i = 0; i < m_wallDirtyCreatersOfArea4.Length; i++)
        {
            DirtyCreater creater = m_wallDirtyCreatersOfArea4[i];
            creater.CheckDistance(player.transform.position);
        }

        // 車
        for (int i = 0; i < m_carDirtyCreatersOfArea1.Length; i++)
        {
            DirtyCreater creater = m_carDirtyCreatersOfArea1[i];
            creater.CheckDistance(player.transform.position);
        }


        for (int i = 0; i < m_carDirtyCreatersOfArea2.Length; i++)
        {
            DirtyCreater creater = m_carDirtyCreatersOfArea2[i];
            creater.CheckDistance(player.transform.position);
        }


        for (int i = 0; i < m_carDirtyCreatersOfArea3.Length; i++)
        {
            DirtyCreater creater = m_carDirtyCreatersOfArea3[i];
            creater.CheckDistance(player.transform.position);
        }

        for (int i = 0; i < m_carDirtyCreatersOfArea4.Length; i++)
        {
            DirtyCreater creater = m_carDirtyCreatersOfArea4[i];
            creater.CheckDistance(player.transform.position);
        }


        // レアの汚れは距離をチェックしない = 生成しない
        totalDestroyDirtyCount = destroyDirtyCount1 + destroyDirtyCount2 + destroyDirtyCount3 + destroyDirtyCount4;
        if (dirtyCounterObject)
        {
            dirtyCounterObject.GetComponent <DirtyCounter>().Count = totalDestroyDirtyCount;
        }
    }
Ejemplo n.º 2
0
    /**********************************************************************************************//**
    * @fn  public void NoticeDestroyToSystem(uint areaNum ,bool isReality)
    *
    * @brief   外部からの汚れ消し窓口
    *
    * @author  Kazuyuki
    *
    * @param   areaNum     The area number.
    * @param   isReality   true if this object is reality.
    **************************************************************************************************/

    /**
     * <summary>Notice destroy to system.</summary>
     *
     * <remarks>Kazuyuki,.</remarks>
     *
     * <param name="areaNum">  The area number.</param>
     * <param name="isReality">true if this object is reality.</param>
     */

    public void NoticeDestroyToSystem(DirtyCreater destroyedParent)
    {
        switch (destroyedParent.AffiliationArea)
        {
        case 0:

            DestroyDirtyCount1++;
            ActionRecordManager.sActionRecord.C1WashCount = destroyDirtyCount1;
            if (10000 < DestroyDirtyCount1)
            {
                DestroyDirtyCount1 = 9999;
            }
            else if (DestroyDirtyCount1 < 0)
            {
                DestroyDirtyCount1 = 0;
            }
            if (IsDestroyRealityDirty1 == false && destroyedParent.IsReality)
            {
                IsDestroyRealityDirty1 = true;
                ActionRecordManager.sActionRecord.C1HideWashFlg = true;
                wordsUI.DrawSayTexture(CharacterWordsUI.ESayTexName.WASH_REALITY);
                BGMManager.Instance.PlaySE("Wash_RareDirty");
            }

            break;

        case 1:

            DestroyDirtyCount2++;
            ActionRecordManager.sActionRecord.C2WashCount = destroyDirtyCount2;
            if (10000 < DestroyDirtyCount2)
            {
                DestroyDirtyCount2 = 9999;
            }
            else if (DestroyDirtyCount2 < 0)
            {
                DestroyDirtyCount2 = 0;
            }
            if (IsDestroyRealityDirty2 == false && destroyedParent.IsReality)
            {
                IsDestroyRealityDirty2 = true;
                ActionRecordManager.sActionRecord.C2HideWashFlg = true;
                wordsUI.DrawSayTexture(CharacterWordsUI.ESayTexName.WASH_REALITY);
                BGMManager.Instance.PlaySE("Wash_RareDirty");
            }
            break;

        case 2:

            DestroyDirtyCount3++;
            ActionRecordManager.sActionRecord.C3WashCount = destroyDirtyCount3;
            if (10000 < DestroyDirtyCount3)
            {
                DestroyDirtyCount3 = 9999;
            }
            else if (DestroyDirtyCount3 < 0)
            {
                DestroyDirtyCount3 = 0;
            }
            if (IsDestroyRealityDirty3 == false && destroyedParent.IsReality)
            {
                IsDestroyRealityDirty3 = true;
                ActionRecordManager.sActionRecord.C3HideWashFlg = true;
                wordsUI.DrawSayTexture(CharacterWordsUI.ESayTexName.WASH_REALITY);
                BGMManager.Instance.PlaySE("Wash_RareDirty");
            }
            break;

        case 3:

            DestroyDirtyCount4++;
            ActionRecordManager.sActionRecord.C4WashCount = destroyDirtyCount4;
            if (10000 < DestroyDirtyCount4)
            {
                DestroyDirtyCount4 = 9999;
            }
            else if (DestroyDirtyCount4 < 0)
            {
                DestroyDirtyCount4 = 0;
            }
            if (IsDestroyRealityDirty4 == false && destroyedParent.IsReality)
            {
                IsDestroyRealityDirty4 = true;
                ActionRecordManager.sActionRecord.C4HideWashFlg = true;
                wordsUI.DrawSayTexture(CharacterWordsUI.ESayTexName.WASH_REALITY);
                BGMManager.Instance.PlaySE("Wash_RareDirty");
            }
            break;
        }

        if (destroyedParent.IsAdhereCar)
        {
            ActionRecordManager.sActionRecord.WashCarCount++;
        }
    }
Ejemplo n.º 3
0
    static void DrawCreaterGizmos(DirtyCreater example, GizmoType gizmoType)
    {
        if (m_isDrawGizmo)
        {
            var transform = example.transform;
            Gizmos.color = new Color32(145, 244, 139, 210);

            //GizmoType.Active の時は赤色にする
            if ((gizmoType & GizmoType.Active) == GizmoType.Active)
            {
                Gizmos.color = Color.red;
            }

            Gizmos.DrawWireCube(transform.position, transform.lossyScale);

            for (int i = 0; i < example.appearancePoints.Length; i++)
            {
                var appearanceTransform = example.appearancePoints[i].transform;
                DirtyApparancePosition appearancePosition = example.appearancePoints[i].GetComponent <DirtyApparancePosition>();
                Gizmos.color = new Color32(145, 244, 139, 210);

                //GizmoType.Active の時は赤色にする
                if ((gizmoType & GizmoType.Active) == GizmoType.Active)
                {
                    Gizmos.color = Color.red;
                }

                Gizmos.DrawWireCube(appearanceTransform.position, appearanceTransform.lossyScale * 0.5f);

                switch (i)
                {
                case 0:
                    Gizmos.color = Color.cyan;
                    break;

                case 1:
                    Gizmos.color = Color.magenta;
                    break;

                case 2:
                    Gizmos.color = Color.yellow;
                    break;

                case 3:
                    Gizmos.color = Color.blue;
                    break;
                }


                for (int j = 0; j < appearancePosition.CreateNumber; j++)
                {
                    Vector3 pos = new Vector3();
                    switch (appearancePosition.m_type)
                    {
                    case DirtyApparancePosition.AppearanceType.CIRCLE:
                        pos    = new Vector3(Mathf.Cos(Mathf.Deg2Rad * j * 360.0f / (float)appearancePosition.CreateNumber), Mathf.Sin(Mathf.Deg2Rad * j * 360.0f / (float)appearancePosition.CreateNumber), 0);
                        pos.x *= appearancePosition.createRange.x;
                        pos.y *= appearancePosition.createRange.y;
                        pos    = appearancePosition.transform.rotation * pos;
                        break;

                    case DirtyApparancePosition.AppearanceType.LINE:
                        pos   = new Vector3(0, 0, 0);
                        pos.y = appearancePosition.createRange.y * j;
                        pos   = transform.rotation * pos;
                        break;

                    case DirtyApparancePosition.AppearanceType.CURVE:
                        pos   = new Vector3(appearancePosition.m_curveX.Evaluate(1.0f / (appearancePosition.createNumber - 1) * j) * appearancePosition.createRange.x, 0, 0);
                        pos.y = appearancePosition.m_curveY.Evaluate(1.0f / (appearancePosition.createNumber - 1) * j) * appearancePosition.createRange.y;
                        pos   = appearancePosition.transform.rotation * pos;
                        break;

                    default:
                        break;
                    }

                    Gizmos.DrawSphere(appearancePosition.transform.position + pos, 0.5f * appearancePosition.dirtyObject.transform.localScale.x);
                }
            }
        }
    }