Exemplo n.º 1
0
 public AnimationClip getBuffAnimation(StatusBuffBasis buff)
 {
     if (buff.BuffAnimationName.Length == 0) return null;
     if (LoadedClips.ContainsKey(buff.BuffAnimationName)) return LoadedClips[buff.BuffAnimationName];
     var anime = Resources.Load<AnimationClip>(buffdirectory + buff.BuffAnimationName);
     if (anime != null)
     {
         LoadedClips.Add(buff.BuffAnimationName, anime);
         //GameObject.DontDestroyOnLoad(anime);
         return anime;
     }
     else {
         Debug.logger.LogError("Not Found File", buff.BuffAnimationName);
         return null;
         //throw new System.IO.FileNotFoundException();
     }
 }
 public void updateBuff(StatusBuffBasis buff)
 {
 }
 public void startBuff(StatusBuffBasis buff)
 {
 }
 public void showInvalidateLog(StatusBuffBasis buff)
 {
 }
 public void exitBuff(StatusBuffBasis buff)
 {
 }
 public bool canRegisterBuff(StatusBuffBasis buff)
 {
     return buff.GetType() != this.InvalidateStatusBuffType;
 }
 public void registerBuff(StatusBuffBasis buff,bool islogged = true)
 {
     if (buffRegisterd(buff.GetType()))
     {
         buff.alreadyRegisterdAction(islogged);
     }
     else if(Parameter.canRegisterBuff(buff)){
         buff.start(islogged);
         if (!buff.isInstantEffect) {
             Parameter.CurrentBuffs.Add(buff);
             BuffAnimationEntity.startBuff(buff);
         }
     }
 }
 public void overwriteBuff(StatusBuffBasis buff)
 {
     if (buffRegisterd(buff.GetType()))
     {
         var find = Parameter.CurrentBuffs.Find(b => b.GetType() == this.GetType());
         exitBuff(find.GetType(), false);
     }
     registerBuff(buff);
 }
    public bool canRegisterBuff(StatusBuffBasis buff)
    {
        //if (!buff.canRegister()) return false;
        var findA = Abilities.Find(a => a is IStatusBaffReactionAbility && !(a as IStatusBaffReactionAbility).canRegisterBuff(buff)) as IStatusBaffReactionAbility;
        var findB = CurrentBuffs.Find(b => b is InvalidateBuff && (b as InvalidateBuff).canInvlidate(buff)) as InvalidateBuff;

        if (findB != null) {
            findB.showInvalidateLog();
            return false;
        }
        else if (findA != null) {
            findA.showInvalidateLog(buff);
            return false;
        }
        return true;
    }
 public bool canRegisterBuff(StatusBuffBasis buff)
 {
     return !(buff is Steal);
 }
 public override void showInvalidateLog(StatusBuffBasis buff)
 {
     GameController.PlayingLogger.addLog("腕輪のおかげで麻痺しなかった!");
 }
 public abstract void showInvalidateLog(StatusBuffBasis buff);
 public virtual void exitBuff(StatusBuffBasis buff)
 {
 }
 public virtual bool canRegisterBuff(StatusBuffBasis buff)
 {
     return buff.GetType() != InvalidateStatusBuffType;
 }
Exemplo n.º 15
0
 public bool canInvlidate(StatusBuffBasis buff)
 {
     return buff.GetType() == InvalidateBuffType;
 }