protected void CreateRound() { var round = trackers.Count > 0 ? trackers.Last().round + 1 : 0; var roundItem = AnimatedItem.CreateInstance <AnimatedItem>(); roundItem.prefab = roundPrefab; roundItem.calculateSize = true; roundItem.createOnInit = true; base.Add(roundItem); ValueReceiver.SendValue(roundItem.item.gameObject, round); var units = Game.rounds.GetEstimatedOrder(round - Game.rounds.round); trackers.Add(new() { round = round, index = items.Count, units = units, }); foreach (var unit in units) { var unitItem = AnimatedItem.CreateInstance <AnimatedItem>(); unitItem.prefab = unitPrefab; unitItem.calculateSize = true; unitItem.createOnInit = true; base.Add(unitItem); ValueReceiver.SendValue(unitItem.item.gameObject, unit); ValueReceiver.SendValue(unitItem.item.gameObject, round); } }
public virtual void OnCombatLog(string str) { var roundItem = AnimatedItem.CreateInstance <AnimatedItem>(); roundItem.prefab = logItem; roundItem.calculateSize = true; roundItem.createOnInit = true; base.Insert(0, roundItem); roundItem.item.gameObject.GetComponentInChildren <TMPro.TMP_Text>().text = str; }
private static AnimatedItem GetOrCreateAnimatedItem(RectTransform rt) { AnimatedItem item; if (!rectToItem.TryGetValue(rt, out item)) { item = rectToItem[rt] = new AnimatedItem(rt); } return(item); }
private static void LogItem(AnimatedItem item) { Debug.WriteLine("Trackee: " + item.Feature["Trackee"]); Debug.WriteLine("ID: " + item.Feature["ID"]); Debug.WriteLine("speed: " + item.Feature["Speed"]); Debug.WriteLine("Bps: " + item.Feature["Bps"]); Debug.WriteLine("DateGps: " + item.Feature["DateGps"]); Debug.WriteLine("DateReceived: " + item.Feature["DateReceived"]); Debug.WriteLine("Longitude: " + item.Feature["Longitude"]); Debug.WriteLine("Latitude: " + item.Feature["Latitude"]); Debug.WriteLine("X: " + item.CurrentPoint.X); Debug.WriteLine("Y: " + item.CurrentPoint.Y); Debug.WriteLine("Previous X: " + item.PreviousPoint.X); Debug.WriteLine("Previous Y: " + item.PreviousPoint.Y); Debug.WriteLine("-------------------------------------------------"); }
private static List <AnimatedItem> ConvertToAnimatedItems(IEnumerable <IFeature> features, List <AnimatedItem> previousItems, string idField) { var result = new List <AnimatedItem>(); foreach (var feature in features) { var animatedItem = new AnimatedItem { Feature = feature, CurrentPoint = CopyAsPoint(feature.Geometry), PreviousPoint = CopyAsPoint(FindPreviousPoint(previousItems, feature, idField)) }; result.Add(animatedItem); } return(result); }
private static IEnumerator PlayCoroutine(AnimatedItem item, Animation anim, Action onDone = null, bool forcedStopPreviousAnimation = true, float timeScale = 1, int repeatCount = 1) { //wait finsh of prev animation while (item.CurrentAnimation != null) { if (forcedStopPreviousAnimation) { item.CurrentAnimation.StopAndResetTransform();//forced stop prev animation } yield return(null); } //object disposed? if (!item.Transform) { yield break; } //activate object item.Transform.gameObject.SetActive(true); if (!item.Transform.gameObject.activeInHierarchy) { //can not play inactive... item.CurrentAnimation = null; onDone?.Invoke(); yield break; } var animInstance = anim?.CreateInstance(); item.CurrentAnimation = animInstance; try { if (animInstance != null) { yield return(animInstance.Play(item.Transform, timeScale, repeatCount)); } } finally { item.CurrentAnimation = null; onDone?.Invoke(); } }
private static List<AnimatedItem> ConvertToAnimatedItems(IEnumerable<IFeature> features, List<AnimatedItem> previousItems, string idField) { var result = new List<AnimatedItem>(); foreach (var feature in features) { var animatedItem = new AnimatedItem { Feature = feature, CurrentPoint = CopyAsPoint(feature.Geometry), PreviousPoint = CopyAsPoint(FindPreviousPoint(previousItems, feature, idField)) }; result.Add(animatedItem); } return result; }