public NumberLabel(Transform Trans, NumberLabelType Type, string Value) : base("NumLabel", Trans) { Position = Trans.localPosition; InitWithType(Type, Value); }
public static NumberLabel AddNumberLabel(Vector2 Position, NumberLabelType Type, float Value) { var Obj = AssetManager.CreatePrefabSync(new AssetUri("prefabs/num.prefab")); MapManager.AddToTopLayer(Obj.transform); Obj.transform.localPosition = Position; var Entity = new NumberLabel(Obj.transform, Type, $"{Value:0.0}"); LabelList_.Add(Entity); Entity.Position = Position; return(Entity); }
private BaseMotion CreateMotion(NumberLabelType Type) { switch (Type) { case NumberLabelType.Float: return(new MoveMotion(0.8f, new Vector3(0, 40, 0), true)); case NumberLabelType.Bomb: return(new SequenceMotion( new ScaleMotion(0.2f, new Vector3(2, 2, 1), false), new WaitTimeMotion(0.5f))); case NumberLabelType.Laser: return(new WaitTimeMotion(1)); default: return(null); } }
private void InitWithType(NumberLabelType Type, string Value) { var Txt = Transform_.GetComponent <Text>(); Txt.text = Value; switch (Type) { case NumberLabelType.Float: Txt.color = Color.red; Txt.fontSize = 14; break; case NumberLabelType.Bomb: Txt.color = Color.yellow; Txt.fontSize = 14; break; case NumberLabelType.Laser: Txt.color = Color.green; Txt.fontSize = 30; break; default: break; } var Motion = CreateMotion(Type); if (Motion != null) { Transform_.ExecuteMotion(new SequenceMotion(Motion, new CallbackMotion(() => { IsAlive = false; }))); } else { IsAlive = false; } }