public void AdjustSpeed(float speed) { if (tracks[nowTrackIndex].durationItemList.Count == tracks[nowTrackIndex].positionItemList.Count - 1) { List <DurationItem> tmp = new List <DurationItem>(); for (int i = 0; i < tracks[nowTrackIndex].durationItemList.Count; i++) { if (tracks[nowTrackIndex].positionItemList [i].transform.GetComponent <BeizerSpline> () == null) { var target01 = tracks[nowTrackIndex].positionItemList [i].transform.position; var target02 = tracks[nowTrackIndex].positionItemList [i + 1].transform.position; DurationItem tmpItem = new DurationItem(i, Vector3.Distance(target01, target02) / speed); tmp.Add(tmpItem); } else { // Debug.Log ("i : " + i + " Dis : " + positionItemList[i].transform.GetComponent<BeizerSpline>().GetDistance()); DurationItem tmpItem = new DurationItem(i, tracks[nowTrackIndex].positionItemList[i].transform.GetComponent <BeizerSpline>().GetDistance() / speed); tmp.Add(tmpItem); } } tracks[nowTrackIndex].durationItemList.Clear(); for (int i = 0; i < tmp.Count; i++) { tracks[nowTrackIndex].durationItemList.Add(tmp [i]); } } else { Debug.LogWarning("Wait for second to adjust Items"); } }
} // public static List <ThisEntity> GetAllForList(Guid parentUid) { ThisEntity row = new ThisEntity(); DurationItem duration = new DurationItem(); List <ThisEntity> profiles = new List <ThisEntity>(); Entity parent = EntityManager.GetEntity(parentUid); using (var context = new EntityContext()) { List <DBEntity> results = context.Entity_CostProfile .Where(s => s.EntityId == parent.Id) .OrderBy(s => s.Id) .ToList(); if (results != null && results.Count > 0) { foreach (DBEntity item in results) { row = new ThisEntity(); MapFromDB(item, row, false); profiles.Add(row); } } return(profiles); } } //
public void MakeArc(int resolution, int radius, int angle, float duration) { var dir = (tracks[nowTrackIndex].positionItemList [tracks[nowTrackIndex].positionItemList.Count - 2].transform.position - tracks[nowTrackIndex].positionItemList [tracks[nowTrackIndex].positionItemList.Count - 1].transform.position).normalized; var center = tracks[nowTrackIndex].positionItemList [tracks[nowTrackIndex].positionItemList.Count - 1].transform.position + dir * radius; float tmpAngle = 0; for (int i = 0; i < resolution; i++) { GameObject newPosition = new GameObject((tracks[nowTrackIndex].positionItemList.Count + 1).ToString() + " Circle"); newPosition.transform.parent = tracks[nowTrackIndex].transform; newPosition.transform.position = center + radius * (new Vector3(Mathf.Sin(tmpAngle * Mathf.Deg2Rad), Mathf.Cos(tmpAngle * Mathf.Deg2Rad), 0)); newPosition.AddComponent <SnapOnGrid> (); var newItem = new PositionItem(tracks[nowTrackIndex].positionItemList.Count, newPosition.transform); tracks[nowTrackIndex].positionItemList.Add(newItem); tmpAngle += (float)((float)angle / (float)resolution); } tracks[nowTrackIndex].size += resolution; while (tracks[nowTrackIndex].size - 1 > tracks[nowTrackIndex].durationItemList.Count) { var newItem = new DurationItem(tracks[nowTrackIndex].durationItemList.Count, duration / resolution); tracks[nowTrackIndex].durationItemList.Add(newItem); } }
public static List <ThisEntity> GetAll(int costProfileId) { ThisEntity row = new ThisEntity(); DurationItem duration = new DurationItem(); List <ThisEntity> profiles = new List <ThisEntity>(); if (costProfileId < 1) { return(profiles); } using (var context = new EntityContext()) { List <DBEntity> results = context.Entity_CostProfileItem .Where(s => s.CostProfileId == costProfileId) .OrderBy(s => s.Id) .ToList(); if (results != null && results.Count > 0) { foreach (DBEntity item in results) { row = new ThisEntity(); MapFromDB(item, row, true); profiles.Add(row); } } return(profiles); } } //
public void MakeRectangle(int width, int height, float duration) { var center = tracks[nowTrackIndex].positionItemList [tracks[nowTrackIndex].positionItemList.Count - 1].transform.position; GameObject newPosition = new GameObject((tracks[nowTrackIndex].positionItemList.Count + 1).ToString() + " Rectangle"); newPosition.transform.parent = tracks[nowTrackIndex].transform; newPosition.transform.position = center + Vector3.right * width * 0.5f + Vector3.up * height * 0.5f; newPosition.AddComponent <SnapOnGrid> (); var newItem = new PositionItem(tracks[nowTrackIndex].positionItemList.Count, newPosition.transform); tracks[nowTrackIndex].positionItemList.Add(newItem); newPosition = new GameObject((tracks[nowTrackIndex].positionItemList.Count + 1).ToString() + " Rectangle"); newPosition.transform.parent = tracks[nowTrackIndex].transform; newPosition.transform.position = center - Vector3.right * width * 0.5f + Vector3.up * height * 0.5f; newPosition.AddComponent <SnapOnGrid> (); newItem = new PositionItem(tracks[nowTrackIndex].positionItemList.Count, newPosition.transform); tracks[nowTrackIndex].positionItemList.Add(newItem); newPosition = new GameObject((tracks[nowTrackIndex].positionItemList.Count + 1).ToString() + " Rectangle"); newPosition.transform.parent = tracks[nowTrackIndex].transform; newPosition.transform.position = center - Vector3.up * height * 0.5f - Vector3.right * width * 0.5f; newPosition.AddComponent <SnapOnGrid> (); newItem = new PositionItem(tracks[nowTrackIndex].positionItemList.Count, newPosition.transform); tracks[nowTrackIndex].positionItemList.Add(newItem); newPosition = new GameObject((tracks[nowTrackIndex].positionItemList.Count + 1).ToString() + " Rectangle"); newPosition.transform.parent = tracks[nowTrackIndex].transform; newPosition.transform.position = center - Vector3.up * height * 0.5f + Vector3.right * width * 0.5f; newPosition.AddComponent <SnapOnGrid> (); newItem = new PositionItem(tracks[nowTrackIndex].positionItemList.Count, newPosition.transform); tracks[nowTrackIndex].positionItemList.Add(newItem); newPosition = new GameObject((tracks[nowTrackIndex].positionItemList.Count + 1).ToString() + " Rectangle"); newPosition.transform.parent = tracks[nowTrackIndex].transform; newPosition.transform.position = center + Vector3.right * width * 0.5f + Vector3.up * height * 0.5f; newPosition.AddComponent <SnapOnGrid> (); newItem = new PositionItem(tracks[nowTrackIndex].positionItemList.Count, newPosition.transform); tracks[nowTrackIndex].positionItemList.Add(newItem); tracks[nowTrackIndex].size += 5; while (tracks[nowTrackIndex].size - 1 > tracks[nowTrackIndex].durationItemList.Count) { var Item = new DurationItem(tracks[nowTrackIndex].durationItemList.Count, duration / 4); tracks[nowTrackIndex].durationItemList.Add(Item); } }
private void gridEvents_MouseDoubleClick(object sender, MouseButtonEventArgs e) { DependencyObject dep = (DependencyObject)e.OriginalSource; while ((dep != null) && !(dep is DataGridCell) && !(dep is DataGridColumnHeader)) { dep = VisualTreeHelper.GetParent(dep); } if (dep == null) { return; } if (dep is DataGridColumnHeader) { DataGridColumnHeader columnHeader = dep as DataGridColumnHeader; // do something } if (dep is DataGridCell) { DataGridCell cell = dep as DataGridCell; // navigate further up the tree while ((dep != null) && !(dep is DataGridRow)) { dep = VisualTreeHelper.GetParent(dep); } DataGridRow row = dep as DataGridRow; if (row != null) { DurationItem item = row.Item as DurationItem; if (item != null) { string query = Summary.GetSlowRequestQuery( this.Model.StartTime, this.Model.StopTime, startEventName, stopEventName, item.Duration.ToString()); this.txtDrillDown.Text = query; this.gridDetails.Visibility = System.Windows.Visibility.Visible; this.txtDrillDown.Visibility = System.Windows.Visibility.Visible; } } } }
public Credential() { Addresses = new List <Address>(); AlternateName = new List <string>(); AudienceLevelType = new Enumeration(); CredentialStatusType = new Enumeration(); //CredentialType = new Enumeration(); EmbeddedCredentials = new List <Credential>(); EstimatedCosts = new List <CostProfile>(); FinancialAssistanceOLD = new List <FinancialAlignmentObject>(); EstimatedDuration = new List <DurationProfile>(); RenewalFrequency = new DurationItem(); HasPartIds = new List <int>(); Id = 0; Industry = new Enumeration(); IsPartOf = new List <Credential>(); IsPartOfIds = new List <int>(); Jurisdiction = new List <JurisdictionProfile>(); //Region = new List<JurisdictionProfile>(); JurisdictionAssertions = new List <JurisdictionProfile>(); Keyword = new List <TextValueProfile>(); MilitaryOccupation = new Enumeration(); Name = ""; Occupation = new Enumeration(); OrganizationRole = new List <OrganizationRoleProfile>(); OfferedByOrganizationRole = new List <OrganizationRoleProfile>(); OfferedByOrganization = new List <Organization>(); //QualityAssuranceAction = new List<QualityAssuranceActionProfile>(); CommonCosts = new List <CostManifest>(); CommonConditions = new List <ConditionManifest>(); AllConditions = new List <ConditionProfile>(); CredentialConnections = new List <ConditionProfile>(); CommonConditions = new List <ConditionManifest>(); Recommends = new List <ConditionProfile>(); Requires = new List <ConditionProfile>(); Renewal = new List <ConditionProfile>(); Corequisite = new List <ConditionProfile>(); //RequiresCompetencies = new List<CredentialAlignmentObjectProfile>(); Revocation = new List <RevocationProfile>(); Subject = new List <TextValueProfile>(); DegreeConcentration = new List <TextValueProfile>(); DegreeMajor = new List <TextValueProfile>(); DegreeMinor = new List <TextValueProfile>(); OwningOrganization = new Organization(); OwnerRoles = new Enumeration(); OwnerOrganizationRoles = new List <OrganizationRoleProfile>(); VerificationServiceProfiles = new List <VerificationServiceProfile>(); //TargetCredential = new List<Credential>(); TargetAssessment = new List <AssessmentProfile>(); TargetLearningOpportunity = new List <LearningOpportunityProfile>(); AssessmentEstimatedCosts = new List <CostProfile>(); LearningOpportunityEstimatedCosts = new List <CostProfile>(); Naics = new List <string>(); OtherIndustries = new List <TextValueProfile>(); OtherOccupations = new List <TextValueProfile>(); CredentialProcess = new List <ProcessProfile>(); AdministrationProcess = new List <ProcessProfile>(); DevelopmentProcess = new List <ProcessProfile>(); MaintenanceProcess = new List <ProcessProfile>(); ComplaintProcess = new List <ProcessProfile>(); AppealProcess = new List <ProcessProfile>(); ReviewProcess = new List <ProcessProfile>(); RevocationProcess = new List <ProcessProfile>(); InLanguageCodeList = new List <TextValueProfile>(); VersionIdentifierList = new List <Entity_IdentifierValue>(); }
//index is index + 1 public Transform AddFlatPoint(int index) { tracks[nowTrackIndex].size += 1; GameObject newPosition = new GameObject((index + 1).ToString()); newPosition.transform.parent = tracks[nowTrackIndex].transform; newPosition.transform.SetSiblingIndex(index); var array = new GameObject[1]; array [0] = newPosition; if (index < tracks[nowTrackIndex].positionItemList.Count) { newPosition.transform.position = (tracks[nowTrackIndex].positionItemList [Mathf.Max(index - 1, 0)].transform.position + tracks[nowTrackIndex].positionItemList [Mathf.Max(index, 0)].transform.position) * 0.5f; } else { newPosition.transform.position = tracks[nowTrackIndex].positionItemList [tracks[nowTrackIndex].positionItemList.Count - 1].transform.position; } newPosition.AddComponent <SnapOnGrid> (); var hierarchy = newPosition.AddComponent <HierarchySystem> (); hierarchy.SetParent(tracks[nowTrackIndex].transform, this); hierarchy.index = index; for (int i = index; i < tracks[nowTrackIndex].positionItemList.Count; i++) { tracks[nowTrackIndex].positionItemList [i] = new PositionItem(tracks[nowTrackIndex].positionItemList[i].index + 1, tracks[nowTrackIndex].positionItemList[i].transform); tracks[nowTrackIndex].positionItemList [i].transform.name = ((tracks[nowTrackIndex].positionItemList [i].index) + 1).ToString(); tracks[nowTrackIndex].positionItemList [i].transform.GetComponent <HierarchySystem> ().index = tracks[nowTrackIndex].positionItemList [i].index; } var newItem = new PositionItem(index, newPosition.transform); tracks[nowTrackIndex].positionItemList.Insert(index, newItem); if (index < tracks[nowTrackIndex].durationItemList.Count) { var durationItem = new DurationItem(index, 1); tracks[nowTrackIndex].durationItemList.Insert(index, durationItem); } else { var durationItem = new DurationItem(tracks[nowTrackIndex].durationItemList.Count, 1); tracks[nowTrackIndex].durationItemList.Add(durationItem); } if (index < tracks[nowTrackIndex].curveItemList.Count) { var newCurve = new AnimationCurve(); var newKey01 = new Keyframe(0, 0, 0, 0); var newKey02 = new Keyframe(1, 1, 0, 0); newCurve.AddKey(newKey01); newCurve.AddKey(newKey02); var curveItem = new CurveItem(index, newCurve); tracks[nowTrackIndex].curveItemList.Insert(index, curveItem); } else { var newCurve = new AnimationCurve(); var newKey01 = new Keyframe(0, 0, 0, 0); var newKey02 = new Keyframe(1, 1, 0, 0); newCurve.AddKey(newKey01); newCurve.AddKey(newKey02); var curveItem = new CurveItem(index, newCurve); tracks[nowTrackIndex].curveItemList.Add(curveItem); } return(newPosition.transform); }
void OnDrawGizmos() { #if UNITY_EDITOR if (size < 2) { size = 2; } //size에 맞게 PositionItemList를 조정한다. { while (size > positionItemList.Count) { GameObject newPosition = new GameObject((positionItemList.Count + 1).ToString()); newPosition.transform.parent = transform; if (positionItemList.Count != 0) { newPosition.transform.position = positionItemList [positionItemList.Count - 1].transform.position; } else { newPosition.transform.position = Vector3.zero; } newPosition.AddComponent <SnapOnGrid> (); newPosition.AddComponent <HierarchySystem> (); newPosition.GetComponent <HierarchySystem> ().SetParent(transform, unit); newPosition.GetComponent <HierarchySystem> ().index = positionItemList.Count; var newItem = new PositionItem(positionItemList.Count, newPosition.transform); positionItemList.Add(newItem); } while (size < positionItemList.Count) { DestroyImmediate(transform.GetChild(positionItemList.Count - 1).gameObject); positionItemList.RemoveAt(positionItemList.Count - 1); } } //size-1에 맞게 durationItemList를 조정한다. { while (size - 1 > durationItemList.Count) { var newItem = new DurationItem(durationItemList.Count, 1); durationItemList.Add(newItem); } while (size - 1 < durationItemList.Count) { durationItemList.RemoveAt(durationItemList.Count - 1); } } //size-1에 맞게 curveItemList를 조정한다. { while (size - 1 > curveItemList.Count) { AnimationCurve newCurve = new AnimationCurve(); var newKey01 = new Keyframe(0, 0, 0, 0); var newKey02 = new Keyframe(1, 1, 0, 0); newCurve.AddKey(newKey01); newCurve.AddKey(newKey02); var newItem = new CurveItem(curveItemList.Count, newCurve); curveItemList.Add(newItem); } while (size - 1 < curveItemList.Count) { curveItemList.RemoveAt(curveItemList.Count - 1); } } //Set Select State if (UnityEditor.Selection.activeGameObject != null) { if (UnityEditor.Selection.activeGameObject == gameObject) { selected = true; } else if (UnityEditor.Selection.activeTransform.parent != null && UnityEditor.Selection.activeTransform.parent.GetComponent <PositionPool>() != null || UnityEditor.Selection.activeTransform.GetComponent <PositionPool>() != null || UnityEditor.Selection.activeTransform.parent == this.transform) { selected = true; } else { selected = false; } } //Show Position and Event Icon if (selected || unit.pinPath) { for (int i = 0; i < size; i++) { float tmpSize = 1f; tmpSize = HandleUtility.GetHandleSize(positionItemList[i].transform.position); GUIStyle newStyle = new GUIStyle(); newStyle.normal.textColor = CutSceneManager.GetInstance.fontColor; newStyle.fontSize = 20; newStyle.alignment = TextAnchor.MiddleCenter; Handles.Label(positionItemList[i].transform.position + Vector3.up * 0.1f + Vector3.up * tmpSize * 0.3f, (i + 1).ToString(), newStyle); for (int j = i; j < size; j++) { if (positionItemList[i].index == positionItemList[j].index - 1) { Gizmos.DrawIcon(positionItemList [i].transform.position + Vector3.up * 0.05f, "Position.png", true); Gizmos.DrawIcon(positionItemList [j].transform.position + Vector3.up * 0.05f, "Position.png", true); for (int k = 0; k < eventItemList.Count; k++) { foreach (EventItem t in eventItemList) { if (t.targetIndex == i) { foreach (float et in t.eventTimeList) { var pos = Vector3.Lerp(positionItemList[i].transform.position, positionItemList[j].transform.position, et / durationItemList[i].duration); Gizmos.DrawIcon(pos, "Event.png", true); } } } } var tmpColor = new Color(unit.color.r - ((unit.color.r - 0.3f) / (float)size) * positionItemList[i].index, unit.color.g - ((unit.color.g - 0.3f) / (float)size) * positionItemList[i].index, unit.color.b - ((unit.color.b - 0.3f) / (float)size) * positionItemList[i].index); Gizmos.color = tmpColor; if (positionItemList[i].transform.GetComponent <BeizerSpline>() == null) { Gizmos.DrawLine(positionItemList[i].transform.position, positionItemList[j].transform.position); } } } } } #endif }