/** * <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; } }
/**********************************************************************************************//** * @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++; } }
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); } } } }