Exemple #1
0
    // ----------------------------------------------------------------
    //  Doers
    // ----------------------------------------------------------------
    public void UpdateBeamView()
    {
        int numBeamSegments;

        // Oh, if my Beam has been destroyed, say it's got no segments; just stop rendering it completely. (There will be a small visual inconsistency, but it's almost impossible to notice.)
        if (!MyBeam.IsInPlay)
        {
            numBeamSegments = 0;
        }
        else
        {
            numBeamSegments = MyBeam.NumSegments;
        }
        // Make more segments if we need them!
        int numNewSegmentViews = numBeamSegments - segmentViews.Count;

        for (int i = 0; i < numNewSegmentViews; i++)
        {
            segmentViews.Add(GetNewSegmentView());
        }
        // Activate/deactivate the right ones!
        for (int i = 0; i < numBeamSegments; i++)
        {
            BoardOccupant   sourceOccupant = MyBeam.GetSegment(i).SourceOccupant;
            BoardObjectView sourceView     = MyBoardView.TEMP_GetObjectView(sourceOccupant);
            segmentViews[i].Activate(sourceView);
        }
        for (int i = numBeamSegments; i < segmentViews.Count; i++)
        {
            segmentViews[i].Deactivate();
        }
    }
Exemple #2
0
    virtual public void UpdateVisualsPostMove()
    {
        // Snap to correct rotation/scale (no animating for now, no need).
        Rotation = GetRotationFromMyObject();
        Scale    = GetScaleFromMyObject();
        // Animate from old to new pos!
        Vector2 posFrom = MyBoardView.BoardToPos(MyTile.ColRow - MyTile.PrevMoveDelta);
        Vector2 posTo   = GetPosFromMyObject();

        LeanTween.cancel(this.gameObject);
        SetPos(posFrom); // start there now.
        LeanTween.value(this.gameObject, SetPos, posFrom, posTo, 0.18f).setEaseOutQuint();
    }
Exemple #3
0
 protected Vector2 GetPosFromMyObject()
 {
     return(MyBoardView.BoardToPos(MyTile.ColRow));
 }