public void Execute(ref ActorAttribute3 <T> attribute3) { #if ENABLE_UNITY_COLLECTIONS_CHECKS if (attribute3.regain < 0f) { throw new System.Exception("attribute3.regain < 0f"); } #endif //value attribute3.value += attribute3.regain * fixedDeltaTime; attribute3.value = math.clamp(attribute3.value, 0f, attribute3.max); }
public void Execute(Entity entity, int index, DynamicBuffer <KillersOnActorDeath> actorDeathByKillers, [ChangedFilter, ReadOnly] DynamicBuffer <ActorAttribute3Modifys <T> > attribute3Modifys, ref ActorAttribute3 <T> attribute3) { //value for (var i = 0; i < attribute3Modifys.Length; ++i) { var attribute3Modify = attribute3Modifys[i]; if (attribute3Modify.attribute3ModifyType == Attribute3SubModifyType.ValueOffset) { attribute3.value += attribute3Modify.value; // if (attribute3Modify.value < 0f) { actorDeathByKillers.Add(new KillersOnActorDeath { playerEntity = attribute3Modify.player, type = attribute3Modify.type }); } } #if ENABLE_UNITY_COLLECTIONS_CHECKS else { throw new System.Exception($"attribute3Modifys[i].attribute3ModifyType={attribute3Modifys[i].attribute3ModifyType}"); } #endif } if (attribute3.value > attribute3.max) { attribute3.value = attribute3.max; } //dead if (attribute3.value <= 0f) { endCommandBuffer.AddComponent(index, entity, OnDestroyMessage); } }
public void Execute(Entity entity, int index, [ChangedFilter, ReadOnly] DynamicBuffer <ActorAttribute3Modifys <T> > attribute3Modifys, ref ActorAttribute3 <T> attribute3) { for (var i = 0; i < attribute3Modifys.Length; ++i) { if (attribute3Modifys[i].attribute3ModifyType == Attribute3SubModifyType.ValueOffset) { attribute3.value += attribute3Modifys[i].value; } #if ENABLE_UNITY_COLLECTIONS_CHECKS else { throw new System.Exception($"attribute3Modifys[i].attribute3ModifyType={attribute3Modifys[i].attribute3ModifyType}"); } #endif } if (attribute3.value > attribute3.max) { attribute3.value = attribute3.max; } }
public void Execute(Entity entity, int index, DynamicBuffer <KillersOnActorDeath> actorDeathByKillers, [ChangedFilter, ReadOnly] DynamicBuffer <ActorAttribute3Modifys <T> > attribute3Modifys, ref ActorAttribute3Base <T> attribute3Base, ref ActorAttribute3 <T> attribute3) { //max attribute3.max = attribute3Base.max; for (var i = 0; i < attribute3Modifys.Length; ++i) { if (attribute3Modifys[i].attribute3ModifyType == Attribute3SubModifyType.MaxOffset) { attribute3.max += attribute3Modifys[i].value; } } //regain attribute3.regain = attribute3Base.regain; for (var i = 0; i < attribute3Modifys.Length; ++i) { if (attribute3Modifys[i].attribute3ModifyType == Attribute3SubModifyType.RegainOffset) { attribute3.regain += attribute3Modifys[i].value; } } if (attribute3.regain < 0f) { attribute3.regain = 0f; } //value for (var i = 0; i < attribute3Modifys.Length; ++i) { var attribute3Modify = attribute3Modifys[i]; if (attribute3Modify.attribute3ModifyType == Attribute3SubModifyType.ValueOffset) { attribute3.value += attribute3Modify.value; // if (attribute3Modify.value < 0f) { actorDeathByKillers.Add(new KillersOnActorDeath { playerEntity = attribute3Modify.player, type = attribute3Modify.type }); } } } if (attribute3.value > attribute3.max) { attribute3.value = attribute3.max; } //dead if (attribute3.value <= 0f) { endCommandBuffer.AddComponent(index, entity, OnDestroyMessage); } }
public void Execute(Entity entity, int index, [ChangedFilter, ReadOnly] DynamicBuffer <ActorAttribute3Modifys <T> > attribute3Modifys, [ReadOnly] ref ActorAttribute3Base <T> attribute3Base, ref ActorAttribute3 <T> attribute3) { //max attribute3.max = attribute3Base.max; for (var i = 0; i < attribute3Modifys.Length; ++i) { if (attribute3Modifys[i].attribute3ModifyType == Attribute3SubModifyType.MaxOffset) { attribute3.max += attribute3Modifys[i].value; } } //regain attribute3.regain = attribute3Base.regain; for (var i = 0; i < attribute3Modifys.Length; ++i) { if (attribute3Modifys[i].attribute3ModifyType == Attribute3SubModifyType.RegainOffset) { attribute3.regain += attribute3Modifys[i].value; } } if (attribute3.regain < 0f) { attribute3.regain = 0f; } //value for (var i = 0; i < attribute3Modifys.Length; ++i) { if (attribute3Modifys[i].attribute3ModifyType == Attribute3SubModifyType.ValueOffset) { attribute3.value += attribute3Modifys[i].value; } } if (attribute3.value > attribute3.max) { attribute3.value = attribute3.max; } }