コード例 #1
0
    public bool Init(GameObject handle, AnimGoalType type, bool withInterrupt = false)
    {
        if (((uint)goalType & 0x80000000) != 0 || goalType >= AnimGoalType.count)
        {
            Logger.Error("Illegal goalType");
            GameSystems.Anim.Debug();
        }

        animId.number         = -1;
        animIdPrevious.number = -1;
        animData.number       = -1;
        spellData.number      = -1;
        flagsData.number      = -1;
        soundStreamId         = -1;
        goalType            = type;
        self.obj            = handle;
        target.obj          = null;
        block.obj           = null;
        scratch.obj         = null;
        parent.obj          = null;
        targetTile.location = LocAndOffsets.Zero;
        range.location      = LocAndOffsets.Zero;
        skillData.number    = 0;
        scratchVal1.number  = 0;
        scratchVal2.number  = 0;
        scratchVal3.number  = 0;
        scratchVal4.number  = 0;
        scratchVal5.number  = 0;
        scratchVal6.number  = 0;
        soundHandle.number  = 0;
        if (withInterrupt)
        {
            var ag = GameSystems.Anim.Goals.GetByType(goalType);
            if (ag == null)
            {
                Logger.Error("pGoalNode != NULL assertion failed");
                GameSystems.Anim.Debug();
            }

            return(GameSystems.Anim.Interrupt(handle, ag.priority, ag.interruptAll));
        }

        return(true);
    }
コード例 #2
0
 public AnimGoal(AnimGoalType type)
 {
     Type = type;
 }
コード例 #3
0
 public bool InitWithInterrupt(GameObject obj, AnimGoalType goalType)
 {
     return(Init(obj, goalType, true));
 }
コード例 #4
0
 public AnimSlotGoalStackEntry(GameObject handle, AnimGoalType type, bool withInterrupt = false)
 {
     Init(handle, type, withInterrupt);
 }