private void Awake() { // clone()을 만들어서 초기값을 저장해둠 InstantEffectInitialValue = InstantEffect.Clone(instantEffect); PersistEffectInitialValue = PersistEffect.Clone(persistEffect); ConditionalEffectInitialValue = ConditionalEffect.Clone(conditionalEffect); }
public static CUseEffect Clone(CUseEffect origin) { return(new CUseEffect { IsUseEffectName = origin.IsUseEffectName, EffectName = origin.EffectName, instantEffect = InstantEffect.Clone(origin.instantEffect), persistEffect = PersistEffect.Clone(origin.persistEffect), conditionalEffect = ConditionalEffect.Clone(origin.conditionalEffect), }); }
public PersistEffect Copy(PersistEffect origin) { time = origin.time; id = origin.id; TickHpChange.Copy(origin.TickHpChange); TickPeriod = origin.TickPeriod; changeAbilities = origin.changeAbilities; increaseStack = origin.increaseStack; maxStack = origin.maxStack; stackAccumulateEffect.Copy(origin.stackAccumulateEffect); return(this); }
public static PersistEffect Clone(PersistEffect origin) { return(new PersistEffect { time = origin.time, id = origin.id, TickHpChange = HpChange.Clone(origin.TickHpChange), TickPeriod = origin.TickPeriod, // 주의 - 능력치 버프는 강화되는 일 없으리라 생각되므로 얕은 복사 사용 changeAbilities = origin.changeAbilities, increaseStack = origin.increaseStack, maxStack = origin.maxStack, stackAccumulateEffect = StackAccumulateEffect.Clone(origin.stackAccumulateEffect), }); }