コード例 #1
0
    /**
     * Adds a move factor.
     * Important : store the returned moveId to the caller's side. You'll need it to remove the move factor if you don't remove'em all at the same time.
     */
    public string AddMoveFactor(long localIdInFile, Vector3 move, bool impactsAnimation = false, bool isCinematic = false, bool hasDuration = false, float duration = 0, Movable_OnMoveFactorEndCallback callback = null)
    {
        if (!moveFactorsContainer.ContainsKey(localIdInFile))
        {
            moveFactorsContainer.Add(localIdInFile, new Dictionary <string, MoveFactorData>());
        }

        string moveId = Helper.GenerateUniqueID();

        MoveFactorData moveFactorData = new MoveFactorData
        {
            factor           = move,
            type             = isCinematic ? MoveFactorData.Type.CINEMATIC : MoveFactorData.Type.DEFAULT,
            isTimed          = hasDuration,
            duration         = duration,
            impactsAnimation = impactsAnimation,
            callback         = callback
        };

        moveFactorData.Awake();

        moveFactorsContainer[localIdInFile].Add(moveId, moveFactorData);

        return(moveId);
    }
コード例 #2
0
 protected bool IsMoveFactorCompilable(MoveFactorData moveFactorData)
 {
     return
         (!movable.IsImmobilized &&
          (
              !movable.IsInCinematicMode ||
              moveFactorData.IsCinematic()
          ));
 }
コード例 #3
0
 protected bool IsMoveFactorSourceStillUp(MoveFactorData moveFactorData)
 {
     return(!moveFactorData.HasEnded());
 }