public void Init(int damage, Vector3 worldPosition)
        {
            coSeq = new Coroutine_.Sequencer(this);

            string str = damage.ToString();
            back.text = front.text = str;

            var uiPos = UnityBasic.Util.Vec3XYOnly(Camera.main.WorldToScreenPoint(worldPosition + ADD_START_POS));

            colorBackStart = back.color;
            colorBackEnd = UnityBasic.Util.CreateInvisibleColor(colorBackStart);
            colorFrontStart = front.color;
            colorFrontEnd = UnityBasic.Util.CreateInvisibleColor(colorFrontStart);

            this.transform.position = uiPos;
            startPos = uiPos;
            goalPos = startPos + VECTOR_MOVE;

            coSeq.Add(Coroutine_.Action.LerpScale(
                this.gameObject,
                new Vector3(0.8f, 0.8f, 0.8f),
                new Vector3(1f, 1f, 1f),
                0.2f));
            coSeq.Add(Coroutine_.Action.CustomLerpOld(SECOND_FADE, FadeOutAndMove));
            coSeq.Add(Coroutine_.Action.Func(() => GameObject.Destroy(this.gameObject)));
        }
        public void Init(Vector2 pos, float width)
        {
            Debug.Assert(this.rectTrans != null);
            Debug.Assert(this.image != null);

            this.coGrid = new Coroutine_.Sequencer(this);
            this.coFloor = new Coroutine_.Sequencer(this);

            this.transform.position = new Vector3(pos.x, 0.2f, pos.y);

            // adjust size
            var size = new Vector2(width, width);
            this.rectTrans.sizeDelta = size;
            this.rectTransGrid.sizeDelta = size;

            this.mode = Mode.None;
            this.image.color = COLOR_FIRST;
            this.imageGrid.color = COLOR_GRID_FIRST;
            this.ChangeModeGridOnly();
        }
        public void Init(GameObject model, int player, TacticsBG.Unit.Type type)
        {
            this.model = model;
            Animator = this.model.GetComponent<UnitAnimatorController>();

            unitType = type;

            _coSequencer = new Coroutine_.Sequencer(this);

            if (player == 0)
                HpSlider.FrontImage.color = HP_COLOR0;
            else
                HpSlider.FrontImage.color = HP_COLOR1;
        }