コード例 #1
0
        public NumberLabel(Transform Trans, NumberLabelType Type, string Value)
            : base("NumLabel", Trans)
        {
            Position = Trans.localPosition;

            InitWithType(Type, Value);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
        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;
            }
        }