void InitBuffer(){ string typeId = "attribute1_type"; string param1Id = "parameter1"; string param2Id = "parameter2"; int bufferType = GetBufferType(typeId); float param1 = GetBufferParameter1(param1Id) * 100; int param2 = GetBufferParameter2(param2Id); DBaseBuffer = BufferFactory.CreateOneBuffer(bufferType , interval , duration , param1 ,param2); }
bool HandleBufferEvent(DBaseBuffer gameBuffer){ BufferEvent bufferEvent = (BufferEvent)gameBuffer.id; switch(bufferEvent){ case BufferEvent.AddHpMax: case BufferEvent.AddAtackSpeed: case BufferEvent.AddAtackStrength: case BufferEvent.AddArmor: case BufferEvent.AddCritLv: case BufferEvent.AddToughnessLv: case BufferEvent.AddDodgeLv: case BufferEvent.DelWalkSpeed: case BufferEvent.AddWalkSpeed: case BufferEvent.SustainedAddHp: case BufferEvent.SustainedDelHp: case BufferEvent.DelDefense: case BufferEvent.DelHit: case BufferEvent.DelAtackStrength: case BufferEvent.AutoAddMp: HandleNormalAttrBuffer((AttrTimeBuffer)gameBuffer); return true; case BufferEvent.AddAttackByHp: HandleAddAtackByHpBuffer((AddAttackByHpBuffer)gameBuffer); return true; case BufferEvent.Silent: case BufferEvent.IngoreDefense: case BufferEvent.Shackles: case BufferEvent.ImmuneAllDamage: case BufferEvent.DamageDouble: case BufferEvent.Vertigo: case BufferEvent.AddManaPoint: case BufferEvent.Charm: case BufferEvent.ReflectDamage: case BufferEvent.AtackCombosOne: case BufferEvent.UpDamage: case BufferEvent.SkillDamageUp: case BufferEvent.AllDamageUp: case BufferEvent.DelSkillCd: case BufferEvent.CriticalCertain: case BufferEvent.CumulativeThreeAtk: case BufferEvent.ReflectDamageAddHp: HandleNormalStateBuffer((StateTimeBuffer)gameBuffer); return true; case BufferEvent.ShieldBoom: HandleShieldBoomBuffer((ShieldBoomBuffer)gameBuffer); return true; case BufferEvent.SkillNotUseMp: HandleSkillNotUseMpBuffer((SkillNotUseMpBuffer)gameBuffer); return true; default: Debug.LogError("[BufferController.HandleBufferEvent]: you may forget to handle with this buffer : " + bufferEvent.ToString()); break; } return false; }