public void InfluenceMachine(FStateMachine sm)
 {
     for (int i = 0; i < sm.mFCharacterDataList.Count; i++)
     {
         FCharacterData other = sm.mFCharacterDataList[i];
         FCharacterData fd    = GetCharacterData(other.GetKey());
         if (fd != null)
         {
             fd.AddFCharacter(other);
         }
     }
 }
 public void ComputeData(float timeDp)
 {
     for (int j = mDataList.Count - 1; j >= 0; j--)
     {
         FCharacterData fd = mDataList[j];
         LogicCharacter(timeDp, fd);
         if ((fd.mTimeDp -= timeDp) < 0)
         {
             mDataList.Remove(fd);
             EndCharacter(fd);
         }
     }
 }
        protected override void BeginCharacter(FCharacterData fcd)
        {
            BloodData sd = (BloodData)fcd;
            int       bl = sd.attack - defend;

            if (blood <= 0)
            {
                //Debug.LogError("多次计算碰撞错误");
                return;
            }
            blood -= (bl > 0 ? bl : 0);
            if (mBloodEvent != null && curBlood != blood)
            {
                curBlood = blood;
                mBloodEvent(blood);
            }
        }
 public override void EndCharacter(FCharacterData fcd)
 {
     SentEvent();
 }
 protected virtual void LogicCharacter(float timeDp, FCharacterData fcd)
 {
 }
 protected virtual void BeginCharacter(FCharacterData fcd)
 {
 }
 public void AddFCharacter(FCharacterData fcd)
 {
     mDataList.Add(fcd.GetCloneInistane());
     BeginCharacter(fcd);
 }
 public virtual void EndCharacter(FCharacterData fcd)
 {
 }
 public void RegisterData(FCharacterData fd)
 {
     mFCharacterDataList.Add(fd);
 }
Exemple #10
0
 protected override void BeginCharacter(FCharacterData fcd)
 {
     SentEvent();
 }