public void InitTrackStorage(Transform tParent, CTrackCreater tTrackCreater) { mTrackParent = tParent; mTrackCreater = tTrackCreater; TrackStorage = new Dictionary <CTrackCreater.TRACKKIND, List <CTrackTile> >(); var tTrackKinds = System.Enum.GetValues(typeof(CTrackCreater.TRACKKIND)).GetEnumerator(); while (tTrackKinds.MoveNext()) { CTrackCreater.TRACKKIND tKind = (CTrackCreater.TRACKKIND)tTrackKinds.Current; int tCreateCount = 0; if (tKind == CTrackCreater.TRACKKIND.START || tKind == CTrackCreater.TRACKKIND.END) { tCreateCount = 1; } else { tCreateCount = 5; } for (int i = 0; i < tCreateCount; i++) { if (TrackStorage.ContainsKey(tKind) == false) { TrackStorage.Add(tKind, new List <CTrackTile>()); } if (GetPrefab(tKind) == null) { Debug.Log("Prefab is Null"); } CTrackTile tTile = GameObject.Instantiate(GetPrefab(tKind), Vector3.zero, Quaternion.identity); tTile.gameObject.SetActive(false); tTile.transform.SetParent(tParent); tTile.SetTrackCreater(mTrackCreater); TrackStorage[tKind].Add(tTile); } } }
public void SetTrackCreater(CTrackCreater tTrackCreater) { TrackCreater = tTrackCreater; }
void Start() { TrackCreater = new CTrackCreater(); TrackCreater.CreateTrack(this.transform); }